diff --git a/go.mod b/go.mod index 2428cc21e96..55a0ac74ffa 100644 --- a/go.mod +++ b/go.mod @@ -96,14 +96,14 @@ require ( github.com/uber/jaeger-lib v2.0.0+incompatible // indirect github.com/ugorji/go v1.1.7 // indirect github.com/z-division/go-zookeeper v0.0.0-20190128072838-6d7457066b9b - golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 + golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 golang.org/x/lint v0.0.0-20190409202823-959b441ac422 - golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e + golang.org/x/net v0.0.0-20201021035429-f5854403a974 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 - golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e - golang.org/x/text v0.3.2 + golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 + golang.org/x/text v0.3.3 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 - golang.org/x/tools v0.0.0-20191219041853-979b82bfef62 + golang.org/x/tools v0.0.0-20201202200335-bef1c476418a google.golang.org/api v0.9.0 google.golang.org/genproto v0.0.0-20190926190326-7ee9db18f195 // indirect google.golang.org/grpc v1.24.0 diff --git a/go.sum b/go.sum index 02e7d15d91f..c907a93e5d9 100644 --- a/go.sum +++ b/go.sum @@ -646,6 +646,7 @@ github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/z-division/go-zookeeper v0.0.0-20190128072838-6d7457066b9b h1:Itr7GbuXoM1PK/eCeNNia4Qd3ib9IgX9g9SpXgo8BwQ= github.com/z-division/go-zookeeper v0.0.0-20190128072838-6d7457066b9b/go.mod h1:JNALoWa+nCXR8SmgLluHcBNVJgyejzpKPZk9pX2yXXE= go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= @@ -683,6 +684,7 @@ golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vK golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo= golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -697,6 +699,8 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -729,6 +733,7 @@ golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= @@ -740,6 +745,7 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -774,11 +780,13 @@ golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= @@ -806,12 +814,17 @@ golang.org/x/tools v0.0.0-20190624190245-7f2218787638/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191219041853-979b82bfef62 h1:vDaiisQl0rGVXqk3wT2yc43gSnwlj4haEG5J78IGZP4= golang.org/x/tools v0.0.0-20191219041853-979b82bfef62/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20201202200335-bef1c476418a h1:TYqOq/v+Ri5aADpldxXOj6PmvcPMOJbLjdALzZDQT2M= +golang.org/x/tools v0.0.0-20201202200335-bef1c476418a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index ae075ec5053..a423b7dc398 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -1676,7 +1676,7 @@ func (node *ShowColumns) Format(buf *TrackedBuffer) { func (node *ShowLegacy) Format(buf *TrackedBuffer) { nodeType := strings.ToLower(node.Type) if (nodeType == "tables" || nodeType == "columns" || nodeType == "fields" || nodeType == "index" || nodeType == "keys" || nodeType == "indexes" || - nodeType == "databases" || nodeType == "keyspaces" || nodeType == "vitess_keyspaces" || nodeType == "vitess_shards" || nodeType == "vitess_tablets") && node.ShowTablesOpt != nil { + nodeType == "databases" || nodeType == "schemas" || nodeType == "keyspaces" || nodeType == "vitess_keyspaces" || nodeType == "vitess_shards" || nodeType == "vitess_tablets") && node.ShowTablesOpt != nil { opt := node.ShowTablesOpt if node.Extended != "" { buf.astPrintf(node, "show %s%s", node.Extended, nodeType) diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 45277f9653d..5a8aa4af157 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1270,9 +1270,15 @@ var ( }, { input: "show databases", output: "show databases", + }, { + input: "show databases like '%'", + output: "show databases like '%'", }, { input: "show schemas", output: "show schemas", + }, { + input: "show schemas like '%'", + output: "show schemas like '%'", }, { input: "show engine INNODB", output: "show engine", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index e2e3b52d927..1d976802d73 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -363,144 +363,145 @@ const UNSIGNED = 57577 const ZEROFILL = 57578 const COLLATION = 57579 const DATABASES = 57580 -const TABLES = 57581 -const VITESS_METADATA = 57582 -const VSCHEMA = 57583 -const FULL = 57584 -const PROCESSLIST = 57585 -const COLUMNS = 57586 -const FIELDS = 57587 -const ENGINES = 57588 -const PLUGINS = 57589 -const EXTENDED = 57590 -const KEYSPACES = 57591 -const VITESS_KEYSPACES = 57592 -const VITESS_SHARDS = 57593 -const VITESS_TABLETS = 57594 -const NAMES = 57595 -const CHARSET = 57596 -const GLOBAL = 57597 -const SESSION = 57598 -const ISOLATION = 57599 -const LEVEL = 57600 -const READ = 57601 -const WRITE = 57602 -const ONLY = 57603 -const REPEATABLE = 57604 -const COMMITTED = 57605 -const UNCOMMITTED = 57606 -const SERIALIZABLE = 57607 -const CURRENT_TIMESTAMP = 57608 -const DATABASE = 57609 -const CURRENT_DATE = 57610 -const CURRENT_TIME = 57611 -const LOCALTIME = 57612 -const LOCALTIMESTAMP = 57613 -const UTC_DATE = 57614 -const UTC_TIME = 57615 -const UTC_TIMESTAMP = 57616 -const REPLACE = 57617 -const CONVERT = 57618 -const CAST = 57619 -const SUBSTR = 57620 -const SUBSTRING = 57621 -const GROUP_CONCAT = 57622 -const SEPARATOR = 57623 -const TIMESTAMPADD = 57624 -const TIMESTAMPDIFF = 57625 -const MATCH = 57626 -const AGAINST = 57627 -const BOOLEAN = 57628 -const LANGUAGE = 57629 -const WITH = 57630 -const QUERY = 57631 -const EXPANSION = 57632 -const UNUSED = 57633 -const ARRAY = 57634 -const CUME_DIST = 57635 -const DESCRIPTION = 57636 -const DENSE_RANK = 57637 -const EMPTY = 57638 -const EXCEPT = 57639 -const FIRST_VALUE = 57640 -const GROUPING = 57641 -const GROUPS = 57642 -const JSON_TABLE = 57643 -const LAG = 57644 -const LAST_VALUE = 57645 -const LATERAL = 57646 -const LEAD = 57647 -const MEMBER = 57648 -const NTH_VALUE = 57649 -const NTILE = 57650 -const OF = 57651 -const OVER = 57652 -const PERCENT_RANK = 57653 -const RANK = 57654 -const RECURSIVE = 57655 -const ROW_NUMBER = 57656 -const SYSTEM = 57657 -const WINDOW = 57658 -const ACTIVE = 57659 -const ADMIN = 57660 -const BUCKETS = 57661 -const CLONE = 57662 -const COMPONENT = 57663 -const DEFINITION = 57664 -const ENFORCED = 57665 -const EXCLUDE = 57666 -const FOLLOWING = 57667 -const GEOMCOLLECTION = 57668 -const GET_MASTER_PUBLIC_KEY = 57669 -const HISTOGRAM = 57670 -const HISTORY = 57671 -const INACTIVE = 57672 -const INVISIBLE = 57673 -const LOCKED = 57674 -const MASTER_COMPRESSION_ALGORITHMS = 57675 -const MASTER_PUBLIC_KEY_PATH = 57676 -const MASTER_TLS_CIPHERSUITES = 57677 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57678 -const NESTED = 57679 -const NETWORK_NAMESPACE = 57680 -const NOWAIT = 57681 -const NULLS = 57682 -const OJ = 57683 -const OLD = 57684 -const OPTIONAL = 57685 -const ORDINALITY = 57686 -const ORGANIZATION = 57687 -const OTHERS = 57688 -const PATH = 57689 -const PERSIST = 57690 -const PERSIST_ONLY = 57691 -const PRECEDING = 57692 -const PRIVILEGE_CHECKS_USER = 57693 -const PROCESS = 57694 -const RANDOM = 57695 -const REFERENCE = 57696 -const REQUIRE_ROW_FORMAT = 57697 -const RESOURCE = 57698 -const RESPECT = 57699 -const RESTART = 57700 -const RETAIN = 57701 -const REUSE = 57702 -const ROLE = 57703 -const SECONDARY = 57704 -const SECONDARY_ENGINE = 57705 -const SECONDARY_LOAD = 57706 -const SECONDARY_UNLOAD = 57707 -const SKIP = 57708 -const SRID = 57709 -const THREAD_PRIORITY = 57710 -const TIES = 57711 -const UNBOUNDED = 57712 -const VCPU = 57713 -const VISIBLE = 57714 -const FORMAT = 57715 -const TREE = 57716 -const VITESS = 57717 -const TRADITIONAL = 57718 +const SCHEMAS = 57581 +const TABLES = 57582 +const VITESS_METADATA = 57583 +const VSCHEMA = 57584 +const FULL = 57585 +const PROCESSLIST = 57586 +const COLUMNS = 57587 +const FIELDS = 57588 +const ENGINES = 57589 +const PLUGINS = 57590 +const EXTENDED = 57591 +const KEYSPACES = 57592 +const VITESS_KEYSPACES = 57593 +const VITESS_SHARDS = 57594 +const VITESS_TABLETS = 57595 +const NAMES = 57596 +const CHARSET = 57597 +const GLOBAL = 57598 +const SESSION = 57599 +const ISOLATION = 57600 +const LEVEL = 57601 +const READ = 57602 +const WRITE = 57603 +const ONLY = 57604 +const REPEATABLE = 57605 +const COMMITTED = 57606 +const UNCOMMITTED = 57607 +const SERIALIZABLE = 57608 +const CURRENT_TIMESTAMP = 57609 +const DATABASE = 57610 +const CURRENT_DATE = 57611 +const CURRENT_TIME = 57612 +const LOCALTIME = 57613 +const LOCALTIMESTAMP = 57614 +const UTC_DATE = 57615 +const UTC_TIME = 57616 +const UTC_TIMESTAMP = 57617 +const REPLACE = 57618 +const CONVERT = 57619 +const CAST = 57620 +const SUBSTR = 57621 +const SUBSTRING = 57622 +const GROUP_CONCAT = 57623 +const SEPARATOR = 57624 +const TIMESTAMPADD = 57625 +const TIMESTAMPDIFF = 57626 +const MATCH = 57627 +const AGAINST = 57628 +const BOOLEAN = 57629 +const LANGUAGE = 57630 +const WITH = 57631 +const QUERY = 57632 +const EXPANSION = 57633 +const UNUSED = 57634 +const ARRAY = 57635 +const CUME_DIST = 57636 +const DESCRIPTION = 57637 +const DENSE_RANK = 57638 +const EMPTY = 57639 +const EXCEPT = 57640 +const FIRST_VALUE = 57641 +const GROUPING = 57642 +const GROUPS = 57643 +const JSON_TABLE = 57644 +const LAG = 57645 +const LAST_VALUE = 57646 +const LATERAL = 57647 +const LEAD = 57648 +const MEMBER = 57649 +const NTH_VALUE = 57650 +const NTILE = 57651 +const OF = 57652 +const OVER = 57653 +const PERCENT_RANK = 57654 +const RANK = 57655 +const RECURSIVE = 57656 +const ROW_NUMBER = 57657 +const SYSTEM = 57658 +const WINDOW = 57659 +const ACTIVE = 57660 +const ADMIN = 57661 +const BUCKETS = 57662 +const CLONE = 57663 +const COMPONENT = 57664 +const DEFINITION = 57665 +const ENFORCED = 57666 +const EXCLUDE = 57667 +const FOLLOWING = 57668 +const GEOMCOLLECTION = 57669 +const GET_MASTER_PUBLIC_KEY = 57670 +const HISTOGRAM = 57671 +const HISTORY = 57672 +const INACTIVE = 57673 +const INVISIBLE = 57674 +const LOCKED = 57675 +const MASTER_COMPRESSION_ALGORITHMS = 57676 +const MASTER_PUBLIC_KEY_PATH = 57677 +const MASTER_TLS_CIPHERSUITES = 57678 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57679 +const NESTED = 57680 +const NETWORK_NAMESPACE = 57681 +const NOWAIT = 57682 +const NULLS = 57683 +const OJ = 57684 +const OLD = 57685 +const OPTIONAL = 57686 +const ORDINALITY = 57687 +const ORGANIZATION = 57688 +const OTHERS = 57689 +const PATH = 57690 +const PERSIST = 57691 +const PERSIST_ONLY = 57692 +const PRECEDING = 57693 +const PRIVILEGE_CHECKS_USER = 57694 +const PROCESS = 57695 +const RANDOM = 57696 +const REFERENCE = 57697 +const REQUIRE_ROW_FORMAT = 57698 +const RESOURCE = 57699 +const RESPECT = 57700 +const RESTART = 57701 +const RETAIN = 57702 +const REUSE = 57703 +const ROLE = 57704 +const SECONDARY = 57705 +const SECONDARY_ENGINE = 57706 +const SECONDARY_LOAD = 57707 +const SECONDARY_UNLOAD = 57708 +const SKIP = 57709 +const SRID = 57710 +const THREAD_PRIORITY = 57711 +const TIES = 57712 +const UNBOUNDED = 57713 +const VCPU = 57714 +const VISIBLE = 57715 +const FORMAT = 57716 +const TREE = 57717 +const VITESS = 57718 +const TRADITIONAL = 57719 var yyToknames = [...]string{ "$end", @@ -758,6 +759,7 @@ var yyToknames = [...]string{ "ZEROFILL", "COLLATION", "DATABASES", + "SCHEMAS", "TABLES", "VITESS_METADATA", "VSCHEMA", @@ -898,6 +900,7 @@ var yyToknames = [...]string{ "TRADITIONAL", "';'", } + var yyStatenames = [...]string{} const yyEofCode = 1 @@ -914,425 +917,430 @@ var yyExca = [...]int{ 227, 107, -2, 101, -1, 48, - 34, 343, - 155, 343, - 167, 343, - 195, 357, - 196, 357, - -2, 345, + 34, 344, + 155, 344, + 167, 344, + 195, 358, + 196, 358, + -2, 346, -1, 53, - 157, 367, - -2, 365, + 157, 368, + -2, 366, -1, 77, - 55, 403, - -2, 411, + 55, 404, + -2, 412, -1, 101, 136, 107, 227, 107, -2, 102, - -1, 437, - 143, 778, - -2, 774, -1, 438, 143, 779, -2, 775, - -1, 453, - 55, 404, - -2, 416, + -1, 439, + 143, 780, + -2, 776, -1, 454, 55, 405, -2, 417, - -1, 474, - 111, 1054, - -2, 78, + -1, 455, + 55, 406, + -2, 418, -1, 475, - 111, 958, + 111, 1056, + -2, 78, + -1, 476, + 111, 960, -2, 79, - -1, 480, - 111, 917, - -2, 739, - -1, 482, - 111, 996, - -2, 741, - -1, 631, + -1, 481, + 111, 919, + -2, 740, + -1, 483, + 111, 998, + -2, 742, + -1, 633, 136, 107, 227, 107, -2, 270, - -1, 1015, - 143, 781, - -2, 777, - -1, 1102, + -1, 1018, + 143, 782, + -2, 778, + -1, 1105, 73, 60, 81, 60, -2, 64, - -1, 1480, - 5, 655, - 18, 655, - 20, 655, - 32, 655, - 82, 655, - -2, 442, - -1, 1679, - 45, 710, - -2, 708, + -1, 1483, + 5, 656, + 18, 656, + 20, 656, + 32, 656, + 82, 656, + -2, 443, + -1, 1682, + 45, 711, + -2, 709, } const yyPrivate = 57344 -const yyLast = 19593 +const yyLast = 19695 var yyAct = [...]int{ - - 437, 1757, 1526, 1768, 1659, 1679, 1401, 1726, 1327, 381, - 1307, 1124, 396, 1625, 1608, 1308, 744, 1459, 76, 3, - 1588, 1175, 1456, 1096, 894, 664, 1120, 1169, 1381, 903, - 645, 1460, 791, 1382, 612, 784, 1123, 1466, 410, 1002, - 1472, 936, 609, 1358, 111, 479, 1421, 123, 1133, 348, - 123, 446, 1294, 1243, 829, 360, 1177, 123, 817, 1009, - 367, 822, 74, 1138, 606, 1374, 1075, 1098, 1082, 1035, - 455, 789, 29, 794, 440, 955, 812, 1058, 605, 372, - 613, 828, 811, 979, 1154, 360, 1093, 1193, 360, 123, - 360, 123, 1165, 1104, 819, 463, 826, 801, 72, 379, - 654, 102, 950, 383, 103, 121, 77, 757, 123, 123, - 476, 965, 71, 1676, 8, 363, 123, 1627, 637, 368, - 7, 123, 371, 6, 758, 1517, 1598, 1178, 1761, 1723, - 1755, 1704, 1748, 1527, 1722, 1703, 1438, 1556, 616, 79, - 80, 81, 82, 83, 84, 441, 1114, 611, 1180, 615, - 1491, 1492, 1490, 461, 465, 915, 677, 31, 373, 370, - 65, 35, 36, 1115, 1116, 369, 625, 626, 1366, 914, - 112, 113, 114, 830, 634, 831, 1148, 99, 107, 640, - 108, 473, 1591, 1670, 706, 705, 715, 716, 708, 709, - 710, 711, 712, 713, 714, 707, 1344, 1155, 717, 1343, - 670, 671, 1345, 622, 1403, 624, 621, 1706, 1547, 1545, - 31, 32, 33, 65, 35, 36, 358, 91, 356, 1179, - 1422, 676, 112, 113, 114, 964, 99, 116, 117, 118, - 69, 64, 362, 913, 925, 37, 59, 60, 675, 62, - 667, 651, 672, 653, 632, 63, 673, 670, 671, 1406, - 1223, 422, 1012, 428, 429, 426, 427, 425, 424, 423, - 1405, 1424, 924, 1404, 966, 967, 968, 430, 431, 922, - 99, 92, 1747, 90, 49, 650, 652, 95, 926, 1736, - 96, 97, 109, 1660, 64, 1076, 910, 907, 908, 1215, - 906, 665, 666, 112, 113, 114, 623, 1689, 923, 1173, - 1774, 1426, 1173, 1430, 1497, 1425, 608, 1423, 98, 1173, - 1772, 636, 1428, 1651, 1328, 1330, 618, 660, 897, 467, - 1212, 1427, 1407, 917, 920, 930, 1214, 680, 1483, 123, - 643, 1142, 1482, 649, 1429, 1431, 1481, 1142, 619, 328, - 360, 115, 1222, 1262, 1683, 1221, 729, 730, 1259, 360, - 40, 42, 45, 44, 47, 1572, 61, 98, 1489, 1181, - 1299, 1272, 1516, 360, 360, 1251, 912, 1671, 1110, 1702, - 805, 648, 742, 641, 112, 113, 114, 1121, 678, 48, - 68, 67, 717, 686, 57, 58, 46, 642, 911, 1054, - 1707, 112, 113, 114, 707, 1340, 956, 717, 647, 951, - 655, 98, 1329, 50, 51, 697, 52, 53, 54, 55, - 635, 706, 705, 715, 716, 708, 709, 710, 711, 712, - 713, 714, 707, 87, 1662, 717, 986, 904, 1508, 1470, - 691, 692, 916, 832, 690, 656, 657, 1155, 659, 630, - 984, 985, 983, 66, 1652, 1650, 1036, 918, 1770, 694, - 661, 1771, 1213, 1769, 1211, 1203, 1440, 1141, 899, 1145, - 668, 782, 88, 1141, 360, 697, 1146, 123, 1244, 123, - 123, 698, 360, 781, 1364, 729, 730, 1692, 360, 689, - 729, 730, 727, 798, 745, 687, 1597, 101, 688, 1596, - 710, 711, 712, 713, 714, 707, 66, 476, 717, 1522, - 780, 1059, 1060, 1040, 646, 957, 1378, 373, 952, 1199, - 1200, 1201, 1257, 627, 1752, 628, 755, 617, 629, 450, - 1256, 696, 694, 1377, 1184, 809, 795, 1775, 821, 638, - 639, 760, 762, 764, 766, 768, 770, 771, 697, 695, - 696, 694, 1056, 787, 790, 1036, 64, 1269, 761, 763, - 783, 767, 769, 450, 772, 810, 1751, 697, 982, 706, - 705, 715, 716, 708, 709, 710, 711, 712, 713, 714, - 707, 662, 1749, 717, 1446, 1741, 695, 696, 694, 1258, - 449, 1202, 1743, 695, 696, 694, 1207, 1204, 1195, 1205, - 1198, 1442, 1194, 1776, 697, 1734, 1196, 1197, 631, 1750, - 1717, 697, 1742, 1621, 1055, 123, 974, 976, 977, 890, - 1206, 1594, 620, 975, 1560, 1523, 360, 1448, 123, 1388, - 900, 901, 1447, 695, 696, 694, 919, 360, 1379, 411, - 30, 123, 1236, 1237, 1238, 1375, 123, 949, 941, 123, - 935, 697, 123, 827, 360, 1657, 695, 696, 694, 360, - 360, 360, 123, 360, 360, 1656, 695, 696, 694, 1390, - 30, 1648, 1753, 840, 697, 73, 360, 360, 695, 696, - 694, 112, 113, 114, 697, 940, 898, 1143, 708, 709, - 710, 711, 712, 713, 714, 707, 697, 938, 717, 927, - 1334, 112, 113, 114, 821, 1004, 466, 934, 1105, 112, - 113, 114, 442, 1395, 75, 793, 1384, 1559, 1648, 1700, - 946, 399, 398, 401, 402, 403, 404, 1469, 1003, 1567, - 400, 405, 112, 113, 114, 693, 1347, 1005, 471, 1661, - 931, 1696, 450, 622, 1648, 450, 621, 1648, 1684, 980, - 1512, 360, 450, 942, 1079, 959, 1648, 1647, 706, 705, - 715, 716, 708, 709, 710, 711, 712, 713, 714, 707, - 1024, 1027, 717, 112, 113, 114, 1037, 1191, 1013, 1067, - 960, 958, 893, 1587, 360, 360, 961, 1106, 1019, 468, - 469, 1574, 450, 1068, 1014, 1570, 450, 31, 1015, 969, - 970, 971, 972, 360, 1514, 1513, 1510, 1511, 1510, 1509, - 123, 745, 1295, 360, 981, 1067, 450, 123, 1599, 123, - 1079, 450, 1302, 693, 450, 893, 892, 123, 123, 123, - 839, 838, 31, 1457, 1106, 360, 1348, 1295, 360, 1006, - 1007, 1013, 1469, 1049, 1303, 1094, 1045, 1046, 1107, 360, - 360, 1113, 1016, 1061, 1022, 1023, 1109, 1073, 1275, 1078, - 476, 1015, 1067, 476, 1274, 1600, 1601, 1602, 1070, 1402, - 1067, 64, 443, 1105, 1125, 1074, 1069, 1077, 1057, 1632, - 1079, 1149, 929, 1150, 1151, 1152, 1153, 1102, 824, 64, - 31, 1735, 1140, 1610, 1579, 1107, 895, 1170, 1501, 1161, - 1162, 1163, 1164, 1105, 360, 1469, 64, 1611, 123, 1079, - 1071, 891, 1352, 1166, 1190, 1160, 1159, 1112, 89, 1473, - 1474, 1383, 1188, 1103, 1108, 1763, 1603, 1171, 1128, 1758, - 679, 1111, 1503, 123, 123, 123, 123, 123, 1119, 1476, - 123, 123, 1189, 1172, 123, 360, 64, 1457, 1156, 1157, - 1158, 715, 716, 708, 709, 710, 711, 712, 713, 714, - 707, 123, 1392, 717, 64, 1384, 1185, 123, 123, 123, - 1604, 1605, 962, 123, 360, 933, 1192, 1479, 1319, 663, - 1317, 1478, 1183, 1320, 1182, 1318, 1316, 1315, 663, 1167, - 1168, 1216, 1217, 1218, 1219, 1220, 1229, 1174, 1224, 1225, - 1233, 1738, 1226, 1721, 30, 1208, 1449, 1284, 792, 1020, - 1021, 1719, 1571, 1026, 1029, 1030, 1293, 726, 728, 1228, - 1292, 1712, 1084, 1087, 1088, 1089, 1085, 1232, 1086, 1090, - 1709, 1234, 980, 1084, 1087, 1088, 1089, 1085, 1044, 1086, - 1090, 1047, 1048, 1473, 1474, 1740, 456, 1321, 741, 1088, - 1089, 1725, 746, 747, 748, 749, 750, 751, 752, 753, - 457, 756, 759, 759, 759, 765, 759, 759, 765, 759, - 773, 774, 775, 776, 777, 778, 779, 1239, 1727, 123, - 1282, 1253, 30, 796, 797, 459, 1733, 458, 1283, 456, - 123, 123, 123, 123, 123, 1281, 1732, 981, 1309, 441, - 1680, 1252, 123, 457, 1304, 1678, 123, 1288, 816, 94, - 123, 928, 439, 1389, 1268, 123, 123, 1032, 1383, 123, - 123, 123, 1370, 785, 1326, 902, 453, 454, 459, 837, - 458, 1033, 1346, 438, 360, 786, 644, 1300, 1363, 1287, - 105, 1694, 1270, 1353, 1693, 1349, 1630, 1361, 1359, 1359, - 1298, 1296, 106, 1354, 1565, 119, 1525, 1059, 1060, 1125, - 1052, 1285, 1286, 790, 1186, 1297, 938, 1311, 1312, 1322, - 1314, 932, 1310, 1092, 1336, 1313, 447, 1332, 1341, 1333, - 124, 1338, 1745, 124, 444, 445, 1744, 1730, 361, 1386, - 124, 1369, 1360, 1371, 1372, 1373, 360, 896, 1291, 360, - 1394, 1335, 1713, 1351, 1564, 1337, 1290, 448, 921, 1355, - 1356, 1357, 75, 1563, 1452, 1295, 674, 1263, 361, 1387, - 123, 361, 124, 361, 124, 939, 360, 1765, 1764, 1765, - 943, 944, 945, 1260, 947, 948, 1376, 360, 806, 799, - 1681, 124, 124, 1385, 1592, 1367, 1368, 953, 954, 124, - 1053, 443, 73, 78, 124, 663, 70, 1017, 1018, 1, - 347, 1756, 360, 110, 1396, 1528, 663, 1607, 1003, 909, - 1658, 1380, 1176, 1248, 1249, 1131, 1122, 86, 1398, 1397, - 603, 1399, 85, 663, 658, 1130, 1129, 1418, 663, 663, - 663, 1649, 663, 663, 1266, 1419, 1050, 1365, 1147, 1420, - 123, 1590, 1502, 1362, 1411, 663, 663, 1432, 1443, 1439, - 360, 1691, 845, 843, 1409, 1433, 360, 360, 1410, 844, - 1417, 842, 1309, 1458, 1014, 847, 846, 841, 1015, 340, - 963, 357, 1091, 833, 800, 1418, 1210, 1209, 905, 1515, - 1144, 337, 360, 669, 342, 123, 725, 1289, 1342, 477, - 470, 1463, 1461, 1187, 93, 1731, 1710, 1708, 1450, 360, - 1677, 360, 1455, 360, 1477, 1626, 1359, 1359, 1359, 1711, - 1468, 1675, 1494, 1739, 1724, 1441, 1051, 788, 1562, 1484, - 1451, 1507, 1267, 754, 1125, 1034, 1125, 815, 382, 973, - 397, 1558, 394, 395, 1062, 1493, 1485, 1495, 1487, 1301, - 1488, 1453, 699, 123, 1505, 1506, 1140, 380, 374, 1498, - 1499, 1500, 1496, 1529, 360, 360, 360, 814, 123, 807, - 1083, 1519, 1081, 1520, 1521, 1518, 1080, 820, 1475, 1471, - 813, 1486, 706, 705, 715, 716, 708, 709, 710, 711, - 712, 713, 714, 707, 1066, 452, 717, 1031, 1669, 1555, - 1534, 1535, 451, 56, 34, 364, 1095, 1540, 1541, 682, - 1542, 1524, 124, 1544, 1543, 1546, 460, 28, 23, 22, - 21, 20, 19, 361, 25, 18, 1533, 17, 16, 104, - 100, 1538, 361, 43, 41, 39, 633, 38, 27, 1309, - 26, 1566, 15, 14, 13, 1576, 361, 361, 12, 11, - 10, 9, 5, 4, 360, 685, 24, 743, 2, 0, - 0, 1575, 360, 0, 0, 1349, 1227, 0, 0, 1246, - 0, 0, 0, 1247, 0, 0, 0, 0, 1585, 1125, - 0, 0, 0, 0, 1254, 1255, 0, 0, 360, 0, - 1261, 0, 1561, 1264, 1265, 0, 0, 0, 1557, 1586, - 0, 1271, 1614, 0, 0, 1273, 0, 0, 1276, 1277, - 1278, 1279, 1280, 1609, 0, 0, 0, 0, 373, 0, - 0, 0, 0, 0, 663, 0, 1577, 0, 0, 1578, - 0, 360, 1580, 360, 1612, 360, 0, 0, 0, 0, - 360, 1629, 360, 360, 360, 123, 0, 361, 1633, 1635, - 124, 0, 124, 124, 1593, 361, 1595, 1324, 1325, 1631, - 1639, 361, 1640, 1642, 1643, 1653, 1461, 1620, 1644, 1646, - 1461, 360, 123, 0, 0, 0, 0, 0, 0, 0, - 1654, 0, 1655, 0, 0, 0, 1613, 1638, 0, 0, - 0, 1663, 0, 0, 0, 0, 0, 1645, 0, 0, - 0, 0, 0, 1250, 0, 1624, 442, 0, 0, 360, - 1682, 0, 0, 1688, 0, 0, 0, 0, 0, 1628, - 373, 360, 360, 360, 0, 0, 0, 0, 0, 0, - 1664, 1461, 0, 0, 1699, 0, 1698, 0, 408, 0, - 0, 0, 0, 0, 360, 0, 0, 1609, 1125, 1705, - 123, 1309, 1714, 0, 0, 0, 0, 0, 816, 0, - 0, 1718, 0, 0, 0, 1305, 1306, 1720, 0, 816, - 816, 816, 816, 816, 1729, 1728, 1553, 0, 0, 0, - 0, 0, 0, 1737, 0, 1095, 0, 1331, 124, 112, - 113, 114, 0, 359, 816, 0, 360, 0, 816, 361, - 0, 124, 0, 0, 0, 0, 0, 0, 1716, 0, - 361, 0, 1415, 1416, 124, 0, 1746, 1391, 1762, 124, - 0, 0, 124, 478, 0, 124, 607, 361, 614, 1773, - 0, 0, 361, 361, 361, 124, 361, 361, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 0, 0, 361, - 361, 0, 332, 0, 0, 0, 0, 0, 1408, 0, - 341, 0, 0, 0, 0, 0, 0, 0, 0, 1464, - 0, 0, 0, 0, 0, 663, 0, 0, 706, 705, - 715, 716, 708, 709, 710, 711, 712, 713, 714, 707, - 1480, 0, 717, 0, 339, 0, 0, 0, 0, 0, - 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, - 376, 0, 0, 0, 0, 0, 663, 0, 701, 0, - 704, 0, 0, 0, 361, 0, 718, 719, 720, 721, - 722, 723, 724, 330, 702, 703, 700, 706, 705, 715, - 716, 708, 709, 710, 711, 712, 713, 714, 707, 1552, - 0, 717, 0, 0, 0, 0, 0, 361, 361, 0, - 343, 333, 0, 344, 345, 352, 0, 0, 0, 336, - 338, 349, 334, 335, 354, 353, 361, 331, 351, 350, - 0, 1537, 0, 124, 0, 1539, 361, 1551, 0, 0, - 124, 0, 124, 1462, 0, 30, 1548, 1549, 0, 0, - 124, 124, 124, 0, 0, 0, 0, 0, 361, 0, - 0, 361, 0, 1412, 0, 0, 0, 0, 0, 0, - 0, 0, 361, 361, 816, 0, 1568, 1569, 0, 0, - 1573, 0, 0, 706, 705, 715, 716, 708, 709, 710, - 711, 712, 713, 714, 707, 0, 1550, 717, 1584, 0, - 0, 706, 705, 715, 716, 708, 709, 710, 711, 712, - 713, 714, 707, 0, 0, 717, 705, 715, 716, 708, - 709, 710, 711, 712, 713, 714, 707, 361, 478, 717, - 0, 124, 0, 0, 0, 0, 0, 478, 0, 706, - 705, 715, 716, 708, 709, 710, 711, 712, 713, 714, - 707, 681, 683, 717, 0, 0, 124, 124, 124, 124, - 124, 0, 0, 124, 124, 0, 0, 124, 361, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1554, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 124, 124, 124, 0, 0, 1641, 124, 361, 706, 705, - 715, 716, 708, 709, 710, 711, 712, 713, 714, 707, - 0, 0, 717, 0, 0, 0, 0, 0, 0, 1245, - 0, 1581, 1582, 1583, 0, 0, 0, 0, 0, 1665, - 1666, 1667, 1668, 0, 1672, 0, 1673, 1674, 0, 706, - 705, 715, 716, 708, 709, 710, 711, 712, 713, 714, - 707, 0, 803, 717, 1685, 0, 1686, 1687, 0, 0, - 478, 0, 0, 0, 0, 1606, 834, 0, 0, 0, - 0, 0, 1695, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1701, 706, 705, 715, 716, 708, 709, - 710, 711, 712, 713, 714, 707, 0, 0, 717, 0, - 0, 0, 124, 0, 0, 0, 0, 1462, 0, 30, - 0, 1462, 0, 124, 124, 124, 124, 124, 0, 0, - 0, 0, 0, 0, 0, 124, 0, 0, 0, 124, - 0, 0, 0, 124, 0, 0, 0, 0, 124, 124, - 0, 0, 124, 124, 124, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 0, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1462, 1766, 1767, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 478, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 478, 0, 0, 0, 361, - 0, 0, 361, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 478, 0, 0, 0, 0, 478, 478, 478, - 0, 478, 478, 124, 0, 0, 0, 0, 0, 361, - 0, 0, 0, 0, 478, 478, 0, 0, 0, 0, - 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 361, 0, 1754, 0, 0, - 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 1008, - 0, 478, 0, 361, 0, 0, 0, 0, 0, 361, - 361, 0, 0, 122, 0, 1038, 355, 0, 0, 0, - 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, - 0, 0, 1042, 1043, 0, 361, 0, 0, 124, 0, - 0, 0, 0, 0, 0, 0, 464, 464, 862, 0, - 0, 1063, 361, 0, 361, 122, 361, 122, 0, 0, - 0, 803, 0, 0, 478, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 122, 0, 0, 0, 0, - 0, 0, 122, 478, 0, 0, 478, 122, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 478, 607, 0, - 0, 0, 0, 0, 0, 0, 0, 361, 361, 361, - 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 978, 0, 0, 987, 988, 989, 990, 991, 992, 993, - 994, 995, 996, 997, 998, 999, 1000, 1001, 0, 0, - 0, 0, 614, 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, 0, 0, 0, 0, 0, 0, 0, - 1041, 0, 0, 478, 0, 863, 0, 361, 0, 0, - 0, 0, 0, 0, 0, 361, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1235, 0, 876, 879, 880, 881, 882, 883, - 884, 361, 885, 886, 887, 888, 889, 864, 865, 866, - 867, 848, 849, 877, 0, 851, 0, 852, 853, 854, - 855, 856, 857, 858, 859, 860, 861, 868, 869, 870, - 871, 872, 873, 874, 875, 0, 0, 0, 0, 0, + 438, 1529, 1771, 1760, 1729, 1682, 1404, 1628, 1662, 382, + 1310, 1127, 1591, 1611, 1330, 1178, 397, 1099, 1463, 411, + 1385, 1459, 794, 1123, 787, 1462, 1311, 1172, 1384, 1297, + 1361, 76, 3, 747, 1126, 480, 1136, 906, 1469, 1096, + 1475, 647, 614, 939, 111, 611, 1424, 123, 368, 349, + 123, 447, 74, 1012, 820, 361, 1005, 123, 1246, 1180, + 1377, 1141, 608, 958, 825, 1085, 797, 1078, 792, 832, + 456, 1101, 441, 815, 982, 384, 665, 1038, 814, 1196, + 1061, 29, 1168, 831, 1107, 361, 804, 829, 361, 123, + 361, 123, 615, 72, 656, 822, 373, 607, 953, 968, + 102, 121, 71, 103, 380, 760, 1679, 369, 123, 123, + 372, 364, 761, 1630, 8, 77, 123, 7, 639, 6, + 1520, 123, 1601, 1764, 1726, 1758, 1707, 1751, 918, 1530, + 1725, 1015, 1441, 1706, 1181, 1559, 31, 667, 618, 65, + 35, 36, 917, 613, 1493, 617, 462, 466, 79, 80, + 81, 82, 83, 84, 442, 1183, 99, 116, 117, 118, + 371, 1347, 627, 628, 1346, 1117, 1157, 1348, 1494, 1495, + 636, 370, 474, 1118, 1119, 642, 680, 1673, 709, 708, + 718, 719, 711, 712, 713, 714, 715, 716, 717, 710, + 1369, 833, 720, 834, 1151, 112, 113, 114, 673, 674, + 99, 107, 624, 108, 1594, 623, 916, 626, 1709, 1158, + 64, 31, 32, 33, 65, 35, 36, 1406, 1550, 675, + 1548, 359, 477, 676, 673, 674, 1182, 91, 967, 363, + 1425, 69, 112, 113, 114, 357, 37, 59, 60, 678, + 62, 670, 679, 668, 669, 928, 63, 634, 112, 113, + 114, 1409, 1226, 969, 970, 971, 927, 1408, 925, 913, + 910, 911, 423, 909, 429, 430, 427, 428, 426, 425, + 424, 1427, 1750, 1739, 1663, 49, 1407, 1692, 431, 432, + 99, 92, 1079, 90, 1218, 64, 1777, 95, 98, 929, + 96, 97, 926, 1654, 1775, 1176, 920, 923, 625, 1176, + 897, 1331, 1333, 653, 1500, 655, 109, 663, 1176, 638, + 1215, 1429, 610, 1433, 620, 1428, 1217, 1426, 468, 1206, + 1410, 933, 1431, 1145, 683, 900, 1486, 1485, 1484, 123, + 645, 1430, 98, 651, 621, 328, 1145, 652, 654, 915, + 115, 361, 1686, 1225, 1432, 1434, 1224, 732, 733, 1265, + 361, 40, 42, 45, 44, 47, 1575, 61, 1519, 1262, + 1492, 914, 1674, 1302, 361, 361, 1275, 1184, 1705, 1254, + 1113, 808, 745, 1202, 1203, 1204, 643, 112, 113, 114, + 48, 68, 67, 644, 1124, 57, 58, 46, 720, 1332, + 681, 1710, 1158, 112, 113, 114, 1343, 689, 710, 959, + 1057, 720, 87, 657, 50, 51, 919, 52, 53, 54, + 55, 697, 98, 649, 632, 112, 113, 114, 700, 694, + 695, 921, 1665, 66, 1655, 1653, 682, 700, 662, 658, + 659, 660, 1773, 954, 650, 1774, 907, 1772, 1473, 835, + 664, 88, 1216, 1443, 1214, 1205, 693, 1511, 1039, 1144, + 1210, 1207, 1198, 1208, 1201, 730, 1197, 671, 902, 1148, + 1199, 1200, 1144, 637, 784, 361, 1149, 1367, 123, 329, + 123, 123, 1695, 361, 1209, 785, 801, 1600, 332, 361, + 692, 732, 733, 690, 64, 691, 342, 989, 629, 783, + 630, 732, 733, 631, 748, 1039, 985, 1272, 66, 1752, + 1261, 987, 988, 986, 451, 698, 699, 697, 960, 813, + 101, 711, 712, 713, 714, 715, 716, 717, 710, 648, + 340, 720, 812, 700, 1599, 824, 1753, 798, 1755, 347, + 763, 765, 767, 769, 771, 773, 774, 764, 766, 1525, + 770, 772, 955, 775, 709, 708, 718, 719, 711, 712, + 713, 714, 715, 716, 717, 710, 1381, 1744, 720, 330, + 786, 1380, 709, 708, 718, 719, 711, 712, 713, 714, + 715, 716, 717, 710, 1778, 1187, 720, 698, 699, 697, + 619, 1754, 640, 641, 1745, 796, 344, 333, 334, 1449, + 345, 346, 353, 1746, 1382, 700, 337, 339, 350, 335, + 336, 355, 354, 1737, 331, 352, 351, 123, 1062, 1063, + 477, 893, 698, 699, 697, 1059, 1720, 1624, 361, 1247, + 123, 633, 903, 904, 1597, 451, 699, 697, 922, 361, + 700, 1260, 1563, 123, 1239, 1240, 1241, 1450, 123, 1259, + 1779, 123, 938, 700, 123, 64, 361, 112, 113, 114, + 1526, 361, 361, 361, 123, 361, 361, 1451, 698, 699, + 697, 843, 1391, 713, 714, 715, 716, 717, 710, 361, + 361, 720, 1378, 952, 901, 622, 700, 1058, 944, 941, + 830, 1651, 1756, 698, 699, 697, 1660, 930, 943, 112, + 113, 114, 824, 1007, 899, 937, 698, 699, 697, 1651, + 1703, 700, 698, 699, 697, 924, 1562, 1109, 949, 1659, + 1445, 977, 979, 980, 700, 112, 113, 114, 978, 1398, + 700, 1006, 942, 983, 467, 1699, 451, 946, 947, 948, + 1008, 950, 951, 934, 624, 1393, 962, 623, 112, 113, + 114, 1298, 1350, 1146, 361, 956, 957, 709, 708, 718, + 719, 711, 712, 713, 714, 715, 716, 717, 710, 1651, + 451, 720, 73, 1027, 1030, 472, 1651, 1687, 1110, 1040, + 961, 1022, 1472, 964, 1651, 1650, 1112, 361, 361, 984, + 1109, 1018, 400, 399, 402, 403, 404, 405, 1570, 1017, + 696, 401, 406, 112, 113, 114, 361, 1194, 896, 1590, + 1577, 451, 1460, 123, 1573, 451, 361, 469, 470, 1082, + 123, 1472, 123, 748, 75, 439, 1517, 1516, 1513, 1514, + 123, 123, 123, 1513, 1512, 1070, 451, 1337, 361, 1082, + 451, 361, 1664, 1048, 1049, 1108, 1052, 1009, 1010, 451, + 1019, 1110, 361, 361, 1018, 1515, 1064, 31, 31, 1108, + 1298, 1097, 1076, 696, 451, 896, 895, 1073, 842, 841, + 1082, 1081, 124, 1071, 1077, 124, 1080, 1351, 1116, 1072, + 362, 1278, 124, 1305, 1277, 1070, 1105, 1108, 1060, 1070, + 932, 1023, 1024, 1016, 444, 1029, 1032, 1033, 1143, 827, + 31, 1738, 1074, 1613, 1635, 1306, 1582, 361, 898, 1173, + 362, 123, 1602, 362, 124, 362, 124, 1193, 1111, 1504, + 1047, 1082, 1115, 1050, 1051, 1114, 894, 1106, 1472, 1355, + 1174, 64, 64, 124, 124, 1169, 123, 123, 123, 123, + 123, 124, 1070, 123, 123, 1163, 124, 123, 361, 1175, + 1131, 1162, 89, 1192, 1387, 1766, 1016, 1476, 1477, 1603, + 1604, 1605, 1405, 1386, 123, 1188, 1614, 1195, 64, 1191, + 123, 123, 123, 1761, 64, 477, 123, 361, 477, 1506, + 1479, 1460, 1170, 1171, 1395, 965, 936, 1482, 1186, 1128, + 1219, 1220, 1221, 1222, 1223, 1481, 1319, 1227, 1228, 1185, + 1211, 1229, 1087, 1090, 1091, 1092, 1088, 1387, 1089, 1093, + 1232, 1318, 1476, 1477, 1236, 1322, 983, 1320, 1231, 1606, + 1323, 1287, 1321, 1741, 1230, 1324, 1235, 1091, 1092, 704, + 1237, 707, 1724, 1159, 1160, 1161, 1452, 721, 722, 723, + 724, 725, 726, 727, 1722, 705, 706, 703, 709, 708, + 718, 719, 711, 712, 713, 714, 715, 716, 717, 710, + 795, 1574, 720, 1607, 1608, 1296, 1295, 1715, 1712, 457, + 1743, 1242, 984, 1087, 1090, 1091, 1092, 1088, 1728, 1089, + 1093, 1730, 123, 458, 1256, 1736, 94, 1284, 1735, 457, + 1285, 1683, 1681, 123, 123, 123, 123, 123, 1286, 1291, + 931, 1312, 1255, 458, 440, 123, 799, 800, 460, 123, + 459, 442, 1392, 123, 1386, 1373, 905, 1303, 123, 123, + 1307, 1300, 123, 123, 123, 1271, 454, 455, 460, 106, + 459, 1035, 119, 840, 646, 1349, 1366, 361, 788, 1290, + 1329, 105, 1697, 1696, 1633, 1036, 1356, 1299, 1352, 1364, + 789, 1362, 1362, 1301, 124, 1251, 1252, 1338, 1357, 941, + 1152, 1340, 1153, 1154, 1155, 1156, 362, 1314, 1315, 1325, + 1317, 1313, 1568, 1339, 1316, 362, 1269, 1528, 1164, 1165, + 1166, 1167, 1363, 1336, 1335, 1062, 1063, 1341, 1055, 362, + 362, 1372, 1389, 1374, 1375, 1376, 1344, 1189, 935, 361, + 1095, 1294, 361, 1397, 1354, 445, 446, 75, 448, 1293, + 1358, 1359, 1360, 718, 719, 711, 712, 713, 714, 715, + 716, 717, 710, 123, 1748, 720, 1747, 1733, 1716, 361, + 1390, 1567, 449, 1566, 1379, 1455, 1298, 677, 1768, 1767, + 361, 1266, 1263, 809, 802, 1768, 1684, 1043, 1595, 1388, + 1056, 444, 73, 78, 70, 1399, 1, 348, 1759, 110, + 1531, 1610, 912, 1661, 1383, 361, 1179, 1134, 1125, 86, + 1400, 1006, 1402, 605, 1128, 1394, 85, 1401, 661, 1133, + 1132, 1652, 1368, 1150, 1593, 1505, 1365, 1694, 1422, 848, + 362, 1423, 846, 124, 847, 124, 124, 845, 362, 850, + 849, 844, 1442, 123, 362, 1412, 341, 966, 358, 1413, + 1094, 836, 1414, 361, 803, 1213, 1411, 1420, 1436, 361, + 361, 1018, 1212, 908, 450, 1312, 1461, 1435, 1518, 1017, + 1370, 1371, 1147, 338, 672, 343, 1464, 728, 1292, 1345, + 478, 471, 1466, 1190, 93, 361, 1734, 1713, 123, 1711, + 1471, 1680, 409, 1629, 1714, 1678, 1742, 1453, 1727, 1054, + 791, 1565, 361, 1454, 361, 1458, 361, 1480, 1270, 1362, + 1362, 1362, 757, 1037, 818, 1497, 1488, 383, 1490, 976, + 1491, 398, 395, 1487, 1510, 396, 1065, 1489, 1304, 702, + 381, 375, 817, 810, 1086, 1084, 1496, 1083, 823, 1501, + 1502, 1503, 1421, 1499, 1508, 1509, 123, 360, 1498, 1478, + 1474, 816, 1143, 1069, 453, 1521, 1532, 361, 361, 361, + 1034, 123, 1672, 1446, 1522, 1558, 452, 56, 34, 365, + 412, 30, 124, 685, 1523, 1524, 461, 479, 28, 23, + 609, 22, 616, 362, 21, 124, 20, 19, 25, 18, + 1421, 17, 16, 104, 362, 100, 43, 41, 124, 39, + 1527, 30, 635, 124, 1537, 1538, 124, 1546, 38, 124, + 27, 362, 26, 15, 14, 1536, 362, 362, 362, 124, + 362, 362, 13, 12, 1541, 11, 10, 9, 5, 4, + 688, 24, 1312, 1569, 362, 362, 746, 2, 0, 1128, + 0, 1128, 1561, 443, 1578, 0, 0, 361, 0, 1579, + 0, 0, 0, 0, 0, 361, 0, 0, 1352, 0, + 0, 1588, 0, 0, 0, 0, 0, 0, 0, 1589, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 361, 0, 709, 708, 718, 719, 711, 712, 713, + 714, 715, 716, 717, 710, 1617, 0, 720, 708, 718, + 719, 711, 712, 713, 714, 715, 716, 717, 710, 362, + 0, 720, 0, 0, 0, 0, 1615, 0, 0, 0, 0, 0, 0, 0, 361, 0, 361, 0, 361, 0, - 0, 0, 0, 361, 0, 361, 361, 361, 124, 0, - 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 361, 124, 0, 0, 0, 0, - 878, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 361, 361, 361, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 478, 0, 0, 0, 0, 361, 0, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1240, 1241, 1242, 0, 464, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 0, 122, 823, 0, 0, 361, - 0, 0, 0, 0, 478, 0, 0, 1393, 0, 0, + 0, 0, 0, 361, 0, 361, 361, 361, 123, 1634, + 1464, 0, 362, 362, 1464, 1642, 0, 1643, 1645, 1646, + 1638, 1632, 0, 0, 1636, 1647, 1649, 0, 0, 0, + 1623, 362, 1656, 0, 361, 123, 0, 1564, 124, 0, + 1657, 362, 1658, 0, 0, 124, 1666, 124, 0, 0, + 1641, 0, 0, 0, 1128, 124, 124, 124, 0, 0, + 1648, 0, 0, 362, 0, 0, 362, 0, 0, 0, + 0, 0, 361, 0, 0, 1464, 0, 362, 362, 0, + 0, 1685, 1691, 0, 361, 361, 361, 0, 1612, 1667, + 0, 0, 0, 0, 0, 0, 0, 1702, 1701, 1596, + 0, 1598, 0, 479, 0, 1556, 1708, 361, 0, 0, + 0, 0, 479, 123, 1312, 1717, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 684, 686, 1721, 0, + 1723, 1616, 362, 0, 0, 1731, 124, 1732, 0, 0, + 0, 0, 0, 0, 0, 1740, 1543, 1544, 0, 1545, + 1627, 0, 1547, 0, 1549, 0, 0, 0, 0, 361, + 0, 124, 124, 124, 124, 124, 0, 1719, 124, 124, + 0, 1749, 124, 362, 0, 0, 0, 0, 0, 0, + 0, 666, 0, 1765, 464, 1555, 0, 0, 0, 124, + 666, 1776, 0, 0, 0, 124, 124, 124, 0, 0, + 0, 124, 362, 0, 0, 0, 30, 709, 708, 718, + 719, 711, 712, 713, 714, 715, 716, 717, 710, 729, + 731, 720, 1612, 1128, 0, 0, 0, 806, 0, 0, + 0, 0, 0, 0, 0, 479, 0, 0, 0, 0, + 0, 837, 0, 0, 0, 0, 0, 374, 1554, 0, + 744, 0, 0, 0, 749, 750, 751, 752, 753, 754, + 755, 756, 0, 759, 762, 762, 762, 768, 762, 762, + 768, 762, 776, 777, 778, 779, 780, 781, 782, 0, + 0, 0, 0, 0, 30, 0, 0, 709, 708, 718, + 719, 711, 712, 713, 714, 715, 716, 717, 710, 0, + 0, 720, 0, 0, 0, 0, 0, 124, 0, 0, + 819, 0, 0, 0, 0, 0, 0, 0, 124, 124, + 124, 124, 124, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 377, 124, 0, 0, 0, 124, 0, + 0, 0, 0, 124, 124, 0, 0, 124, 124, 124, + 709, 708, 718, 719, 711, 712, 713, 714, 715, 716, + 717, 710, 362, 0, 720, 0, 0, 0, 1553, 0, + 0, 0, 1415, 0, 0, 0, 0, 0, 0, 0, + 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 479, 709, 708, 718, 719, 711, 712, 713, 714, + 715, 716, 717, 710, 1020, 1021, 720, 0, 479, 0, + 0, 0, 0, 479, 479, 479, 0, 479, 479, 0, + 0, 0, 0, 0, 362, 0, 0, 362, 0, 0, + 0, 479, 479, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1053, 0, 0, 0, 0, 124, 0, + 0, 0, 0, 0, 362, 0, 0, 0, 666, 0, + 0, 0, 0, 0, 0, 362, 0, 0, 0, 666, + 709, 708, 718, 719, 711, 712, 713, 714, 715, 716, + 717, 710, 0, 0, 720, 0, 666, 0, 0, 0, + 362, 666, 666, 666, 0, 666, 666, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1011, 0, 479, 666, + 666, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1041, 0, 0, 0, 1248, 0, 124, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 362, 1045, + 1046, 0, 0, 0, 362, 362, 709, 708, 718, 719, + 711, 712, 713, 714, 715, 716, 717, 710, 1066, 0, + 720, 701, 0, 0, 0, 0, 0, 0, 806, 0, + 362, 479, 0, 124, 709, 708, 718, 719, 711, 712, + 713, 714, 715, 716, 717, 710, 0, 362, 720, 362, + 479, 362, 0, 479, 0, 0, 0, 374, 0, 0, + 0, 0, 0, 0, 479, 609, 758, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 124, 0, 790, 793, 0, 0, 0, 0, 0, + 0, 0, 362, 362, 362, 0, 124, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, + 1098, 0, 0, 0, 0, 0, 1249, 0, 0, 0, + 1250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1257, 1258, 0, 0, 0, 0, 1264, 0, 0, + 1267, 1268, 0, 0, 0, 0, 0, 0, 1274, 0, + 479, 0, 1276, 0, 0, 1279, 1280, 1281, 1282, 1283, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 1238, + 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, + 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1327, 1328, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 666, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, + 0, 362, 0, 362, 0, 0, 0, 0, 362, 0, + 362, 362, 362, 124, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 945, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1041, 0, 0, 0, 0, 362, + 124, 0, 0, 0, 0, 0, 0, 1253, 0, 0, + 443, 0, 963, 0, 410, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 972, 973, 974, 975, 0, 0, 362, 0, 479, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, + 362, 362, 0, 0, 0, 0, 0, 0, 0, 1418, + 1419, 122, 819, 0, 356, 0, 0, 0, 0, 1308, + 1309, 122, 362, 819, 819, 819, 819, 819, 124, 0, + 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1098, + 0, 1334, 0, 0, 465, 465, 0, 0, 819, 0, + 0, 479, 819, 122, 1396, 122, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1467, 0, 0, 0, + 0, 0, 122, 122, 362, 0, 0, 0, 0, 0, + 122, 1403, 0, 0, 0, 122, 0, 1483, 0, 0, + 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, + 1122, 0, 0, 0, 0, 0, 0, 0, 0, 666, + 0, 0, 0, 0, 0, 0, 981, 0, 479, 990, + 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, + 1001, 1002, 1003, 1004, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 479, 0, 0, 1041, 0, + 666, 1468, 1470, 0, 0, 0, 0, 0, 1540, 1177, + 0, 0, 1542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1551, 1552, 0, 1044, 1470, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 479, 0, 479, 0, 616, 0, + 0, 0, 0, 1571, 1572, 0, 0, 1576, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1587, 0, 1465, 0, 30, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1533, + 1534, 1535, 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1400, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1041, 0, 0, 0, 0, + 0, 0, 1644, 1288, 1289, 793, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, + 0, 0, 0, 0, 0, 0, 0, 1592, 0, 0, + 0, 0, 0, 0, 0, 0, 1668, 1669, 1670, 1671, + 0, 1675, 1557, 1676, 1677, 0, 0, 0, 0, 0, + 0, 0, 0, 479, 0, 0, 0, 0, 0, 0, + 0, 1688, 0, 1689, 1690, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 465, 1698, + 0, 1243, 1244, 1245, 0, 1584, 1585, 1586, 0, 0, + 1704, 0, 122, 0, 122, 826, 1637, 0, 1639, 0, + 1640, 0, 0, 0, 865, 1592, 0, 1592, 1592, 1592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1609, + 0, 0, 0, 0, 0, 0, 1592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 478, 0, - 0, 1038, 0, 0, 1465, 1467, 0, 0, 0, 0, - 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, - 1467, 0, 0, 0, 0, 0, 0, 122, 0, 0, - 0, 0, 122, 0, 0, 122, 0, 478, 937, 478, - 0, 614, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1465, 0, 30, 1693, 1465, 0, 0, 0, 0, + 1769, 1770, 0, 0, 0, 0, 1700, 479, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1041, 0, 1718, + 853, 0, 0, 0, 0, 0, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 122, 0, 0, 0, 0, 1465, 0, 0, 0, + 0, 0, 0, 1456, 122, 0, 0, 0, 0, 0, + 0, 866, 0, 0, 0, 0, 0, 122, 0, 0, + 0, 1592, 122, 0, 0, 122, 0, 0, 940, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, + 879, 882, 883, 884, 885, 886, 887, 0, 888, 889, + 890, 891, 892, 867, 868, 869, 870, 851, 852, 880, + 0, 854, 0, 855, 856, 857, 858, 859, 860, 861, + 862, 863, 864, 871, 872, 873, 874, 875, 876, 877, + 878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1530, 1531, 1532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1413, 1414, 0, 0, 0, + 0, 1416, 1417, 0, 0, 0, 0, 0, 0, 0, + 0, 1757, 0, 0, 0, 0, 1437, 1438, 0, 1439, + 1440, 0, 0, 0, 0, 0, 0, 0, 0, 465, + 940, 1447, 1448, 0, 465, 465, 0, 881, 465, 465, + 465, 0, 0, 0, 1042, 0, 0, 0, 0, 0, + 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 465, 465, 465, 465, 465, 0, 0, + 374, 0, 0, 0, 0, 0, 0, 0, 1580, 0, + 0, 1581, 0, 0, 1583, 0, 0, 122, 0, 0, + 0, 0, 0, 940, 122, 0, 122, 0, 0, 0, + 0, 0, 0, 0, 122, 1103, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1434, 1435, 0, 1436, 1437, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1444, 1445, 0, 464, 937, - 0, 0, 0, 464, 464, 0, 0, 464, 464, 464, - 0, 0, 0, 1039, 0, 0, 0, 0, 1038, 0, + 1507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 464, 464, 464, 464, 464, 0, 0, 0, - 0, 0, 478, 0, 0, 0, 0, 0, 0, 0, - 1589, 0, 0, 0, 0, 0, 122, 0, 0, 0, - 0, 0, 937, 122, 0, 122, 0, 0, 0, 0, - 0, 0, 0, 122, 1100, 122, 478, 0, 0, 0, - 0, 0, 0, 0, 1504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1634, - 0, 1636, 0, 1637, 0, 0, 0, 0, 1589, 0, - 1589, 1589, 1589, 1536, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, + 0, 1631, 374, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 0, 0, 0, 0, 1589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, - 122, 122, 122, 122, 0, 0, 122, 122, 0, 0, - 122, 0, 0, 0, 0, 0, 0, 1690, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 122, 0, 1697, - 478, 478, 0, 1230, 1231, 122, 0, 0, 0, 122, + 122, 122, 122, 122, 122, 0, 0, 122, 122, 0, + 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, + 0, 0, 0, 0, 1233, 1234, 122, 0, 0, 0, + 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1038, 0, 1715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 464, 0, - 0, 1615, 1616, 1617, 1618, 1619, 0, 0, 0, 1622, - 1623, 0, 0, 0, 1589, 0, 0, 0, 464, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 465, 465, + 0, 0, 0, 0, 0, 0, 0, 1618, 1619, 1620, + 1621, 1622, 0, 0, 0, 1625, 1626, 0, 0, 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, 464, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1039, 122, 122, 122, 122, - 122, 0, 0, 0, 0, 0, 0, 0, 1323, 0, - 0, 0, 122, 0, 0, 0, 1100, 0, 0, 0, - 0, 122, 122, 0, 0, 122, 1339, 937, 0, 0, + 0, 0, 0, 0, 0, 465, 122, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1042, 122, 122, 122, + 122, 122, 0, 0, 0, 0, 0, 0, 0, 1326, + 0, 0, 0, 122, 0, 0, 0, 1103, 0, 0, + 0, 0, 122, 122, 0, 0, 122, 1342, 940, 0, 0, 0, 0, 0, 0, 0, 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,33 +1350,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, 122, 0, 0, 0, - 0, 0, 0, 0, 0, 1759, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1762, 0, 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1039, + 940, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, + 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1039, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1380,545 +1388,434 @@ 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, 1100, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1039, 0, - 0, 0, 0, 589, 577, 0, 122, 533, 592, 506, - 523, 600, 524, 527, 564, 491, 546, 228, 521, 0, - 510, 486, 517, 487, 508, 535, 160, 539, 505, 579, - 549, 591, 194, 0, 511, 239, 566, 271, 151, 202, - 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, - 232, 598, 197, 555, 0, 279, 214, 0, 0, 0, - 537, 581, 544, 574, 532, 565, 496, 554, 593, 522, - 562, 594, 186, 149, 129, 225, 280, 167, 0, 0, - 0, 112, 113, 114, 0, 1126, 1127, 0, 0, 0, - 0, 0, 145, 0, 559, 588, 519, 561, 563, 602, - 485, 556, 0, 489, 492, 599, 584, 514, 515, 1350, - 0, 0, 0, 0, 0, 0, 536, 545, 571, 530, - 0, 0, 0, 0, 0, 0, 0, 0, 512, 0, - 553, 0, 0, 0, 493, 490, 0, 0, 0, 0, - 534, 0, 0, 0, 495, 0, 513, 572, 0, 483, - 172, 576, 583, 531, 313, 587, 529, 528, 590, 250, - 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, - 224, 258, 262, 580, 509, 518, 152, 516, 260, 236, - 303, 552, 240, 259, 198, 292, 251, 302, 314, 315, - 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, - 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, - 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, - 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, - 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, - 201, 249, 179, 216, 215, 217, 0, 488, 0, 281, - 306, 327, 143, 504, 289, 319, 322, 0, 252, 144, - 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, - 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, - 278, 500, 503, 498, 499, 547, 548, 595, 596, 597, - 573, 494, 0, 501, 502, 0, 578, 585, 586, 551, - 125, 135, 196, 324, 253, 168, 307, 484, 497, 156, - 507, 0, 0, 520, 525, 526, 538, 540, 541, 542, - 543, 550, 557, 558, 560, 567, 568, 569, 570, 575, - 582, 601, 127, 128, 136, 142, 148, 155, 162, 166, - 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, - 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, - 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, - 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, - 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, - 317, 589, 577, 0, 0, 533, 592, 506, 523, 600, - 524, 527, 564, 491, 546, 228, 521, 0, 510, 486, - 517, 487, 508, 535, 160, 539, 505, 579, 549, 591, - 194, 0, 511, 239, 566, 271, 151, 202, 200, 290, - 165, 161, 159, 150, 182, 206, 238, 287, 232, 598, - 197, 555, 0, 279, 214, 0, 0, 0, 537, 581, - 544, 574, 532, 565, 496, 554, 593, 522, 562, 594, - 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, - 113, 114, 0, 1126, 1127, 0, 0, 0, 0, 0, - 145, 0, 559, 588, 519, 561, 563, 602, 485, 556, - 0, 489, 492, 599, 584, 514, 515, 0, 0, 0, - 0, 0, 0, 0, 536, 545, 571, 530, 0, 0, - 0, 0, 0, 0, 0, 0, 512, 0, 553, 0, - 0, 0, 493, 490, 0, 0, 0, 0, 534, 0, - 0, 0, 495, 0, 513, 572, 0, 483, 172, 576, - 583, 531, 313, 587, 529, 528, 590, 250, 0, 284, - 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, - 262, 580, 509, 518, 152, 516, 260, 236, 303, 552, - 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, - 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, - 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, - 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, - 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, - 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, - 179, 216, 215, 217, 0, 488, 0, 281, 306, 327, - 143, 504, 289, 319, 322, 0, 252, 144, 171, 163, - 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, - 191, 199, 255, 325, 235, 261, 147, 305, 278, 500, - 503, 498, 499, 547, 548, 595, 596, 597, 573, 494, - 0, 501, 502, 0, 578, 585, 586, 551, 125, 135, - 196, 324, 253, 168, 307, 484, 497, 156, 507, 0, - 0, 520, 525, 526, 538, 540, 541, 542, 543, 550, - 557, 558, 560, 567, 568, 569, 570, 575, 582, 601, - 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, - 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, - 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, - 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, - 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, - 285, 293, 294, 304, 312, 316, 175, 301, 317, 589, - 577, 0, 0, 533, 592, 506, 523, 600, 524, 527, - 564, 491, 546, 228, 521, 0, 510, 486, 517, 487, - 508, 535, 160, 539, 505, 579, 549, 591, 194, 0, - 511, 239, 566, 271, 151, 202, 200, 290, 165, 161, - 159, 150, 182, 206, 238, 287, 232, 598, 197, 555, - 0, 279, 214, 0, 0, 0, 537, 581, 544, 574, - 532, 565, 496, 554, 593, 522, 562, 594, 186, 149, - 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, - 559, 588, 519, 561, 563, 602, 485, 556, 0, 489, - 492, 599, 584, 514, 515, 0, 0, 0, 0, 0, - 0, 0, 536, 545, 571, 530, 0, 0, 0, 0, - 0, 0, 1454, 0, 512, 0, 553, 0, 0, 0, - 493, 490, 0, 0, 0, 0, 534, 0, 0, 0, - 495, 0, 513, 572, 0, 483, 172, 576, 583, 531, - 313, 587, 529, 528, 590, 250, 0, 284, 176, 193, - 141, 190, 126, 137, 0, 174, 224, 258, 262, 580, - 509, 518, 152, 516, 260, 236, 303, 552, 240, 259, - 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, - 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, - 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, - 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, - 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, - 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, - 215, 217, 0, 488, 0, 281, 306, 327, 143, 504, - 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, - 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, - 255, 325, 235, 261, 147, 305, 278, 500, 503, 498, - 499, 547, 548, 595, 596, 597, 573, 494, 0, 501, - 502, 0, 578, 585, 586, 551, 125, 135, 196, 324, - 253, 168, 307, 484, 497, 156, 507, 0, 0, 520, - 525, 526, 538, 540, 541, 542, 543, 550, 557, 558, - 560, 567, 568, 569, 570, 575, 582, 601, 127, 128, - 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, - 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, - 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, - 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, - 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, - 294, 304, 312, 316, 175, 301, 317, 589, 577, 0, - 0, 533, 592, 506, 523, 600, 524, 527, 564, 491, - 546, 228, 521, 0, 510, 486, 517, 487, 508, 535, - 160, 539, 505, 579, 549, 591, 194, 0, 511, 239, - 566, 271, 151, 202, 200, 290, 165, 161, 159, 150, - 182, 206, 238, 287, 232, 598, 197, 555, 0, 279, - 214, 0, 0, 0, 537, 581, 544, 574, 532, 565, - 496, 554, 593, 522, 562, 594, 186, 149, 129, 225, - 280, 167, 64, 0, 0, 112, 113, 114, 0, 0, - 0, 0, 0, 0, 0, 0, 145, 0, 559, 588, - 519, 561, 563, 602, 485, 556, 0, 489, 492, 599, - 584, 514, 515, 0, 0, 0, 0, 0, 0, 0, - 536, 545, 571, 530, 0, 0, 0, 0, 0, 0, - 0, 0, 512, 0, 553, 0, 0, 0, 493, 490, - 0, 0, 0, 0, 534, 0, 0, 0, 495, 0, - 513, 572, 0, 483, 172, 576, 583, 531, 313, 587, - 529, 528, 590, 250, 0, 284, 176, 193, 141, 190, - 126, 137, 0, 174, 224, 258, 262, 580, 509, 518, - 152, 516, 260, 236, 303, 552, 240, 259, 198, 292, - 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, - 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, - 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, - 154, 227, 295, 296, 153, 326, 138, 310, 134, 139, - 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, - 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, - 0, 488, 0, 281, 306, 327, 143, 504, 289, 319, - 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, - 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, - 235, 261, 147, 305, 278, 500, 503, 498, 499, 547, - 548, 595, 596, 597, 573, 494, 0, 501, 502, 0, - 578, 585, 586, 551, 125, 135, 196, 324, 253, 168, - 307, 484, 497, 156, 507, 0, 0, 520, 525, 526, - 538, 540, 541, 542, 543, 550, 557, 558, 560, 567, - 568, 569, 570, 575, 582, 601, 127, 128, 136, 142, - 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, - 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, - 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, - 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, - 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, - 312, 316, 175, 301, 317, 589, 577, 0, 0, 533, - 592, 506, 523, 600, 524, 527, 564, 491, 546, 228, - 521, 0, 510, 486, 517, 487, 508, 535, 160, 539, - 505, 579, 549, 591, 194, 0, 511, 239, 566, 271, - 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, - 238, 287, 232, 598, 197, 555, 0, 279, 214, 0, - 0, 0, 537, 581, 544, 574, 532, 565, 496, 554, - 593, 522, 562, 594, 186, 149, 129, 225, 280, 167, - 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 145, 0, 559, 588, 519, 561, - 563, 602, 485, 556, 0, 489, 492, 599, 584, 514, - 515, 0, 0, 0, 0, 0, 0, 0, 536, 545, - 571, 530, 0, 0, 0, 0, 0, 0, 1340, 0, - 512, 0, 553, 0, 0, 0, 493, 490, 0, 0, - 0, 0, 534, 0, 0, 0, 495, 0, 513, 572, - 0, 483, 172, 576, 583, 531, 313, 587, 529, 528, - 590, 250, 0, 284, 176, 193, 141, 190, 126, 137, - 0, 174, 224, 258, 262, 580, 509, 518, 152, 516, - 260, 236, 303, 552, 240, 259, 198, 292, 251, 302, - 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, - 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, - 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, - 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, - 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, - 178, 248, 201, 249, 179, 216, 215, 217, 0, 488, - 0, 281, 306, 327, 143, 504, 289, 319, 322, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1042, + 0, 0, 0, 0, 591, 579, 0, 122, 534, 594, + 507, 524, 602, 525, 528, 565, 492, 547, 228, 522, + 0, 511, 487, 518, 488, 509, 536, 160, 540, 506, + 581, 550, 593, 194, 0, 512, 239, 567, 271, 151, + 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, + 287, 232, 600, 197, 556, 0, 279, 214, 0, 0, + 0, 538, 583, 545, 575, 533, 566, 497, 555, 595, + 523, 563, 596, 186, 149, 129, 225, 280, 167, 0, + 0, 0, 112, 113, 114, 0, 1129, 1130, 0, 0, + 0, 0, 0, 145, 0, 560, 590, 520, 562, 564, + 604, 486, 557, 0, 490, 493, 601, 586, 515, 516, + 1353, 0, 0, 0, 0, 0, 0, 537, 546, 572, + 531, 0, 0, 0, 0, 0, 0, 0, 0, 513, + 0, 554, 0, 0, 0, 494, 491, 0, 0, 0, + 0, 535, 0, 0, 0, 496, 0, 514, 573, 0, + 484, 172, 577, 585, 532, 313, 589, 530, 529, 592, + 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, + 174, 224, 258, 262, 582, 510, 519, 152, 517, 260, + 236, 303, 553, 240, 259, 198, 292, 251, 302, 314, + 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, + 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, + 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, + 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, + 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, + 248, 201, 249, 179, 216, 215, 217, 0, 489, 0, + 281, 306, 327, 143, 505, 578, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, - 147, 305, 278, 500, 503, 498, 499, 547, 548, 595, - 596, 597, 573, 494, 0, 501, 502, 0, 578, 585, - 586, 551, 125, 135, 196, 324, 253, 168, 307, 484, - 497, 156, 507, 0, 0, 520, 525, 526, 538, 540, - 541, 542, 543, 550, 557, 558, 560, 567, 568, 569, - 570, 575, 582, 601, 127, 128, 136, 142, 148, 155, + 147, 305, 278, 501, 504, 499, 500, 548, 549, 597, + 598, 599, 574, 495, 0, 502, 503, 0, 580, 587, + 588, 552, 125, 135, 196, 324, 253, 168, 307, 485, + 498, 156, 508, 0, 0, 521, 526, 527, 539, 541, + 542, 543, 544, 551, 558, 559, 561, 568, 569, 570, + 571, 576, 584, 603, 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, - 175, 301, 317, 589, 577, 0, 0, 533, 592, 506, - 523, 600, 524, 527, 564, 491, 546, 228, 521, 0, - 510, 486, 517, 487, 508, 535, 160, 539, 505, 579, - 549, 591, 194, 0, 511, 239, 566, 271, 151, 202, + 175, 301, 317, 591, 579, 0, 0, 534, 594, 507, + 524, 602, 525, 528, 565, 492, 547, 228, 522, 0, + 511, 487, 518, 488, 509, 536, 160, 540, 506, 581, + 550, 593, 194, 0, 512, 239, 567, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, - 232, 598, 197, 555, 0, 279, 214, 0, 0, 0, - 537, 581, 544, 574, 532, 565, 496, 554, 593, 522, - 562, 594, 186, 149, 129, 225, 280, 167, 0, 0, - 0, 112, 113, 114, 0, 0, 0, 0, 0, 0, - 0, 0, 145, 0, 559, 588, 519, 561, 563, 602, - 485, 556, 0, 489, 492, 599, 584, 514, 515, 0, - 0, 0, 0, 0, 0, 0, 536, 545, 571, 530, - 0, 0, 0, 0, 0, 0, 1072, 0, 512, 0, - 553, 0, 0, 0, 493, 490, 0, 0, 0, 0, - 534, 0, 0, 0, 495, 0, 513, 572, 0, 483, - 172, 576, 583, 531, 313, 587, 529, 528, 590, 250, + 232, 600, 197, 556, 0, 279, 214, 0, 0, 0, + 538, 583, 545, 575, 533, 566, 497, 555, 595, 523, + 563, 596, 186, 149, 129, 225, 280, 167, 0, 0, + 0, 112, 113, 114, 0, 1129, 1130, 0, 0, 0, + 0, 0, 145, 0, 560, 590, 520, 562, 564, 604, + 486, 557, 0, 490, 493, 601, 586, 515, 516, 0, + 0, 0, 0, 0, 0, 0, 537, 546, 572, 531, + 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, + 554, 0, 0, 0, 494, 491, 0, 0, 0, 0, + 535, 0, 0, 0, 496, 0, 514, 573, 0, 484, + 172, 577, 585, 532, 313, 589, 530, 529, 592, 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, - 224, 258, 262, 580, 509, 518, 152, 516, 260, 236, - 303, 552, 240, 259, 198, 292, 251, 302, 314, 315, + 224, 258, 262, 582, 510, 519, 152, 517, 260, 236, + 303, 553, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, - 201, 249, 179, 216, 215, 217, 0, 488, 0, 281, - 306, 327, 143, 504, 289, 319, 322, 0, 252, 144, + 201, 249, 179, 216, 215, 217, 0, 489, 0, 281, + 306, 327, 143, 505, 578, 289, 319, 322, 0, 252, + 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, + 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, + 305, 278, 501, 504, 499, 500, 548, 549, 597, 598, + 599, 574, 495, 0, 502, 503, 0, 580, 587, 588, + 552, 125, 135, 196, 324, 253, 168, 307, 485, 498, + 156, 508, 0, 0, 521, 526, 527, 539, 541, 542, + 543, 544, 551, 558, 559, 561, 568, 569, 570, 571, + 576, 584, 603, 127, 128, 136, 142, 148, 155, 162, + 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, + 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, + 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, + 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, + 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, + 301, 317, 591, 579, 0, 0, 534, 594, 507, 524, + 602, 525, 528, 565, 492, 547, 228, 522, 0, 511, + 487, 518, 488, 509, 536, 160, 540, 506, 581, 550, + 593, 194, 0, 512, 239, 567, 271, 151, 202, 200, + 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, + 600, 197, 556, 0, 279, 214, 0, 0, 0, 538, + 583, 545, 575, 533, 566, 497, 555, 595, 523, 563, + 596, 186, 149, 129, 225, 280, 167, 0, 0, 0, + 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, + 0, 145, 0, 560, 590, 520, 562, 564, 604, 486, + 557, 0, 490, 493, 601, 586, 515, 516, 0, 0, + 0, 0, 0, 0, 0, 537, 546, 572, 531, 0, + 0, 0, 0, 0, 0, 1457, 0, 513, 0, 554, + 0, 0, 0, 494, 491, 0, 0, 0, 0, 535, + 0, 0, 0, 496, 0, 514, 573, 0, 484, 172, + 577, 585, 532, 313, 589, 530, 529, 592, 250, 0, + 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, + 258, 262, 582, 510, 519, 152, 517, 260, 236, 303, + 553, 240, 259, 198, 292, 251, 302, 314, 315, 157, + 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, + 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, + 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, + 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, + 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, + 249, 179, 216, 215, 217, 0, 489, 0, 281, 306, + 327, 143, 505, 578, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, - 278, 500, 503, 498, 499, 547, 548, 595, 596, 597, - 573, 494, 0, 501, 502, 0, 578, 585, 586, 551, - 125, 135, 196, 324, 253, 168, 307, 484, 497, 156, - 507, 0, 0, 520, 525, 526, 538, 540, 541, 542, - 543, 550, 557, 558, 560, 567, 568, 569, 570, 575, - 582, 601, 127, 128, 136, 142, 148, 155, 162, 166, + 278, 501, 504, 499, 500, 548, 549, 597, 598, 599, + 574, 495, 0, 502, 503, 0, 580, 587, 588, 552, + 125, 135, 196, 324, 253, 168, 307, 485, 498, 156, + 508, 0, 0, 521, 526, 527, 539, 541, 542, 543, + 544, 551, 558, 559, 561, 568, 569, 570, 571, 576, + 584, 603, 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, - 317, 589, 577, 0, 0, 533, 592, 506, 523, 600, - 524, 527, 564, 491, 546, 228, 521, 0, 510, 486, - 517, 487, 508, 535, 160, 539, 505, 579, 549, 591, - 194, 0, 511, 239, 566, 271, 151, 202, 200, 290, - 165, 161, 159, 150, 182, 206, 238, 287, 232, 598, - 197, 555, 0, 279, 214, 0, 0, 0, 537, 581, - 544, 574, 532, 565, 496, 554, 593, 522, 562, 594, - 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, + 317, 591, 579, 0, 0, 534, 594, 507, 524, 602, + 525, 528, 565, 492, 547, 228, 522, 0, 511, 487, + 518, 488, 509, 536, 160, 540, 506, 581, 550, 593, + 194, 0, 512, 239, 567, 271, 151, 202, 200, 290, + 165, 161, 159, 150, 182, 206, 238, 287, 232, 600, + 197, 556, 0, 279, 214, 0, 0, 0, 538, 583, + 545, 575, 533, 566, 497, 555, 595, 523, 563, 596, + 186, 149, 129, 225, 280, 167, 64, 0, 0, 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 0, 559, 588, 519, 561, 563, 602, 485, 556, - 0, 489, 492, 599, 584, 514, 515, 0, 0, 0, - 0, 0, 0, 0, 536, 545, 571, 530, 0, 0, - 0, 0, 0, 0, 0, 0, 512, 0, 553, 0, - 0, 0, 493, 490, 0, 0, 0, 0, 534, 0, - 0, 0, 495, 0, 513, 572, 0, 483, 172, 576, - 583, 531, 313, 587, 529, 528, 590, 250, 0, 284, + 145, 0, 560, 590, 520, 562, 564, 604, 486, 557, + 0, 490, 493, 601, 586, 515, 516, 0, 0, 0, + 0, 0, 0, 0, 537, 546, 572, 531, 0, 0, + 0, 0, 0, 0, 0, 0, 513, 0, 554, 0, + 0, 0, 494, 491, 0, 0, 0, 0, 535, 0, + 0, 0, 496, 0, 514, 573, 0, 484, 172, 577, + 585, 532, 313, 589, 530, 529, 592, 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, - 262, 580, 509, 518, 152, 516, 260, 236, 303, 552, + 262, 582, 510, 519, 152, 517, 260, 236, 303, 553, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, - 179, 216, 215, 217, 0, 488, 0, 281, 306, 327, - 143, 504, 289, 319, 322, 0, 252, 144, 171, 163, + 179, 216, 215, 217, 0, 489, 0, 281, 306, 327, + 143, 505, 578, 289, 319, 322, 0, 252, 144, 171, + 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, + 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, + 501, 504, 499, 500, 548, 549, 597, 598, 599, 574, + 495, 0, 502, 503, 0, 580, 587, 588, 552, 125, + 135, 196, 324, 253, 168, 307, 485, 498, 156, 508, + 0, 0, 521, 526, 527, 539, 541, 542, 543, 544, + 551, 558, 559, 561, 568, 569, 570, 571, 576, 584, + 603, 127, 128, 136, 142, 148, 155, 162, 166, 173, + 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, + 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, + 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, + 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, + 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, + 591, 579, 0, 0, 534, 594, 507, 524, 602, 525, + 528, 565, 492, 547, 228, 522, 0, 511, 487, 518, + 488, 509, 536, 160, 540, 506, 581, 550, 593, 194, + 0, 512, 239, 567, 271, 151, 202, 200, 290, 165, + 161, 159, 150, 182, 206, 238, 287, 232, 600, 197, + 556, 0, 279, 214, 0, 0, 0, 538, 583, 545, + 575, 533, 566, 497, 555, 595, 523, 563, 596, 186, + 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, + 114, 0, 0, 0, 0, 0, 0, 0, 0, 145, + 0, 560, 590, 520, 562, 564, 604, 486, 557, 0, + 490, 493, 601, 586, 515, 516, 0, 0, 0, 0, + 0, 0, 0, 537, 546, 572, 531, 0, 0, 0, + 0, 0, 0, 1343, 0, 513, 0, 554, 0, 0, + 0, 494, 491, 0, 0, 0, 0, 535, 0, 0, + 0, 496, 0, 514, 573, 0, 484, 172, 577, 585, + 532, 313, 589, 530, 529, 592, 250, 0, 284, 176, + 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, + 582, 510, 519, 152, 517, 260, 236, 303, 553, 240, + 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, + 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, + 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, + 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, + 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, + 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, + 216, 215, 217, 0, 489, 0, 281, 306, 327, 143, + 505, 578, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, - 191, 199, 255, 325, 235, 261, 147, 305, 278, 500, - 503, 498, 499, 547, 548, 595, 596, 597, 573, 494, - 0, 501, 502, 0, 578, 585, 586, 551, 125, 135, - 196, 324, 253, 168, 307, 484, 497, 156, 507, 0, - 0, 520, 525, 526, 538, 540, 541, 542, 543, 550, - 557, 558, 560, 567, 568, 569, 570, 575, 582, 601, + 191, 199, 255, 325, 235, 261, 147, 305, 278, 501, + 504, 499, 500, 548, 549, 597, 598, 599, 574, 495, + 0, 502, 503, 0, 580, 587, 588, 552, 125, 135, + 196, 324, 253, 168, 307, 485, 498, 156, 508, 0, + 0, 521, 526, 527, 539, 541, 542, 543, 544, 551, + 558, 559, 561, 568, 569, 570, 571, 576, 584, 603, 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, - 285, 293, 294, 304, 312, 316, 175, 301, 317, 589, - 577, 0, 0, 533, 592, 506, 523, 600, 524, 527, - 564, 491, 546, 228, 521, 0, 510, 486, 517, 487, - 508, 535, 160, 539, 505, 579, 549, 591, 194, 0, - 511, 239, 566, 271, 151, 202, 200, 290, 165, 161, - 159, 150, 182, 206, 238, 287, 232, 598, 197, 555, - 0, 279, 214, 0, 0, 0, 537, 581, 544, 574, - 532, 565, 496, 554, 593, 522, 562, 594, 186, 149, + 285, 293, 294, 304, 312, 316, 175, 301, 317, 591, + 579, 0, 0, 534, 594, 507, 524, 602, 525, 528, + 565, 492, 547, 228, 522, 0, 511, 487, 518, 488, + 509, 536, 160, 540, 506, 581, 550, 593, 194, 0, + 512, 239, 567, 271, 151, 202, 200, 290, 165, 161, + 159, 150, 182, 206, 238, 287, 232, 600, 197, 556, + 0, 279, 214, 0, 0, 0, 538, 583, 545, 575, + 533, 566, 497, 555, 595, 523, 563, 596, 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, - 559, 588, 519, 561, 563, 602, 485, 556, 0, 489, - 492, 599, 584, 514, 515, 0, 0, 0, 0, 0, - 0, 0, 536, 545, 571, 530, 0, 0, 0, 0, - 0, 0, 0, 0, 512, 0, 553, 0, 0, 0, - 493, 490, 0, 0, 0, 0, 534, 0, 0, 0, - 495, 0, 513, 572, 0, 483, 172, 576, 583, 531, - 313, 587, 529, 528, 590, 250, 0, 284, 176, 193, - 141, 190, 126, 137, 0, 174, 224, 258, 262, 580, - 509, 518, 152, 516, 260, 236, 303, 552, 240, 259, + 560, 590, 520, 562, 564, 604, 486, 557, 0, 490, + 493, 601, 586, 515, 516, 0, 0, 0, 0, 0, + 0, 0, 537, 546, 572, 531, 0, 0, 0, 0, + 0, 0, 1075, 0, 513, 0, 554, 0, 0, 0, + 494, 491, 0, 0, 0, 0, 535, 0, 0, 0, + 496, 0, 514, 573, 0, 484, 172, 577, 585, 532, + 313, 589, 530, 529, 592, 250, 0, 284, 176, 193, + 141, 190, 126, 137, 0, 174, 224, 258, 262, 582, + 510, 519, 152, 517, 260, 236, 303, 553, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, - 134, 481, 309, 220, 291, 299, 213, 205, 133, 297, + 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, - 215, 217, 0, 488, 0, 281, 306, 327, 143, 504, + 215, 217, 0, 489, 0, 281, 306, 327, 143, 505, + 578, 289, 319, 322, 0, 252, 144, 171, 163, 247, + 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, + 199, 255, 325, 235, 261, 147, 305, 278, 501, 504, + 499, 500, 548, 549, 597, 598, 599, 574, 495, 0, + 502, 503, 0, 580, 587, 588, 552, 125, 135, 196, + 324, 253, 168, 307, 485, 498, 156, 508, 0, 0, + 521, 526, 527, 539, 541, 542, 543, 544, 551, 558, + 559, 561, 568, 569, 570, 571, 576, 584, 603, 127, + 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, + 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, + 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, + 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, + 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, + 293, 294, 304, 312, 316, 175, 301, 317, 591, 579, + 0, 0, 534, 594, 507, 524, 602, 525, 528, 565, + 492, 547, 228, 522, 0, 511, 487, 518, 488, 509, + 536, 160, 540, 506, 581, 550, 593, 194, 0, 512, + 239, 567, 271, 151, 202, 200, 290, 165, 161, 159, + 150, 182, 206, 238, 287, 232, 600, 197, 556, 0, + 279, 214, 0, 0, 0, 538, 583, 545, 575, 533, + 566, 497, 555, 595, 523, 563, 596, 186, 149, 129, + 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, + 0, 0, 0, 0, 0, 0, 0, 145, 0, 560, + 590, 520, 562, 564, 604, 486, 557, 0, 490, 493, + 601, 586, 515, 516, 0, 0, 0, 0, 0, 0, + 0, 537, 546, 572, 531, 0, 0, 0, 0, 0, + 0, 0, 0, 513, 0, 554, 0, 0, 0, 494, + 491, 0, 0, 0, 0, 535, 0, 0, 0, 496, + 0, 514, 573, 0, 484, 172, 577, 585, 532, 313, + 589, 530, 529, 592, 250, 0, 284, 176, 193, 141, + 190, 126, 137, 0, 174, 224, 258, 262, 582, 510, + 519, 152, 517, 260, 236, 303, 553, 240, 259, 198, + 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, + 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, + 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, + 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, + 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, + 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, + 217, 0, 489, 0, 281, 306, 327, 143, 505, 578, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, - 195, 318, 320, 321, 482, 480, 475, 474, 191, 199, - 255, 325, 235, 261, 147, 305, 278, 500, 503, 498, - 499, 547, 548, 595, 596, 597, 573, 494, 0, 501, - 502, 0, 578, 585, 586, 551, 125, 135, 196, 324, - 253, 168, 307, 484, 497, 156, 507, 0, 0, 520, - 525, 526, 538, 540, 541, 542, 543, 550, 557, 558, - 560, 567, 568, 569, 570, 575, 582, 601, 127, 128, + 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, + 255, 325, 235, 261, 147, 305, 278, 501, 504, 499, + 500, 548, 549, 597, 598, 599, 574, 495, 0, 502, + 503, 0, 580, 587, 588, 552, 125, 135, 196, 324, + 253, 168, 307, 485, 498, 156, 508, 0, 0, 521, + 526, 527, 539, 541, 542, 543, 544, 551, 558, 559, + 561, 568, 569, 570, 571, 576, 584, 603, 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, - 294, 304, 312, 316, 175, 301, 317, 589, 577, 0, - 0, 533, 592, 506, 523, 600, 524, 527, 564, 491, - 546, 228, 521, 0, 510, 486, 517, 487, 508, 535, - 160, 539, 505, 579, 549, 591, 194, 0, 511, 239, - 566, 271, 151, 202, 200, 290, 165, 161, 159, 150, - 182, 206, 238, 287, 232, 598, 197, 555, 0, 279, - 214, 0, 0, 0, 537, 581, 544, 574, 532, 565, - 496, 554, 593, 522, 562, 594, 186, 149, 129, 225, + 294, 304, 312, 316, 175, 301, 317, 591, 579, 0, + 0, 534, 594, 507, 524, 602, 525, 528, 565, 492, + 547, 228, 522, 0, 511, 487, 518, 488, 509, 536, + 160, 540, 506, 581, 550, 593, 194, 0, 512, 239, + 567, 271, 151, 202, 200, 290, 165, 161, 159, 150, + 182, 206, 238, 287, 232, 600, 197, 556, 0, 279, + 214, 0, 0, 0, 538, 583, 545, 575, 533, 566, + 497, 555, 595, 523, 563, 596, 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, 0, - 0, 0, 0, 0, 0, 0, 145, 0, 559, 588, - 519, 561, 563, 602, 485, 556, 0, 489, 492, 599, - 584, 514, 515, 0, 0, 0, 0, 0, 0, 0, - 536, 545, 571, 530, 0, 0, 0, 0, 0, 0, - 0, 0, 512, 0, 553, 0, 0, 0, 493, 490, - 0, 0, 0, 0, 534, 0, 0, 0, 495, 0, - 513, 572, 0, 483, 172, 576, 583, 531, 313, 587, - 529, 528, 590, 250, 0, 284, 176, 193, 141, 190, - 126, 137, 0, 174, 224, 258, 262, 580, 509, 518, - 152, 516, 260, 236, 303, 552, 240, 259, 198, 292, + 0, 0, 0, 0, 0, 0, 145, 0, 560, 590, + 520, 562, 564, 604, 486, 557, 0, 490, 493, 601, + 586, 515, 516, 0, 0, 0, 0, 0, 0, 0, + 537, 546, 572, 531, 0, 0, 0, 0, 0, 0, + 0, 0, 513, 0, 554, 0, 0, 0, 494, 491, + 0, 0, 0, 0, 535, 0, 0, 0, 496, 0, + 514, 573, 0, 484, 172, 577, 585, 532, 313, 589, + 530, 529, 592, 250, 0, 284, 176, 193, 141, 190, + 126, 137, 0, 174, 224, 258, 262, 582, 510, 519, + 152, 517, 260, 236, 303, 553, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, - 276, 130, 286, 825, 146, 270, 0, 0, 0, 132, + 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, - 154, 227, 295, 296, 153, 326, 138, 310, 134, 481, + 154, 227, 295, 296, 153, 326, 138, 310, 134, 482, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, - 0, 488, 0, 281, 306, 327, 143, 504, 289, 319, + 0, 489, 0, 281, 306, 327, 143, 505, 578, 289, + 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, + 318, 320, 321, 483, 481, 476, 475, 191, 199, 255, + 325, 235, 261, 147, 305, 278, 501, 504, 499, 500, + 548, 549, 597, 598, 599, 574, 495, 0, 502, 503, + 0, 580, 587, 588, 552, 125, 135, 196, 324, 253, + 168, 307, 485, 498, 156, 508, 0, 0, 521, 526, + 527, 539, 541, 542, 543, 544, 551, 558, 559, 561, + 568, 569, 570, 571, 576, 584, 603, 127, 128, 136, + 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, + 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, + 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, + 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, + 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, + 304, 312, 316, 175, 301, 317, 591, 579, 0, 0, + 534, 594, 507, 524, 602, 525, 528, 565, 492, 547, + 228, 522, 0, 511, 487, 518, 488, 509, 536, 160, + 540, 506, 581, 550, 593, 194, 0, 512, 239, 567, + 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, + 206, 238, 287, 232, 600, 197, 556, 0, 279, 214, + 0, 0, 0, 538, 583, 545, 575, 533, 566, 497, + 555, 595, 523, 563, 596, 186, 149, 129, 225, 280, + 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, + 0, 0, 0, 0, 0, 145, 0, 560, 590, 520, + 562, 564, 604, 486, 557, 0, 490, 493, 601, 586, + 515, 516, 0, 0, 0, 0, 0, 0, 0, 537, + 546, 572, 531, 0, 0, 0, 0, 0, 0, 0, + 0, 513, 0, 554, 0, 0, 0, 494, 491, 0, + 0, 0, 0, 535, 0, 0, 0, 496, 0, 514, + 573, 0, 484, 172, 577, 585, 532, 313, 589, 530, + 529, 592, 250, 0, 284, 176, 193, 141, 190, 126, + 137, 0, 174, 224, 258, 262, 582, 510, 519, 152, + 517, 260, 236, 303, 553, 240, 259, 198, 292, 251, + 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, + 130, 286, 828, 146, 270, 0, 0, 0, 132, 298, + 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, + 227, 295, 296, 153, 326, 138, 310, 134, 482, 309, + 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, + 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, + 489, 0, 281, 306, 327, 143, 505, 578, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, - 320, 321, 482, 480, 475, 474, 191, 199, 255, 325, - 235, 261, 147, 305, 278, 500, 503, 498, 499, 547, - 548, 595, 596, 597, 573, 494, 0, 501, 502, 0, - 578, 585, 586, 551, 125, 135, 196, 324, 253, 168, - 307, 484, 497, 156, 507, 0, 0, 520, 525, 526, - 538, 540, 541, 542, 543, 550, 557, 558, 560, 567, - 568, 569, 570, 575, 582, 601, 127, 128, 136, 142, + 320, 321, 483, 481, 476, 475, 191, 199, 255, 325, + 235, 261, 147, 305, 278, 501, 504, 499, 500, 548, + 549, 597, 598, 599, 574, 495, 0, 502, 503, 0, + 580, 587, 588, 552, 125, 135, 196, 324, 253, 168, + 307, 485, 498, 156, 508, 0, 0, 521, 526, 527, + 539, 541, 542, 543, 544, 551, 558, 559, 561, 568, + 569, 570, 571, 576, 584, 603, 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, - 312, 316, 175, 301, 317, 589, 577, 0, 0, 533, - 592, 506, 523, 600, 524, 527, 564, 491, 546, 228, - 521, 0, 510, 486, 517, 487, 508, 535, 160, 539, - 505, 579, 549, 591, 194, 0, 511, 239, 566, 271, + 312, 316, 175, 301, 317, 591, 579, 0, 0, 534, + 594, 507, 524, 602, 525, 528, 565, 492, 547, 228, + 522, 0, 511, 487, 518, 488, 509, 536, 160, 540, + 506, 581, 550, 593, 194, 0, 512, 239, 567, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, - 238, 287, 232, 598, 197, 555, 0, 279, 214, 0, - 0, 0, 537, 581, 544, 574, 532, 565, 496, 554, - 593, 522, 562, 594, 186, 149, 129, 225, 280, 167, + 238, 287, 232, 600, 197, 556, 0, 279, 214, 0, + 0, 0, 538, 583, 545, 575, 533, 566, 497, 555, + 595, 523, 563, 596, 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 145, 0, 559, 588, 519, 561, - 563, 602, 485, 556, 0, 489, 492, 599, 584, 514, - 515, 0, 0, 0, 0, 0, 0, 0, 536, 545, - 571, 530, 0, 0, 0, 0, 0, 0, 0, 0, - 512, 0, 553, 0, 0, 0, 493, 490, 0, 0, - 0, 0, 534, 0, 0, 0, 495, 0, 513, 572, - 0, 483, 172, 576, 583, 531, 313, 587, 529, 528, - 590, 250, 0, 284, 176, 193, 141, 190, 126, 137, - 0, 174, 224, 258, 262, 580, 509, 518, 152, 516, - 260, 236, 303, 552, 240, 259, 198, 292, 251, 302, + 0, 0, 0, 0, 145, 0, 560, 590, 520, 562, + 564, 604, 486, 557, 0, 490, 493, 601, 586, 515, + 516, 0, 0, 0, 0, 0, 0, 0, 537, 546, + 572, 531, 0, 0, 0, 0, 0, 0, 0, 0, + 513, 0, 554, 0, 0, 0, 494, 491, 0, 0, + 0, 0, 535, 0, 0, 0, 496, 0, 514, 573, + 0, 484, 172, 577, 585, 532, 313, 589, 530, 529, + 592, 250, 0, 284, 176, 193, 141, 190, 126, 137, + 0, 174, 224, 258, 262, 582, 510, 519, 152, 517, + 260, 236, 303, 553, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, - 286, 472, 146, 270, 0, 0, 0, 132, 298, 283, + 286, 473, 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, - 295, 296, 153, 326, 138, 310, 134, 481, 309, 220, + 295, 296, 153, 326, 138, 310, 134, 482, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, - 178, 248, 201, 249, 179, 216, 215, 217, 0, 488, - 0, 281, 306, 327, 143, 504, 289, 319, 322, 0, - 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, - 482, 480, 475, 474, 191, 199, 255, 325, 235, 261, - 147, 305, 278, 500, 503, 498, 499, 547, 548, 595, - 596, 597, 573, 494, 0, 501, 502, 0, 578, 585, - 586, 551, 125, 135, 196, 324, 253, 168, 307, 484, - 497, 156, 507, 0, 0, 520, 525, 526, 538, 540, - 541, 542, 543, 550, 557, 558, 560, 567, 568, 569, - 570, 575, 582, 601, 127, 128, 136, 142, 148, 155, - 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, - 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, - 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, - 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, - 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, - 175, 301, 317, 228, 0, 0, 1010, 0, 378, 0, - 0, 0, 160, 0, 377, 0, 0, 0, 194, 0, - 1011, 239, 0, 271, 151, 202, 200, 290, 165, 161, - 159, 150, 182, 206, 238, 287, 232, 421, 197, 0, - 0, 279, 214, 0, 0, 0, 0, 0, 412, 413, - 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, - 129, 225, 280, 167, 64, 0, 0, 112, 113, 114, - 399, 398, 401, 402, 403, 404, 0, 0, 145, 400, - 405, 406, 407, 0, 0, 0, 0, 375, 392, 0, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 389, 390, 462, 0, 0, 0, 435, 0, 391, 0, - 0, 384, 385, 387, 386, 388, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 172, 434, 0, 0, - 313, 0, 0, 432, 0, 250, 0, 284, 176, 193, - 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, - 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, - 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, - 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, - 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, - 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, - 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, - 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, - 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, - 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, - 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, - 255, 325, 235, 261, 147, 305, 278, 422, 433, 428, - 429, 426, 427, 425, 424, 423, 436, 414, 415, 416, - 417, 419, 0, 430, 431, 418, 125, 135, 196, 324, - 253, 168, 307, 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, 127, 128, - 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, - 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, - 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, - 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, - 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, - 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, - 0, 0, 378, 0, 0, 0, 160, 0, 377, 0, - 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, - 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, - 232, 421, 197, 0, 0, 279, 214, 0, 0, 0, - 0, 0, 412, 413, 0, 0, 0, 0, 0, 0, - 1117, 0, 186, 149, 129, 225, 280, 167, 64, 0, - 0, 112, 113, 114, 399, 398, 401, 402, 403, 404, - 0, 0, 145, 400, 405, 406, 407, 1118, 0, 0, - 0, 375, 392, 0, 420, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 389, 390, 0, 0, 0, 0, - 435, 0, 391, 0, 0, 384, 385, 387, 386, 388, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 434, 0, 0, 313, 0, 0, 432, 0, 250, - 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, - 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, - 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, - 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, - 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, - 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, - 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, - 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, - 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, - 306, 327, 143, 0, 289, 319, 322, 0, 252, 144, - 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, - 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, - 278, 422, 433, 428, 429, 426, 427, 425, 424, 423, - 436, 414, 415, 416, 417, 419, 0, 430, 431, 418, - 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, 166, - 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, - 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, - 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, - 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, - 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, - 317, 228, 0, 0, 0, 0, 378, 0, 0, 0, - 160, 0, 377, 0, 0, 0, 194, 0, 0, 239, - 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, - 182, 206, 238, 287, 232, 421, 197, 0, 0, 279, - 214, 0, 0, 0, 0, 0, 412, 413, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, - 280, 167, 64, 0, 450, 112, 113, 114, 399, 398, - 401, 402, 403, 404, 0, 0, 145, 400, 405, 406, - 407, 0, 0, 0, 0, 375, 392, 0, 420, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 389, 390, - 0, 0, 0, 0, 435, 0, 391, 0, 0, 384, - 385, 387, 386, 388, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 434, 0, 0, 313, 0, - 0, 432, 0, 250, 0, 284, 176, 193, 141, 190, - 126, 137, 0, 174, 224, 258, 262, 0, 0, 0, - 152, 0, 260, 236, 303, 0, 240, 259, 198, 292, - 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, - 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, - 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, - 154, 227, 295, 296, 153, 326, 138, 310, 134, 139, - 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, - 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, - 0, 0, 0, 281, 306, 327, 143, 0, 289, 319, - 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, - 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, - 235, 261, 147, 305, 278, 422, 433, 428, 429, 426, - 427, 425, 424, 423, 436, 414, 415, 416, 417, 419, - 0, 430, 431, 418, 125, 135, 196, 324, 253, 168, - 307, 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, 127, 128, 136, 142, - 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, - 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, - 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, - 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, - 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, - 312, 316, 175, 301, 317, 228, 0, 0, 0, 0, - 378, 0, 0, 0, 160, 0, 377, 0, 0, 0, - 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, - 165, 161, 159, 150, 182, 206, 238, 287, 232, 421, - 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, - 412, 413, 0, 0, 0, 0, 0, 0, 0, 0, - 186, 149, 129, 225, 280, 167, 64, 0, 0, 112, - 113, 114, 399, 398, 401, 402, 403, 404, 0, 0, - 145, 400, 405, 406, 407, 0, 0, 0, 0, 375, - 392, 0, 420, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 389, 390, 462, 0, 0, 0, 435, 0, - 391, 0, 0, 384, 385, 387, 386, 388, 393, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 434, - 0, 0, 313, 0, 0, 432, 0, 250, 0, 284, - 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, - 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, - 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, - 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, - 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, - 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, - 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, - 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, - 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, - 143, 0, 289, 319, 322, 0, 252, 144, 171, 163, + 178, 248, 201, 249, 179, 216, 215, 217, 0, 489, + 0, 281, 306, 327, 143, 505, 578, 289, 319, 322, + 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, + 321, 483, 481, 476, 475, 191, 199, 255, 325, 235, + 261, 147, 305, 278, 501, 504, 499, 500, 548, 549, + 597, 598, 599, 574, 495, 0, 502, 503, 0, 580, + 587, 588, 552, 125, 135, 196, 324, 253, 168, 307, + 485, 498, 156, 508, 0, 0, 521, 526, 527, 539, + 541, 542, 543, 544, 551, 558, 559, 561, 568, 569, + 570, 571, 576, 584, 603, 127, 128, 136, 142, 148, + 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, + 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, + 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, + 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, + 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, + 316, 175, 301, 317, 228, 0, 0, 1013, 0, 379, + 0, 0, 0, 160, 0, 378, 0, 0, 0, 194, + 0, 1014, 239, 0, 271, 151, 202, 200, 290, 165, + 161, 159, 150, 182, 206, 238, 287, 232, 422, 197, + 0, 0, 279, 214, 0, 0, 0, 0, 0, 413, + 414, 0, 0, 0, 0, 0, 0, 0, 0, 186, + 149, 129, 225, 280, 167, 64, 0, 0, 112, 113, + 114, 400, 399, 402, 403, 404, 405, 0, 0, 145, + 401, 406, 407, 408, 0, 0, 0, 0, 376, 393, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 390, 391, 463, 0, 0, 0, 436, 0, 392, + 0, 0, 385, 386, 388, 387, 389, 394, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 435, 0, + 0, 313, 0, 0, 433, 0, 250, 0, 284, 176, + 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, + 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, + 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, + 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, + 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, + 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, + 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, + 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, + 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, + 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, - 191, 199, 255, 325, 235, 261, 147, 305, 278, 422, - 433, 428, 429, 426, 427, 425, 424, 423, 436, 414, - 415, 416, 417, 419, 0, 430, 431, 418, 125, 135, + 191, 199, 255, 325, 235, 261, 147, 305, 278, 423, + 434, 429, 430, 427, 428, 426, 425, 424, 437, 415, + 416, 417, 418, 420, 0, 431, 432, 419, 125, 135, 196, 324, 253, 168, 307, 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, @@ -1928,20 +1825,20 @@ var yyAct = [...]int{ 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, - 0, 0, 0, 0, 378, 0, 0, 0, 160, 0, - 377, 0, 0, 0, 194, 0, 0, 239, 0, 271, + 0, 0, 0, 0, 379, 0, 0, 0, 160, 0, + 378, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, - 238, 287, 232, 421, 197, 0, 0, 279, 214, 0, - 0, 0, 0, 0, 412, 413, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, - 64, 0, 0, 112, 113, 114, 399, 1028, 401, 402, - 403, 404, 0, 0, 145, 400, 405, 406, 407, 0, - 0, 0, 0, 375, 392, 0, 420, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 389, 390, 462, 0, - 0, 0, 435, 0, 391, 0, 0, 384, 385, 387, - 386, 388, 393, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 434, 0, 0, 313, 0, 0, 432, + 238, 287, 232, 422, 197, 0, 0, 279, 214, 0, + 0, 0, 0, 0, 413, 414, 0, 0, 0, 0, + 0, 0, 1120, 0, 186, 149, 129, 225, 280, 167, + 64, 0, 0, 112, 113, 114, 400, 399, 402, 403, + 404, 405, 0, 0, 145, 401, 406, 407, 408, 1121, + 0, 0, 0, 376, 393, 0, 421, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 391, 0, 0, + 0, 0, 436, 0, 392, 0, 0, 385, 386, 388, + 387, 389, 394, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 435, 0, 0, 313, 0, 0, 433, 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, @@ -1951,88 +1848,87 @@ var yyAct = [...]int{ 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, - 0, 281, 306, 327, 143, 0, 289, 319, 322, 0, - 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, - 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, - 147, 305, 278, 422, 433, 428, 429, 426, 427, 425, - 424, 423, 436, 414, 415, 416, 417, 419, 0, 430, - 431, 418, 125, 135, 196, 324, 253, 168, 307, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 281, 306, 327, 143, 0, 0, 289, 319, 322, + 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, + 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, + 261, 147, 305, 278, 423, 434, 429, 430, 427, 428, + 426, 425, 424, 437, 415, 416, 417, 418, 420, 0, + 431, 432, 419, 125, 135, 196, 324, 253, 168, 307, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 128, 136, 142, 148, 155, - 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, - 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, - 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, - 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, - 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, - 175, 301, 317, 228, 0, 0, 0, 0, 378, 0, - 0, 0, 160, 0, 377, 0, 0, 0, 194, 0, - 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, - 159, 150, 182, 206, 238, 287, 232, 421, 197, 0, - 0, 279, 214, 0, 0, 0, 0, 0, 412, 413, - 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, - 129, 225, 280, 167, 64, 0, 0, 112, 113, 114, - 399, 1025, 401, 402, 403, 404, 0, 0, 145, 400, - 405, 406, 407, 0, 0, 0, 0, 375, 392, 0, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 389, 390, 462, 0, 0, 0, 435, 0, 391, 0, - 0, 384, 385, 387, 386, 388, 393, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 172, 434, 0, 0, - 313, 0, 0, 432, 0, 250, 0, 284, 176, 193, - 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, - 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, - 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, - 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, - 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, - 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, - 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, - 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, - 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, - 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, - 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, - 255, 325, 235, 261, 147, 305, 278, 422, 433, 428, - 429, 426, 427, 425, 424, 423, 436, 414, 415, 416, - 417, 419, 0, 430, 431, 418, 125, 135, 196, 324, - 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 128, 136, 142, 148, + 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, + 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, + 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, + 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, + 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, + 316, 175, 301, 317, 228, 0, 0, 0, 0, 379, + 0, 0, 0, 160, 0, 378, 0, 0, 0, 194, + 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, + 161, 159, 150, 182, 206, 238, 287, 232, 422, 197, + 0, 0, 279, 214, 0, 0, 0, 0, 0, 413, + 414, 0, 0, 0, 0, 0, 0, 0, 0, 186, + 149, 129, 225, 280, 167, 64, 0, 451, 112, 113, + 114, 400, 399, 402, 403, 404, 405, 0, 0, 145, + 401, 406, 407, 408, 0, 0, 0, 0, 376, 393, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 390, 391, 0, 0, 0, 0, 436, 0, 392, + 0, 0, 385, 386, 388, 387, 389, 394, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 435, 0, + 0, 313, 0, 0, 433, 0, 250, 0, 284, 176, + 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, + 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, + 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, + 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, + 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, + 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, + 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, + 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, + 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, + 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, + 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, + 191, 199, 255, 325, 235, 261, 147, 305, 278, 423, + 434, 429, 430, 427, 428, 426, 425, 424, 437, 415, + 416, 417, 418, 420, 0, 431, 432, 419, 125, 135, + 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, - 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, - 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, - 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, - 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, - 294, 304, 312, 316, 175, 301, 317, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 378, 0, 0, 0, 160, - 0, 377, 0, 0, 0, 194, 0, 0, 239, 0, - 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, - 206, 238, 287, 232, 421, 197, 0, 0, 279, 214, - 0, 0, 0, 0, 0, 412, 413, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, - 167, 64, 0, 0, 112, 113, 114, 399, 398, 401, - 402, 403, 404, 0, 0, 145, 400, 405, 406, 407, - 0, 0, 0, 0, 375, 392, 0, 420, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 389, 390, 0, - 0, 0, 0, 435, 0, 391, 0, 0, 384, 385, - 387, 386, 388, 393, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 172, 434, 0, 0, 313, 0, 0, - 432, 0, 250, 0, 284, 176, 193, 141, 190, 126, - 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, - 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, - 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, - 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, - 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, - 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, - 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, - 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, - 0, 0, 281, 306, 327, 143, 0, 289, 319, 322, + 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, + 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, + 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, + 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, + 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, + 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, + 0, 0, 0, 0, 379, 0, 0, 0, 160, 0, + 378, 0, 0, 0, 194, 0, 0, 239, 0, 271, + 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, + 238, 287, 232, 422, 197, 0, 0, 279, 214, 0, + 0, 0, 0, 0, 413, 414, 0, 0, 0, 0, + 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, + 64, 0, 0, 112, 113, 114, 400, 399, 402, 403, + 404, 405, 0, 0, 145, 401, 406, 407, 408, 0, + 0, 0, 0, 376, 393, 0, 421, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 391, 463, 0, + 0, 0, 436, 0, 392, 0, 0, 385, 386, 388, + 387, 389, 394, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 435, 0, 0, 313, 0, 0, 433, + 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, + 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, + 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, + 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, + 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, + 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, + 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, + 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, + 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, + 0, 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, - 261, 147, 305, 278, 422, 433, 428, 429, 426, 427, - 425, 424, 423, 436, 414, 415, 416, 417, 419, 0, - 430, 431, 418, 125, 135, 196, 324, 253, 168, 307, + 261, 147, 305, 278, 423, 434, 429, 430, 427, 428, + 426, 425, 424, 437, 415, 416, 417, 418, 420, 0, + 431, 432, 419, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, @@ -2041,21 +1937,21 @@ var yyAct = [...]int{ 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, - 316, 175, 301, 317, 228, 0, 0, 0, 0, 378, - 0, 0, 0, 160, 0, 377, 0, 0, 0, 194, + 316, 175, 301, 317, 228, 0, 0, 0, 0, 379, + 0, 0, 0, 160, 0, 378, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, - 161, 159, 150, 182, 206, 238, 287, 232, 421, 197, - 0, 0, 279, 214, 0, 0, 0, 0, 0, 412, - 413, 0, 0, 0, 0, 0, 0, 0, 0, 186, + 161, 159, 150, 182, 206, 238, 287, 232, 422, 197, + 0, 0, 279, 214, 0, 0, 0, 0, 0, 413, + 414, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, 64, 0, 0, 112, 113, - 114, 399, 398, 401, 402, 403, 404, 0, 0, 145, - 400, 405, 406, 407, 0, 0, 0, 0, 375, 392, - 0, 420, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 389, 390, 0, 0, 0, 0, 435, 0, 391, - 0, 0, 384, 385, 387, 386, 388, 393, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 434, 0, - 0, 313, 0, 0, 432, 0, 250, 0, 284, 176, + 114, 400, 1031, 402, 403, 404, 405, 0, 0, 145, + 401, 406, 407, 408, 0, 0, 0, 0, 376, 393, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 390, 391, 463, 0, 0, 0, 436, 0, 392, + 0, 0, 385, 386, 388, 387, 389, 394, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 435, 0, + 0, 313, 0, 0, 433, 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, @@ -2065,49 +1961,163 @@ var yyAct = [...]int{ 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, - 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, - 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, - 199, 255, 325, 235, 261, 147, 305, 278, 422, 433, - 428, 429, 426, 427, 425, 424, 423, 436, 414, 415, - 416, 417, 419, 0, 430, 431, 418, 125, 135, 196, - 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, + 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, + 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, + 191, 199, 255, 325, 235, 261, 147, 305, 278, 423, + 434, 429, 430, 427, 428, 426, 425, 424, 437, 415, + 416, 417, 418, 420, 0, 431, 432, 419, 125, 135, + 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, - 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, - 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, - 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, - 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, - 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, - 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, - 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, - 287, 232, 421, 197, 0, 0, 279, 214, 0, 0, - 0, 0, 0, 412, 413, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 149, 129, 225, 280, 167, 64, - 0, 0, 112, 113, 114, 399, 398, 401, 402, 403, - 404, 0, 0, 145, 400, 405, 406, 407, 0, 0, - 0, 0, 0, 392, 0, 420, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 389, 390, 0, 0, 0, - 0, 435, 0, 391, 0, 0, 384, 385, 387, 386, - 388, 393, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 172, 434, 0, 0, 313, 0, 0, 432, 0, - 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, - 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, - 236, 303, 1760, 240, 259, 198, 292, 251, 302, 314, - 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, - 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, - 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, - 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, - 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, - 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, - 281, 306, 327, 143, 0, 289, 319, 322, 0, 252, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, + 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, + 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, + 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, + 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, + 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, + 0, 0, 0, 0, 379, 0, 0, 0, 160, 0, + 378, 0, 0, 0, 194, 0, 0, 239, 0, 271, + 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, + 238, 287, 232, 422, 197, 0, 0, 279, 214, 0, + 0, 0, 0, 0, 413, 414, 0, 0, 0, 0, + 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, + 64, 0, 0, 112, 113, 114, 400, 1028, 402, 403, + 404, 405, 0, 0, 145, 401, 406, 407, 408, 0, + 0, 0, 0, 376, 393, 0, 421, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 391, 463, 0, + 0, 0, 436, 0, 392, 0, 0, 385, 386, 388, + 387, 389, 394, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 435, 0, 0, 313, 0, 0, 433, + 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, + 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, + 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, + 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, + 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, + 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, + 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, + 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, + 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, + 0, 281, 306, 327, 143, 0, 0, 289, 319, 322, + 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, + 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, + 261, 147, 305, 278, 423, 434, 429, 430, 427, 428, + 426, 425, 424, 437, 415, 416, 417, 418, 420, 0, + 431, 432, 419, 125, 135, 196, 324, 253, 168, 307, + 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, 127, 128, 136, 142, 148, + 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, + 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, + 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, + 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, + 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, + 316, 175, 301, 317, 444, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, + 0, 0, 379, 0, 0, 0, 160, 0, 378, 0, + 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, + 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, + 232, 422, 197, 0, 0, 279, 214, 0, 0, 0, + 0, 0, 413, 414, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 149, 129, 225, 280, 167, 64, 0, + 0, 112, 113, 114, 400, 399, 402, 403, 404, 405, + 0, 0, 145, 401, 406, 407, 408, 0, 0, 0, + 0, 376, 393, 0, 421, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 391, 0, 0, 0, 0, + 436, 0, 392, 0, 0, 385, 386, 388, 387, 389, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 435, 0, 0, 313, 0, 0, 433, 0, 250, + 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, + 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, + 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, + 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, + 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, + 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, + 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, + 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, + 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, + 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, + 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, + 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, + 305, 278, 423, 434, 429, 430, 427, 428, 426, 425, + 424, 437, 415, 416, 417, 418, 420, 0, 431, 432, + 419, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, + 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, + 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, + 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, + 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, + 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, + 301, 317, 228, 0, 0, 0, 0, 379, 0, 0, + 0, 160, 0, 378, 0, 0, 0, 194, 0, 0, + 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, + 150, 182, 206, 238, 287, 232, 422, 197, 0, 0, + 279, 214, 0, 0, 0, 0, 0, 413, 414, 0, + 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, + 225, 280, 167, 64, 0, 0, 112, 113, 114, 400, + 399, 402, 403, 404, 405, 0, 0, 145, 401, 406, + 407, 408, 0, 0, 0, 0, 376, 393, 0, 421, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, + 391, 0, 0, 0, 0, 436, 0, 392, 0, 0, + 385, 386, 388, 387, 389, 394, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 435, 0, 0, 313, + 0, 0, 433, 0, 250, 0, 284, 176, 193, 141, + 190, 126, 137, 0, 174, 224, 258, 262, 0, 0, + 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, + 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, + 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, + 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, + 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, + 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, + 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, + 217, 0, 0, 0, 281, 306, 327, 143, 0, 0, + 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, + 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, + 255, 325, 235, 261, 147, 305, 278, 423, 434, 429, + 430, 427, 428, 426, 425, 424, 437, 415, 416, 417, + 418, 420, 0, 431, 432, 419, 125, 135, 196, 324, + 253, 168, 307, 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, 127, 128, + 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, + 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, + 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, + 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, + 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, + 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, + 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, + 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, + 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, + 232, 422, 197, 0, 0, 279, 214, 0, 0, 0, + 0, 0, 413, 414, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 149, 129, 225, 280, 167, 64, 0, + 0, 112, 113, 114, 400, 399, 402, 403, 404, 405, + 0, 0, 145, 401, 406, 407, 408, 0, 0, 0, + 0, 0, 393, 0, 421, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 391, 0, 0, 0, 0, + 436, 0, 392, 0, 0, 385, 386, 388, 387, 389, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 435, 0, 0, 313, 0, 0, 433, 0, 250, + 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, + 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, + 303, 1763, 240, 259, 198, 292, 251, 302, 314, 315, + 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, + 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, + 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, + 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, + 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, + 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, + 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, - 305, 278, 422, 433, 428, 429, 426, 427, 425, 424, - 423, 436, 414, 415, 416, 417, 419, 0, 430, 431, - 418, 125, 135, 196, 324, 253, 168, 307, 0, 0, + 305, 278, 423, 434, 429, 430, 427, 428, 426, 425, + 424, 437, 415, 416, 417, 418, 420, 0, 431, 432, + 419, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, @@ -2119,18 +2129,18 @@ var yyAct = [...]int{ 301, 317, 228, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, - 150, 182, 206, 238, 287, 232, 421, 197, 0, 0, - 279, 214, 0, 0, 0, 0, 0, 412, 413, 0, + 150, 182, 206, 238, 287, 232, 422, 197, 0, 0, + 279, 214, 0, 0, 0, 0, 0, 413, 414, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, - 225, 280, 167, 64, 0, 450, 112, 113, 114, 399, - 398, 401, 402, 403, 404, 0, 0, 145, 400, 405, - 406, 407, 0, 0, 0, 0, 0, 392, 0, 420, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, - 390, 0, 0, 0, 0, 435, 0, 391, 0, 0, - 384, 385, 387, 386, 388, 393, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 434, 0, 0, 313, - 0, 0, 432, 0, 250, 0, 284, 176, 193, 141, + 225, 280, 167, 64, 0, 451, 112, 113, 114, 400, + 399, 402, 403, 404, 405, 0, 0, 145, 401, 406, + 407, 408, 0, 0, 0, 0, 0, 393, 0, 421, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, + 391, 0, 0, 0, 0, 436, 0, 392, 0, 0, + 385, 386, 388, 387, 389, 394, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 435, 0, 0, 313, + 0, 0, 433, 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, @@ -2139,70 +2149,184 @@ var yyAct = [...]int{ 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, - 217, 0, 0, 0, 281, 306, 327, 143, 0, 289, - 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, - 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, - 325, 235, 261, 147, 305, 278, 422, 433, 428, 429, - 426, 427, 425, 424, 423, 436, 414, 415, 416, 417, - 419, 0, 430, 431, 418, 125, 135, 196, 324, 253, - 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, + 217, 0, 0, 0, 281, 306, 327, 143, 0, 0, + 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, + 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, + 255, 325, 235, 261, 147, 305, 278, 423, 434, 429, + 430, 427, 428, 426, 425, 424, 437, 415, 416, 417, + 418, 420, 0, 431, 432, 419, 125, 135, 196, 324, + 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 127, 128, 136, - 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, - 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, - 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, - 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, - 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, - 304, 312, 316, 175, 301, 317, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, - 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, - 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, - 421, 197, 0, 0, 279, 214, 0, 0, 0, 0, - 0, 412, 413, 0, 0, 0, 0, 0, 0, 0, - 0, 186, 149, 129, 225, 280, 167, 64, 0, 0, - 112, 113, 114, 399, 398, 401, 402, 403, 404, 0, - 0, 145, 400, 405, 406, 407, 0, 0, 0, 0, - 0, 392, 0, 420, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 389, 390, 0, 0, 0, 0, 435, - 0, 391, 0, 0, 384, 385, 387, 386, 388, 393, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 434, 0, 0, 313, 0, 0, 432, 0, 250, 0, - 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, - 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, - 0, 240, 259, 198, 292, 251, 302, 314, 315, 157, - 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, - 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, - 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, - 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, - 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, - 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, - 327, 143, 0, 289, 319, 322, 0, 252, 144, 171, - 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, - 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, - 422, 433, 428, 429, 426, 427, 425, 424, 423, 436, - 414, 415, 416, 417, 419, 0, 430, 431, 418, 125, - 135, 196, 324, 253, 168, 307, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, + 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, + 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, + 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, + 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, + 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, + 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, + 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, + 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, + 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, + 232, 422, 197, 0, 0, 279, 214, 0, 0, 0, + 0, 0, 413, 414, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 149, 129, 225, 280, 167, 64, 0, + 0, 112, 113, 114, 400, 399, 402, 403, 404, 405, + 0, 0, 145, 401, 406, 407, 408, 0, 0, 0, + 0, 0, 393, 0, 421, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 391, 0, 0, 0, 0, + 436, 0, 392, 0, 0, 385, 386, 388, 387, 389, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 435, 0, 0, 313, 0, 0, 433, 0, 250, + 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, + 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, + 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, + 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, + 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, + 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, + 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, + 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, + 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, + 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, + 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, + 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, + 305, 278, 423, 434, 429, 430, 427, 428, 426, 425, + 424, 437, 415, 416, 417, 418, 420, 0, 431, 432, + 419, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, + 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, + 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, + 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, + 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, + 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, + 301, 317, 228, 0, 0, 0, 0, 0, 0, 0, + 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, + 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, + 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, + 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, + 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, + 0, 0, 0, 0, 0, 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, 709, 708, 718, 719, 711, + 712, 713, 714, 715, 716, 717, 710, 0, 0, 720, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 0, 0, 0, 313, + 0, 0, 0, 0, 250, 0, 284, 176, 193, 141, + 190, 126, 137, 0, 174, 224, 258, 262, 0, 0, + 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, + 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, + 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, + 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, + 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, + 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, + 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, + 217, 0, 0, 0, 281, 306, 327, 143, 0, 0, + 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, + 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, + 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 125, 135, 196, 324, + 253, 168, 307, 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, 127, 128, + 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, + 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, + 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, + 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, + 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, + 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, + 0, 805, 0, 0, 0, 0, 160, 0, 0, 0, + 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, + 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, + 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 149, 129, 225, 280, 167, 0, 0, + 0, 112, 113, 114, 0, 807, 0, 0, 0, 0, + 0, 0, 145, 0, 0, 0, 0, 0, 698, 699, + 697, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 700, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 313, 0, 0, 0, 0, 250, + 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, + 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, + 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, + 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, + 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, + 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, + 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, + 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, + 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, + 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, + 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, + 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, + 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, + 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, + 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, + 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, + 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, + 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, + 301, 317, 228, 0, 0, 0, 0, 0, 0, 0, + 0, 160, 1145, 0, 0, 0, 0, 194, 0, 0, + 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, + 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, + 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, + 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, + 0, 0, 0, 0, 0, 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, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 0, 0, 1144, 313, + 0, 0, 0, 1140, 1137, 0, 1138, 1139, 193, 612, + 190, 126, 137, 1135, 1142, 224, 258, 262, 0, 0, + 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, + 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, + 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, + 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, + 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, + 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, + 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, + 217, 0, 0, 0, 281, 306, 327, 143, 0, 0, + 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, + 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, + 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 125, 135, 196, 324, + 253, 168, 307, 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, 127, 128, + 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, + 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, + 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, + 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, + 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, + 294, 304, 312, 316, 175, 301, 317, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 136, 142, 148, 155, 162, 166, 173, - 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, - 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, - 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, - 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, - 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, - 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, + 167, 64, 0, 451, 112, 113, 114, 0, 0, 0, 0, 0, 0, 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, 706, 705, 715, 716, 708, 709, 710, - 711, 712, 713, 714, 707, 0, 0, 717, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 313, 0, 0, 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, @@ -2214,104 +2338,28 @@ var yyAct = [...]int{ 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, - 0, 0, 281, 306, 327, 143, 0, 289, 319, 322, - 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, - 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, - 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 135, 196, 324, 253, 168, 307, - 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, 127, 128, 136, 142, 148, - 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, - 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, - 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, - 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, - 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, - 316, 175, 301, 317, 228, 0, 0, 0, 802, 0, - 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, - 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, - 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, - 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, - 114, 0, 804, 0, 0, 0, 0, 0, 0, 145, - 0, 0, 0, 0, 0, 695, 696, 694, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 697, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, - 0, 313, 0, 0, 0, 0, 250, 0, 284, 176, - 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, - 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, - 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, - 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, - 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, - 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, - 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, - 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, - 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, - 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, - 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, - 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 125, 135, 196, - 324, 253, 168, 307, 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, 127, - 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, - 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, - 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, - 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, - 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, - 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 160, 1142, 0, - 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, - 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, - 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, - 0, 0, 112, 113, 114, 0, 0, 0, 0, 0, - 0, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 172, 0, 0, 1141, 313, 0, 0, 0, 1137, - 1134, 0, 1135, 1136, 193, 610, 190, 126, 137, 1132, - 1139, 224, 258, 262, 0, 0, 0, 152, 0, 260, - 236, 303, 0, 240, 259, 198, 292, 251, 302, 314, - 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, - 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, - 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, - 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, - 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, - 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, - 281, 306, 327, 143, 0, 289, 319, 322, 0, 252, - 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, - 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, - 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 281, 306, 327, 143, 0, 0, 289, 319, + 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, + 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, + 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 135, 196, 324, 253, 168, 307, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 135, 196, 324, 253, 168, + 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 128, 136, 142, 148, 155, 162, - 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, - 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, - 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, - 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, - 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, - 301, 317, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 128, 136, 142, + 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, + 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, + 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, + 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, + 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, + 312, 316, 175, 301, 317, 228, 0, 0, 0, 1102, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 186, 149, 129, 225, 280, 167, 64, 0, 450, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, + 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, + 113, 114, 0, 1104, 0, 0, 0, 0, 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, @@ -2328,44 +2376,83 @@ var yyAct = [...]int{ 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, - 143, 0, 289, 319, 322, 0, 252, 144, 171, 163, - 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, - 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, + 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, + 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, + 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 125, 135, - 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, + 135, 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, - 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, - 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, - 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, - 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, - 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, - 0, 0, 0, 1099, 0, 0, 0, 0, 160, 0, - 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, - 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, - 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, + 0, 127, 128, 136, 142, 148, 155, 162, 166, 173, + 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, + 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, + 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, + 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, + 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, + 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, + 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, + 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, + 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, + 129, 225, 280, 167, 64, 0, 0, 112, 113, 114, + 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, - 0, 0, 0, 112, 113, 114, 0, 1101, 0, 0, - 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 313, 0, 0, 0, 0, 250, 0, 284, 176, 193, + 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, + 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, + 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, + 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, + 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, + 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, + 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, + 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, + 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, + 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, + 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, + 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 0, 0, 0, 313, 0, 0, 0, - 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, - 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, - 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, - 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, - 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, - 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, - 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, - 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, - 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, - 0, 281, 306, 327, 143, 0, 289, 319, 322, 0, + 0, 0, 0, 0, 0, 0, 0, 125, 135, 196, + 324, 253, 168, 307, 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, 127, + 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, + 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, + 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, + 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, + 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, + 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, + 0, 0, 1102, 0, 0, 0, 0, 160, 0, 0, + 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, + 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, + 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, + 0, 0, 112, 113, 114, 0, 1104, 0, 0, 0, + 0, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 313, 0, 0, 0, 0, + 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, + 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, + 236, 303, 0, 1100, 259, 198, 292, 251, 302, 314, + 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, + 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, + 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, + 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, + 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, + 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, + 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, @@ -2379,106 +2466,30 @@ var yyAct = [...]int{ 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, - 175, 301, 317, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, - 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, - 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, - 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 186, 149, 129, 225, 280, 167, 64, 0, 0, - 112, 113, 114, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 0, 0, 0, 313, 0, 0, 0, 0, 250, 0, - 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, - 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, - 0, 240, 259, 198, 292, 251, 302, 314, 315, 157, - 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, - 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, - 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, - 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, - 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, - 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, - 327, 143, 0, 289, 319, 322, 0, 252, 144, 171, - 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, - 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, 166, 173, - 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, - 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, - 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, - 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, - 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, - 228, 0, 0, 0, 1099, 0, 0, 0, 0, 160, - 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, - 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, - 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, - 167, 0, 0, 0, 112, 113, 114, 0, 1101, 0, - 0, 0, 0, 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, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 172, 0, 0, 0, 313, 0, 0, - 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, - 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, - 0, 260, 236, 303, 0, 1097, 259, 198, 292, 251, - 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, - 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, - 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, - 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, - 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, - 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, - 0, 0, 281, 306, 327, 143, 0, 289, 319, 322, - 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, - 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, - 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 135, 196, 324, 253, 168, 307, - 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, 127, 128, 136, 142, 148, - 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, - 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, - 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, - 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, - 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, - 316, 175, 301, 317, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, - 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, - 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, - 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, - 114, 0, 0, 1064, 0, 0, 1065, 0, 0, 145, + 175, 301, 317, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, + 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, + 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, + 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, + 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, + 0, 0, 1067, 0, 0, 1068, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, - 0, 313, 0, 0, 0, 0, 250, 0, 284, 176, - 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, - 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, - 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, - 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, - 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, - 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, - 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, - 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, - 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 313, 0, 0, 0, 0, 250, 0, 284, 176, 193, + 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, + 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, + 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, + 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, + 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, + 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, + 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, + 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, + 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, @@ -2493,13 +2504,13 @@ var yyAct = [...]int{ 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 160, 0, 836, + 0, 0, 0, 0, 0, 0, 0, 160, 0, 839, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, - 0, 0, 112, 113, 114, 0, 835, 0, 0, 0, + 0, 0, 112, 113, 114, 0, 838, 0, 0, 0, 0, 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, @@ -2516,156 +2527,119 @@ var yyAct = [...]int{ 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, - 281, 306, 327, 143, 0, 289, 319, 322, 0, 252, - 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, - 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, - 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, - 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, - 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, - 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, - 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, - 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, - 301, 317, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, - 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, - 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, - 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, - 225, 280, 167, 0, 0, 0, 112, 113, 114, 0, - 0, 0, 0, 0, 0, 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, 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, 0, 0, - 0, 0, 0, 0, 0, 172, 0, 0, 0, 313, - 0, 0, 0, 0, 250, 0, 284, 176, 193, 610, - 190, 126, 137, 608, 174, 224, 258, 262, 0, 0, - 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, - 292, 251, 302, 314, 315, 157, 218, 308, 288, 311, - 323, 276, 130, 286, 300, 146, 270, 0, 0, 0, - 132, 298, 283, 212, 187, 188, 131, 0, 256, 158, - 170, 154, 227, 295, 296, 153, 326, 138, 310, 134, - 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, - 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, - 217, 0, 0, 0, 281, 306, 327, 143, 0, 289, - 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, - 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, - 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 135, 196, 324, 253, - 168, 307, 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, 127, 128, 136, - 142, 148, 155, 162, 166, 173, 177, 180, 183, 184, - 185, 189, 203, 207, 208, 209, 210, 221, 222, 223, - 226, 229, 230, 231, 233, 234, 237, 241, 242, 243, - 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, - 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, - 304, 312, 316, 175, 301, 317, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, - 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, - 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, - 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, + 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, + 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, + 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, + 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 186, 149, 129, 225, 280, 167, 0, 0, 450, - 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, - 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, + 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, + 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, + 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, + 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, + 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, + 175, 301, 317, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, + 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, + 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, + 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, + 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, + 0, 0, 0, 0, 0, 0, 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, 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, 172, - 0, 0, 0, 313, 0, 0, 0, 0, 250, 0, - 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, - 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, - 0, 240, 259, 198, 292, 251, 302, 314, 315, 157, - 218, 308, 288, 311, 323, 276, 130, 286, 300, 146, - 270, 0, 0, 0, 132, 298, 283, 212, 187, 188, - 131, 0, 256, 158, 170, 154, 227, 295, 296, 153, - 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, - 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, - 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, - 327, 143, 0, 289, 319, 322, 0, 252, 144, 171, - 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, - 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 135, 196, 324, 253, 168, 307, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 313, 0, 0, 0, 0, 250, 0, 284, 176, 193, + 612, 190, 126, 137, 610, 174, 224, 258, 262, 0, + 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, + 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, + 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, + 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, + 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, + 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, + 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, + 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, + 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, + 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, + 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 125, 135, 196, + 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 136, 142, 148, 155, 162, 166, 173, - 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, - 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, - 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, - 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, - 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 160, - 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, - 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, - 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, + 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, + 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, + 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, + 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, + 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, + 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, + 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, + 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, - 167, 64, 0, 0, 112, 113, 114, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, + 0, 451, 112, 113, 114, 0, 0, 0, 0, 0, + 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 172, 0, 0, 0, 313, 0, 0, - 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, - 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, - 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, - 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, - 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, - 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, - 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, - 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, - 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, - 0, 0, 281, 306, 327, 143, 0, 289, 319, 322, - 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, - 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, - 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 313, 0, 0, 0, 0, + 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, + 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, + 236, 303, 0, 240, 259, 198, 292, 251, 302, 314, + 315, 157, 218, 308, 288, 311, 323, 276, 130, 286, + 300, 146, 270, 0, 0, 0, 132, 298, 283, 212, + 187, 188, 131, 0, 256, 158, 170, 154, 227, 295, + 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, + 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, + 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, + 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, + 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, + 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, + 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 135, 196, 324, 253, 168, 307, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, - 155, 162, 166, 173, 177, 180, 183, 184, 185, 189, - 203, 207, 208, 209, 210, 221, 222, 223, 226, 229, - 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, - 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, - 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, - 316, 175, 301, 317, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, - 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, - 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, - 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, - 114, 0, 1101, 0, 0, 0, 0, 0, 0, 145, + 0, 0, 0, 0, 127, 128, 136, 142, 148, 155, + 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, + 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, + 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, + 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, + 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, + 175, 301, 317, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, + 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, + 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, + 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, + 129, 225, 280, 167, 64, 0, 0, 112, 113, 114, + 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, - 0, 313, 0, 0, 0, 0, 250, 0, 284, 176, - 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, - 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, - 259, 198, 292, 251, 302, 314, 315, 157, 218, 308, - 288, 311, 323, 276, 130, 286, 300, 146, 270, 0, - 0, 0, 132, 298, 283, 212, 187, 188, 131, 0, - 256, 158, 170, 154, 227, 295, 296, 153, 326, 138, - 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, - 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, - 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 313, 0, 0, 0, 0, 250, 0, 284, 176, 193, + 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, + 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, + 198, 292, 251, 302, 314, 315, 157, 218, 308, 288, + 311, 323, 276, 130, 286, 300, 146, 270, 0, 0, + 0, 132, 298, 283, 212, 187, 188, 131, 0, 256, + 158, 170, 154, 227, 295, 296, 153, 326, 138, 310, + 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, + 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, + 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, @@ -2686,7 +2660,7 @@ var yyAct = [...]int{ 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, - 0, 0, 112, 113, 114, 0, 804, 0, 0, 0, + 0, 0, 112, 113, 114, 0, 1104, 0, 0, 0, 0, 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, @@ -2703,45 +2677,7 @@ var yyAct = [...]int{ 296, 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, - 281, 306, 327, 143, 0, 289, 319, 322, 0, 252, - 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, - 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, - 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, - 166, 173, 177, 180, 183, 184, 185, 189, 203, 207, - 208, 209, 210, 221, 222, 223, 226, 229, 230, 231, - 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, - 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, - 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, - 301, 317, 818, 0, 0, 0, 0, 0, 0, 228, - 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, - 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, - 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, - 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, - 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 0, 0, 0, 313, 0, 0, 0, - 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, - 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, - 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, - 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, - 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, - 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, - 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, - 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, - 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, - 0, 281, 306, 327, 143, 0, 289, 319, 322, 0, + 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, @@ -2756,13 +2692,13 @@ var yyAct = [...]int{ 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, 0, 0, 0, 0, - 0, 808, 160, 0, 0, 0, 0, 0, 194, 0, + 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, 113, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, + 0, 807, 0, 0, 0, 0, 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, 0, 0, @@ -2779,81 +2715,82 @@ var yyAct = [...]int{ 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, 143, 0, - 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, - 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, - 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, + 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, + 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, + 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 125, 135, 196, 324, - 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 125, 135, 196, + 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 136, 142, 148, 155, 162, 166, 173, 177, 180, 183, - 184, 185, 189, 203, 207, 208, 209, 210, 221, 222, - 223, 226, 229, 230, 231, 233, 234, 237, 241, 242, - 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, - 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, - 294, 304, 312, 316, 175, 301, 317, 228, 0, 0, - 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, - 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, - 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, - 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 128, 136, 142, 148, 155, 162, 166, 173, 177, 180, + 183, 184, 185, 189, 203, 207, 208, 209, 210, 221, + 222, 223, 226, 229, 230, 231, 233, 234, 237, 241, + 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, + 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, + 293, 294, 304, 312, 316, 175, 301, 317, 821, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, + 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, + 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, + 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 149, 129, 225, 280, 167, 0, 0, - 0, 112, 113, 114, 0, 684, 0, 0, 0, 0, - 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, + 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, + 113, 114, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 313, 0, 0, 0, 0, 250, 0, 284, + 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, + 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, + 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, + 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, + 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, + 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, + 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, + 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, + 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, + 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, + 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, + 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 0, 0, 0, 313, 0, 0, 0, 0, 250, - 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, - 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, - 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, - 157, 218, 308, 288, 311, 323, 276, 130, 286, 300, - 146, 270, 0, 0, 0, 132, 298, 283, 212, 187, - 188, 131, 0, 256, 158, 170, 154, 227, 295, 296, - 153, 326, 138, 310, 134, 139, 309, 220, 291, 299, - 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, - 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, - 306, 327, 143, 0, 289, 319, 322, 0, 252, 144, - 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, - 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, - 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, + 135, 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 125, 135, 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 128, 136, 142, 148, 155, 162, 166, 173, + 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, + 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, + 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, + 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, + 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, + 228, 0, 0, 0, 0, 0, 0, 0, 811, 160, + 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, + 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, + 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 128, 136, 142, 148, 155, 162, 166, - 173, 177, 180, 183, 184, 185, 189, 203, 207, 208, - 209, 210, 221, 222, 223, 226, 229, 230, 231, 233, - 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, - 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, - 275, 282, 285, 293, 294, 304, 312, 316, 175, 301, - 317, 228, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 0, 0, 194, 0, 0, 239, - 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, - 182, 206, 238, 287, 232, 0, 197, 0, 0, 279, - 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, - 280, 167, 0, 0, 0, 112, 113, 114, 0, 0, - 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, + 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, + 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, + 0, 0, 0, 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, 0, 0, 0, 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, 172, 0, 0, 0, 313, 0, - 0, 0, 0, 250, 0, 284, 176, 193, 141, 190, - 126, 137, 0, 174, 224, 258, 262, 0, 0, 0, - 152, 0, 260, 236, 303, 0, 240, 259, 198, 292, - 251, 302, 314, 315, 157, 218, 308, 288, 311, 323, - 276, 130, 286, 300, 146, 270, 0, 0, 0, 132, - 298, 283, 212, 187, 188, 131, 0, 256, 158, 170, - 154, 227, 295, 296, 153, 326, 138, 310, 134, 139, - 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, - 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, - 0, 0, 0, 281, 306, 327, 143, 0, 289, 319, + 0, 0, 0, 172, 0, 0, 0, 313, 0, 0, + 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, + 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, + 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, + 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, + 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, + 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, + 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, + 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, + 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, + 0, 0, 281, 306, 327, 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, @@ -2867,21 +2804,21 @@ var yyAct = [...]int{ 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, - 312, 316, 365, 301, 317, 228, 0, 0, 0, 0, + 312, 316, 175, 301, 317, 228, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, + 113, 114, 0, 687, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, - 120, 0, 313, 0, 0, 0, 0, 250, 0, 284, + 0, 0, 313, 0, 0, 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, @@ -2891,76 +2828,149 @@ var yyAct = [...]int{ 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, - 143, 0, 289, 319, 322, 0, 252, 144, 171, 163, - 247, 169, 195, 318, 320, 321, 219, 140, 181, 277, - 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, + 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, + 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, + 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 125, 135, - 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, + 135, 196, 324, 253, 168, 307, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 128, 136, 142, 148, 155, 162, 166, 173, 177, - 180, 183, 184, 185, 189, 203, 207, 208, 209, 210, - 221, 222, 223, 226, 229, 230, 231, 233, 234, 237, - 241, 242, 243, 244, 245, 246, 254, 257, 263, 264, - 265, 266, 267, 268, 269, 272, 273, 274, 275, 282, - 285, 293, 294, 304, 312, 316, 175, 301, 317, 228, - 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, - 0, 0, 0, 0, 194, 0, 0, 239, 0, 271, - 151, 202, 200, 290, 165, 161, 159, 150, 182, 206, - 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, + 0, 127, 128, 136, 142, 148, 155, 162, 166, 173, + 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, + 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, + 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, + 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, + 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 160, + 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, + 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, + 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 149, 129, 225, 280, 167, - 0, 0, 0, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, + 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, + 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 0, 0, 0, 313, 0, 0, 0, - 0, 250, 0, 284, 176, 193, 141, 190, 126, 137, - 0, 174, 224, 258, 262, 0, 0, 0, 152, 0, - 260, 236, 303, 0, 240, 259, 198, 292, 251, 302, - 314, 315, 157, 218, 308, 288, 311, 323, 276, 130, - 286, 300, 146, 270, 0, 0, 0, 132, 298, 283, - 212, 187, 188, 131, 0, 256, 158, 170, 154, 227, - 295, 296, 153, 326, 138, 310, 134, 139, 309, 220, - 291, 299, 213, 205, 133, 297, 211, 204, 192, 164, - 178, 248, 201, 249, 179, 216, 215, 217, 0, 0, - 0, 281, 306, 327, 143, 0, 289, 319, 322, 0, - 252, 144, 171, 163, 247, 169, 195, 318, 320, 321, - 219, 140, 181, 277, 191, 199, 255, 325, 235, 261, - 147, 305, 278, 0, 0, 0, 0, 0, 0, 0, + 0, 367, 0, 172, 0, 0, 0, 313, 0, 0, + 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, + 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, + 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, + 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, + 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, + 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, + 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, + 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, + 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, + 0, 0, 281, 306, 327, 143, 0, 0, 289, 319, + 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, + 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, + 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 135, 196, 324, 253, 168, + 307, 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, 127, 128, 136, 142, + 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, + 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, + 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, + 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, + 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, + 312, 316, 366, 301, 317, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, + 194, 0, 0, 239, 0, 271, 151, 202, 200, 290, + 165, 161, 159, 150, 182, 206, 238, 287, 232, 0, + 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 186, 149, 129, 225, 280, 167, 0, 0, 0, 112, + 113, 114, 0, 0, 0, 0, 0, 0, 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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 120, 0, 313, 0, 0, 0, 0, 250, 0, 284, + 176, 193, 141, 190, 126, 137, 0, 174, 224, 258, + 262, 0, 0, 0, 152, 0, 260, 236, 303, 0, + 240, 259, 198, 292, 251, 302, 314, 315, 157, 218, + 308, 288, 311, 323, 276, 130, 286, 300, 146, 270, + 0, 0, 0, 132, 298, 283, 212, 187, 188, 131, + 0, 256, 158, 170, 154, 227, 295, 296, 153, 326, + 138, 310, 134, 139, 309, 220, 291, 299, 213, 205, + 133, 297, 211, 204, 192, 164, 178, 248, 201, 249, + 179, 216, 215, 217, 0, 0, 0, 281, 306, 327, + 143, 0, 0, 289, 319, 322, 0, 252, 144, 171, + 163, 247, 169, 195, 318, 320, 321, 219, 140, 181, + 277, 191, 199, 255, 325, 235, 261, 147, 305, 278, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, + 135, 196, 324, 253, 168, 307, 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, 127, 128, 136, 142, 148, 155, 162, 166, 173, + 177, 180, 183, 184, 185, 189, 203, 207, 208, 209, + 210, 221, 222, 223, 226, 229, 230, 231, 233, 234, + 237, 241, 242, 243, 244, 245, 246, 254, 257, 263, + 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, + 282, 285, 293, 294, 304, 312, 316, 175, 301, 317, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 160, + 0, 0, 0, 0, 0, 194, 0, 0, 239, 0, + 271, 151, 202, 200, 290, 165, 161, 159, 150, 182, + 206, 238, 287, 232, 0, 197, 0, 0, 279, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 125, 135, 196, 324, 253, 168, 307, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 186, 149, 129, 225, 280, + 167, 0, 0, 0, 112, 113, 114, 0, 0, 0, + 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 128, 136, 142, 148, 155, - 162, 166, 173, 177, 180, 183, 184, 185, 189, 203, - 207, 208, 209, 210, 221, 222, 223, 226, 229, 230, - 231, 233, 234, 237, 241, 242, 243, 244, 245, 246, - 254, 257, 263, 264, 265, 266, 267, 268, 269, 272, - 273, 274, 275, 282, 285, 293, 294, 304, 312, 316, - 175, 301, 317, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 313, 0, 0, + 0, 0, 250, 0, 284, 176, 193, 141, 190, 126, + 137, 0, 174, 224, 258, 262, 0, 0, 0, 152, + 0, 260, 236, 303, 0, 240, 259, 198, 292, 251, + 302, 314, 315, 157, 218, 308, 288, 311, 323, 276, + 130, 286, 300, 146, 270, 0, 0, 0, 132, 298, + 283, 212, 187, 188, 131, 0, 256, 158, 170, 154, + 227, 295, 296, 153, 326, 138, 310, 134, 139, 309, + 220, 291, 299, 213, 205, 133, 297, 211, 204, 192, + 164, 178, 248, 201, 249, 179, 216, 215, 217, 0, + 0, 0, 281, 306, 327, 143, 0, 0, 289, 319, + 322, 0, 252, 144, 171, 163, 247, 169, 195, 318, + 320, 321, 219, 140, 181, 277, 191, 199, 255, 325, + 235, 261, 147, 305, 278, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 135, 196, 324, 253, 168, + 307, 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, 127, 128, 136, 142, + 148, 155, 162, 166, 173, 177, 180, 183, 184, 185, + 189, 203, 207, 208, 209, 210, 221, 222, 223, 226, + 229, 230, 231, 233, 234, 237, 241, 242, 243, 244, + 245, 246, 254, 257, 263, 264, 265, 266, 267, 268, + 269, 272, 273, 274, 275, 282, 285, 293, 294, 304, + 312, 316, 175, 301, 317, } -var yyPact = [...]int{ - 204, -1000, -282, 1237, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1186, - 874, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 343, 828, - 117, 1100, 24, 588, 187, 73, 18826, 185, 1646, 19200, - -1000, 17, -1000, 10, 19200, 28, 18452, -1000, -1000, -91, - -97, -1000, 10565, 1062, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 856, 1153, 1148, 1180, 660, 1057, -1000, 9056, - 9056, 161, 161, 161, 7560, -1000, -1000, 15453, 19200, 19200, - 19200, -154, 157, 183, 157, -1000, -1000, -1000, -1000, -1000, - -1000, 1100, -1000, -1000, 69, -1000, -1000, 19200, 19200, 367, - 1100, 50, -1000, -1000, -1000, 19200, 152, 588, 152, 152, - 19200, -1000, 230, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, +var yyPact = [...]int{ + 205, -1000, -293, 1237, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1181, + 884, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 322, 862, + 127, 1101, 47, 564, 186, 3, 18926, 181, 332, 19301, + -1000, 34, -1000, 15, 19301, 25, 18551, -1000, -1000, -86, + -97, -1000, 10643, 1054, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 878, 1174, 1180, 1205, 757, 1057, -1000, 9130, + 9130, 160, 160, 160, 7630, -1000, -1000, 15544, 19301, 19301, + 19301, -155, 155, 179, 155, -1000, -1000, -1000, -1000, -1000, + -1000, 1101, -1000, -1000, 71, -1000, -1000, 19301, 19301, 342, + 1101, 53, -1000, -1000, -1000, 19301, 150, 564, 150, 150, + 19301, -1000, 233, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -2978,25 +2988,25 @@ 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, 19200, 588, - 1095, 385, 87, 281, 281, 281, -1000, 283, -1000, 5232, - 96, 45, -14, 1193, 42, -35, -1000, 385, 5232, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 170, -1000, -1000, - -1000, -1000, 19200, 18078, 151, 323, -1000, -1000, -1000, -1000, - -1000, -1000, 644, 568, -1000, 10565, 1755, 799, 799, -1000, - -1000, 202, -1000, -1000, 11687, 11687, 11687, 11687, 11687, 11687, - 11687, 11687, 11687, 11687, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 799, 229, - -1000, 10191, 799, 799, 799, 799, 799, 799, 799, 799, - 10565, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 799, 799, 799, 799, 799, -1000, -1000, -1000, - 1186, -1000, 874, -1000, -1000, -1000, 1093, 10565, 10565, 1186, - -1000, 943, 9056, -1000, -1000, 1014, -1000, -1000, -1000, -1000, - 390, 1217, -1000, 12435, 227, 1216, 17704, -1000, 16201, 17330, - 797, 7172, -101, -1000, -1000, -1000, 322, 15079, -1000, -1000, - -1000, 1088, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19301, 564, + 1093, 400, 149, 284, 284, 284, 284, -1000, 273, -1000, + 5296, 48, 46, -38, 1214, 43, -15, -1000, 400, 5296, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 167, -1000, + -1000, -1000, -1000, 19301, 18176, 130, 335, -1000, -1000, -1000, + -1000, -1000, -1000, 709, 405, -1000, 10643, 916, 565, 565, + -1000, -1000, 203, -1000, -1000, 11768, 11768, 11768, 11768, 11768, + 11768, 11768, 11768, 11768, 11768, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 565, + 229, -1000, 10268, 565, 565, 565, 565, 565, 565, 565, + 565, 10643, 565, 565, 565, 565, 565, 565, 565, 565, + 565, 565, 565, 565, 565, 565, 565, 565, -1000, -1000, + -1000, 1181, -1000, 884, -1000, -1000, -1000, 1108, 10643, 10643, + 1181, -1000, 995, 9130, -1000, -1000, 1037, -1000, -1000, -1000, + -1000, 383, 1222, -1000, 12518, 228, 1221, 17801, -1000, 16294, + 17426, 808, 7241, -84, -1000, -1000, -1000, 328, 15169, -1000, + -1000, -1000, 1092, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3006,155 +3016,157 @@ 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, 739, 19200, -1000, -1000, 2437, 588, -1000, - 821, -1000, 734, -1000, 806, 5232, 162, 19200, 355, 588, - 588, -1000, -1000, 1084, 316, 139, 5232, 79, 108, 80, - 19200, 1100, 1061, 791, 168, 19200, 1137, 893, 19200, 588, - -1000, 6396, -1000, 5232, 385, -1000, 551, 10565, 5232, 5232, - 5232, 19200, 5232, 5232, -1000, 550, -1000, -1000, 387, -1000, - -1000, -1000, -1000, -1000, -1000, 5232, 5232, 384, 387, 384, - -1000, -1000, -1000, -1000, 10565, 281, -1000, 890, -1000, -1000, - 21, -1000, -1000, -1000, -1000, -1000, 1237, -1000, -1000, -1000, - -127, -1000, -1000, 10565, 10565, 10565, 10565, 510, 287, 11687, - 466, 321, 11687, 11687, 11687, 11687, 11687, 11687, 11687, 11687, - 11687, 11687, 11687, 11687, 11687, 11687, 11687, 608, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 588, -1000, 1235, 625, - 625, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 12061, 7934, 6396, 660, 732, 1186, 9056, 9056, 10565, 10565, - 9804, 9430, 9056, 1085, 339, 568, 19200, -1000, -1000, 11313, - -1000, -1000, -1000, -1000, -1000, 471, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 19200, 19200, 9056, 9056, 9056, 9056, 9056, - -1000, 1148, 660, 1014, 1123, 1230, 268, 523, 787, -1000, - 476, 1148, 14705, 771, -1000, 1014, -1000, -1000, -1000, 19200, - -1000, -1000, 16949, -1000, -1000, 6008, 19200, 101, 19200, -1000, - 818, 950, -1000, -1000, -1000, 1140, 13957, 14331, 19200, 812, - 765, -1000, -1000, 225, 6784, -101, -1000, 6784, 760, -1000, - -129, -114, 8308, 241, -1000, -1000, -1000, -1000, 4456, 12809, - 595, 363, -76, -1000, -1000, -1000, 806, -1000, 806, 806, - 806, 806, -30, -30, -30, -30, -1000, -1000, -1000, -1000, - -1000, 826, 825, -1000, 806, 806, 806, 806, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 823, 823, 823, 807, 807, - 143, 10565, 54, 19200, 1122, 436, -1000, 19200, -1000, 1130, - 839, -1000, 316, 680, -1000, -1000, 426, 426, 297, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 105, -1000, 19200, 19200, 19200, 19200, 19200, 194, 58, 19200, - 19200, 782, -1000, 19200, 5232, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 568, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 19200, -1000, -1000, -1000, -1000, 385, 19200, 19200, 19200, 385, - 568, -1000, 19200, 19200, -1000, -1000, -1000, -1000, -1000, 568, - 287, 420, 347, -1000, -1000, 536, -1000, -1000, 2052, -1000, - -1000, -1000, -1000, 466, 11687, 11687, 11687, 289, 2052, 2007, - 817, 1883, 246, 362, 362, 261, 261, 261, 261, 261, - 552, 552, -1000, -1000, -1000, 471, -1000, -1000, -1000, 471, - 9056, 9056, 779, 799, 222, -1000, 856, -1000, -1000, 1148, - 724, 724, 439, 556, 336, 1211, 724, 331, 1195, 724, - 724, 9056, -1000, -1000, 438, -1000, 10565, 471, -1000, 218, - -1000, 437, 773, 767, 724, 471, 471, 724, 724, 1093, - -1000, -1000, 1032, -1000, 940, 10565, 10565, 10565, -1000, -1000, - -1000, 1093, 1176, -1000, 957, 953, 1192, 9056, 16201, 1014, - -1000, -1000, -1000, 217, 1192, 781, 799, -1000, 19200, 16201, - 16201, 16201, 16201, 16201, -1000, 915, 914, -1000, 908, 906, - 975, 19200, -1000, 729, 660, 13957, 244, 799, -1000, 16575, - -1000, -1000, 101, 617, 16201, 19200, -1000, -1000, 16201, 19200, - 5620, -1000, 760, -101, -80, -1000, -1000, -1000, -1000, 568, - -1000, 639, 745, 4068, -1000, -1000, -1000, -1000, 136, -1000, - -1000, 822, 588, -1000, 1114, 302, 302, 308, 588, 1108, - -1000, -1000, -1000, -1000, 1098, -1000, 378, -85, -1000, -1000, - -30, -30, -1000, -1000, 241, 1081, 241, 241, 241, 548, - 548, -1000, -1000, -1000, -1000, -1000, 435, -1000, -1000, -1000, - 418, -1000, -1000, 821, 546, 879, 54, -1000, 588, 316, - 532, 1066, -1000, -1000, 577, 5232, -1000, 880, 19200, 616, + -1000, -1000, -1000, -1000, -1000, 777, 19301, -1000, -1000, 2893, + 564, -1000, 836, -1000, 774, -1000, 818, 5296, 169, 19301, + 355, 564, 564, -1000, -1000, 1075, 325, 112, 5296, 68, + 102, 91, 19301, 1101, 1050, 799, 164, 19301, 1164, 904, + 19301, 564, -1000, 6463, -1000, 5296, 400, -1000, 591, 10643, + 5296, 5296, 5296, 19301, 5296, 5296, -1000, 586, -1000, -1000, + -1000, 421, -1000, -1000, -1000, -1000, -1000, -1000, 5296, 5296, + 387, 421, 387, -1000, -1000, -1000, -1000, 10643, 284, -1000, + 903, -1000, -1000, 24, -1000, -1000, -1000, -1000, -1000, 1237, + -1000, -1000, -1000, -139, -1000, -1000, 10643, 10643, 10643, 10643, + 615, 300, 11768, 404, 382, 11768, 11768, 11768, 11768, 11768, + 11768, 11768, 11768, 11768, 11768, 11768, 11768, 11768, 11768, 11768, + 606, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 564, + -1000, 1235, 696, 696, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 12143, 8005, 6463, 757, 772, 1181, 9130, + 9130, 10643, 10643, 9880, 9505, 9130, 1099, 341, 405, 19301, + -1000, -1000, 11393, -1000, -1000, -1000, -1000, -1000, 543, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 19301, 19301, 9130, 9130, + 9130, 9130, 9130, -1000, 1180, 757, 1037, 1151, 1230, 279, + 596, 797, -1000, 583, 1180, 14794, 851, -1000, 1037, -1000, + -1000, -1000, 19301, -1000, -1000, 17044, -1000, -1000, 6074, 19301, + 98, 19301, -1000, 830, 1001, -1000, -1000, -1000, 1167, 14044, + 14419, 19301, 768, 695, -1000, -1000, 227, 6852, -84, -1000, + 6852, 787, -1000, -111, -105, 8380, 248, -1000, -1000, -1000, + -1000, 4518, 12893, 661, 363, -58, -1000, -1000, -1000, 818, + -1000, 818, 818, 818, 818, -18, -18, -18, -18, -1000, + -1000, -1000, -1000, -1000, 861, 855, -1000, 818, 818, 818, + 818, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 845, 845, + 845, 819, 819, 129, 10643, 61, 19301, 1150, 487, -1000, + 19301, -1000, 1163, 886, -1000, 325, 710, -1000, -1000, 290, + 290, 287, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 100, -1000, 19301, 19301, 19301, 19301, 19301, + 195, 60, 19301, 19301, 796, -1000, 19301, 5296, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 405, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 19301, -1000, -1000, -1000, -1000, 400, 19301, + 19301, 19301, 400, 405, -1000, 19301, 19301, -1000, -1000, -1000, + -1000, -1000, 405, 300, 525, 309, -1000, -1000, 538, -1000, + -1000, 2032, -1000, -1000, -1000, -1000, 404, 11768, 11768, 11768, + 440, 2032, 2004, 1079, 1425, 252, 535, 535, 265, 265, + 265, 265, 265, 385, 385, -1000, -1000, -1000, 543, -1000, + -1000, -1000, 543, 9130, 9130, 794, 565, 226, -1000, 878, + -1000, -1000, 1180, 744, 744, 558, 477, 347, 1220, 744, + 337, 1219, 744, 744, 9130, -1000, -1000, 388, -1000, 10643, + 543, -1000, 223, -1000, 422, 793, 790, 744, 543, 543, + 744, 744, 1108, -1000, -1000, 1042, -1000, 954, 10643, 10643, + 10643, -1000, -1000, -1000, 1108, 1179, -1000, 1003, 1002, 1213, + 9130, 16294, 1037, -1000, -1000, -1000, 220, 1213, 842, 565, + -1000, 19301, 16294, 16294, 16294, 16294, 16294, -1000, 939, 924, + -1000, 945, 943, 953, 19301, -1000, 748, 757, 14044, 231, + 565, -1000, 16669, -1000, -1000, 98, 754, 16294, 19301, -1000, + -1000, 16294, 19301, 5685, -1000, 787, -84, -116, -1000, -1000, + -1000, -1000, 405, -1000, 655, 786, 4129, -1000, -1000, -1000, + -1000, 142, -1000, -1000, 839, 564, -1000, 1119, 307, 307, + 294, 564, 1110, -1000, -1000, -1000, -1000, 1096, -1000, 371, + -63, -1000, -1000, -18, -18, -1000, -1000, 248, 1074, 248, + 248, 248, 585, 585, -1000, -1000, -1000, -1000, -1000, 473, + -1000, -1000, -1000, 468, -1000, -1000, 836, 512, 921, 61, + -1000, 564, 325, 575, 1065, -1000, -1000, 653, 5296, -1000, + 902, 19301, 632, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19200, - -1000, -1000, -1000, -1000, -1000, 19200, 786, -1000, -1000, -1000, - -1000, 14, 70, 56, 165, -1000, 5232, -1000, 384, -1000, - -1000, -1000, 384, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 289, 2052, 1851, -1000, 11687, 11687, -1000, -1000, 724, 724, - 9056, 6396, 1186, 1093, -1000, -1000, 83, 608, 83, 11687, - 11687, -1000, 11687, 11687, -1000, -166, 688, 346, -1000, 10565, - 483, -1000, 6396, -1000, 11687, 11687, -1000, -1000, -1000, -1000, - -1000, -1000, 535, 530, 938, 568, 568, -1000, -1000, 19200, - -1000, -1000, -1000, -1000, 1190, 10565, -1000, 663, -1000, 4844, - 1148, 865, 19200, 799, 1237, 13196, 19200, 814, -1000, 318, - 950, 837, 857, 961, -1000, -1000, -1000, -1000, 909, -1000, - 905, -1000, -1000, -1000, -1000, -1000, 660, -1000, 181, 177, - 173, 19200, -1000, 1192, 16201, 789, -1000, 789, -1000, 215, - -1000, -1000, -1000, -124, -130, -1000, -1000, -1000, 4456, -1000, - 4456, -1000, 19200, 133, -1000, 588, 588, 588, -1000, -1000, - -1000, 808, 850, 11687, -1000, -1000, -1000, 241, 241, -1000, - 291, -1000, -1000, -1000, 717, -1000, 715, 659, 713, 22, - -1000, 630, 1076, 316, 316, -1000, -1000, 411, -1000, 528, - -1000, -1000, 19200, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1119, -172, 588, 19200, 19200, 19200, -1000, 19200, -1000, 385, - 385, -1000, 11687, 2052, 2052, -1000, -1000, 471, -1000, 1148, - -1000, 471, 806, 806, -1000, 806, 807, -1000, 806, -3, - 806, -4, 471, 471, 1966, 1907, 1869, 1696, 799, -161, - -1000, 568, 10565, -1000, 1300, 626, 527, -30, -1000, -1000, - -1000, 1188, 1177, 568, -1000, -1000, -1000, 1116, 751, 638, - -1000, -1000, 8682, 704, 949, 212, 700, -1000, 1186, 19200, - 10565, -1000, -1000, 10565, 804, -1000, 10565, -1000, -1000, -1000, - 1186, 799, 799, 799, 700, 1186, 789, -1000, -1000, 267, - -1000, -1000, -1000, 4068, -1000, 691, -1000, 1108, -1000, -1000, - -1000, 19200, -67, 1224, 2052, -1000, -1000, -1000, -1000, -30, - 524, -30, 401, -1000, 398, -1000, -1000, -214, -1000, -1000, - 778, 886, -1000, -1000, -1000, 799, -1000, 6396, -1000, -1000, - 803, 824, -1000, -1000, -1000, -1000, 2052, -1000, 1093, -1000, - -1000, 210, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 11687, 11687, 11687, 11687, 11687, 1148, 516, 568, 11687, 11687, - -30, -61, -1000, 10565, 10565, 1107, -1000, 799, -1000, 816, - 19200, 799, 19200, -1000, 19200, 1148, -1000, 568, 568, 19200, - 568, 15827, 19200, 19200, 13570, 1148, -1000, 54, 665, -1000, - 284, -1000, -32, 241, -1000, 241, 573, 563, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 99, 648, -1000, 313, - 19200, 19200, -1000, -1000, -1000, 437, 437, 437, 437, 62, - 471, -1000, 437, 437, -277, -1000, 1053, 1047, 568, 644, - 1220, -1000, 799, 1237, 201, 638, -1000, -1000, -1000, 656, - 653, -1000, 653, 653, 244, -1000, -1000, 124, 19200, 383, - 1105, -1000, 1102, -1000, -1000, -1000, -1000, -1000, 650, -1000, - 19200, 6396, 4456, 627, -1000, -1000, -1000, -1000, -1000, 471, - 66, -175, -1000, -1000, -1000, -61, 160, -1000, 969, 959, - 1175, 19200, 638, 19200, -1000, -1000, -1000, -1000, -1000, 19200, - -1000, -1000, 513, -1000, -1000, -1000, 99, 948, -1000, -1000, - 786, -1000, 935, -170, -178, 992, 1020, 1020, 1047, 1160, - 1042, 1031, -1000, 508, 636, -1000, 801, -1000, -1000, 93, - -172, -1000, 933, -1000, 985, 503, -1000, -1000, -1000, -1000, - 495, -1000, 1159, 1155, -1000, 19200, 85, -1000, -173, -1000, - 500, -1000, -1000, -1000, 469, 427, 580, 799, -176, -1000, - -1000, -1000, -1000, 847, 10939, -179, 843, -1000, 1207, 437, - 471, -1000, -1000, 1209, 279, 279, -1000, -1000, -1000, -1000, - -1000, 132, 497, -1000, -1000, -1000, -1000, + -1000, -1000, 19301, -1000, -1000, -1000, -1000, -1000, 19301, 879, + -1000, -1000, -1000, -1000, 27, 67, 58, 163, -1000, 5296, + -1000, 387, -1000, -1000, -1000, 387, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 440, 2032, 1850, -1000, 11768, 11768, -1000, + -1000, 744, 744, 9130, 6463, 1181, 1108, -1000, -1000, 93, + 606, 93, 11768, 11768, -1000, 11768, 11768, -1000, -171, 798, + 333, -1000, 10643, 602, -1000, 6463, -1000, 11768, 11768, -1000, + -1000, -1000, -1000, -1000, -1000, 550, 570, 968, 405, 405, + -1000, -1000, 19301, -1000, -1000, -1000, -1000, 1211, 10643, -1000, + 779, -1000, 4907, 1180, 899, 19301, 565, 1237, 13281, 19301, + 837, -1000, 327, 1001, 875, 898, 930, -1000, -1000, -1000, + -1000, 923, -1000, 915, -1000, -1000, -1000, -1000, -1000, 757, + -1000, 173, 172, 171, 19301, -1000, 1213, 16294, 728, -1000, + 728, -1000, 217, -1000, -1000, -1000, -133, -113, -1000, -1000, + -1000, 4518, -1000, 4518, -1000, 19301, 133, -1000, 564, 564, + 564, -1000, -1000, -1000, 829, 897, 11768, -1000, -1000, -1000, + 248, 248, -1000, 310, -1000, -1000, -1000, 742, -1000, 737, + 764, 735, 17, -1000, 868, 1072, 325, 325, -1000, -1000, + 451, -1000, 563, -1000, -1000, 19301, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1140, -177, 564, 19301, 19301, 19301, -1000, + 19301, -1000, 400, 400, -1000, 11768, 2032, 2032, -1000, -1000, + 543, -1000, 1180, -1000, 543, 818, 818, -1000, 818, 819, + -1000, 818, 8, 818, 6, 543, 543, 1928, 1808, 1745, + 1665, 565, -164, -1000, 405, 10643, -1000, 1411, 625, 545, + -18, -1000, -1000, -1000, 1208, 1204, 405, -1000, -1000, -1000, + 1134, 730, 707, -1000, -1000, 8755, 723, 998, 213, 719, + -1000, 1181, 19301, 10643, -1000, -1000, 10643, 816, -1000, 10643, + -1000, -1000, -1000, 1181, 565, 565, 565, 719, 1181, 728, + -1000, -1000, 268, -1000, -1000, -1000, 4129, -1000, 717, -1000, + 1110, -1000, -1000, -1000, 19301, -45, 1228, 2032, -1000, -1000, + -1000, -1000, -18, 537, -18, 436, -1000, 389, -1000, -1000, + -219, -1000, -1000, 872, 979, -1000, -1000, -1000, 565, -1000, + 6463, -1000, -1000, 813, 883, -1000, -1000, -1000, -1000, 2032, + -1000, 1108, -1000, -1000, 165, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 11768, 11768, 11768, 11768, 11768, 1180, 530, + 405, 11768, 11768, -18, -64, -1000, 10643, 10643, 1105, -1000, + 565, -1000, 841, 19301, 565, 19301, -1000, 19301, 1180, -1000, + 405, 405, 19301, 405, 15919, 19301, 19301, 13656, 1180, -1000, + 61, 693, -1000, 264, -1000, -22, 248, -1000, 248, 627, + 604, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 90, + 751, -1000, 311, 19301, 19301, -1000, -1000, -1000, 422, 422, + 422, 422, 56, 543, -1000, 422, 422, -285, -1000, 1040, + 1038, 405, 709, 1226, -1000, 565, 1237, 199, 707, -1000, + -1000, -1000, 685, 678, -1000, 678, 678, 231, -1000, -1000, + 104, 19301, 378, 1104, -1000, 1103, -1000, -1000, -1000, -1000, + -1000, 644, -1000, 19301, 6463, 4518, 618, -1000, -1000, -1000, + -1000, -1000, 543, 64, -181, -1000, -1000, -1000, -64, 161, + -1000, 1007, 1005, 1201, 19301, 707, 19301, -1000, -1000, -1000, + -1000, -1000, 19301, -1000, -1000, 529, -1000, -1000, -1000, 90, + 981, -1000, -1000, 879, -1000, 964, -175, -184, 1019, 1023, + 1023, 1038, 1200, 1034, 1030, -1000, 516, 691, -1000, 811, + -1000, -1000, 87, -177, -1000, 955, -1000, 1010, 485, -1000, + -1000, -1000, -1000, 506, -1000, 1199, 1197, -1000, 19301, 85, + -1000, -179, -1000, 427, -1000, -1000, -1000, 494, 441, 600, + 565, -182, -1000, -1000, -1000, -1000, 891, 11018, -185, 873, + -1000, 1218, 422, 543, -1000, -1000, 1225, 263, 263, -1000, + -1000, -1000, -1000, -1000, 118, 544, -1000, -1000, -1000, -1000, } -var yyPgo = [...]int{ - 0, 1498, 1497, 18, 72, 74, 1496, 1495, 1493, 1492, - 123, 120, 114, 1491, 1490, 1489, 1488, 1484, 1483, 1482, - 1480, 1478, 1477, 1476, 1475, 1474, 1473, 104, 101, 487, - 1470, 1469, 1468, 1467, 1465, 1464, 1462, 1461, 1460, 1459, - 1458, 1457, 106, 1456, 1449, 1445, 1444, 1443, 1442, 1439, - 1438, 1437, 98, 53, 252, 59, 73, 1435, 70, 95, - 1434, 86, 82, 76, 1420, 40, 1419, 1418, 94, 1417, - 1416, 68, 1412, 1410, 58, 1409, 61, 1407, 8, 52, - 1398, 1397, 1392, 1389, 99, 1850, 1384, 1383, 12, 1382, - 1380, 124, 1379, 83, 16, 17, 38, 31, 1378, 103, - 1377, 9, 1375, 69, 1373, 1372, 1370, 1368, 32, 1367, - 71, 77, 51, 1366, 7, 13, 1364, 1363, 1361, 1359, - 1355, 1350, 5, 1347, 1346, 1345, 1344, 1343, 35, 1341, - 20, 66, 37, 22, 10, 1340, 1339, 15, 96, 54, - 81, 1338, 1337, 1336, 696, 1334, 75, 1333, 117, 1331, - 30, 100, 410, 517, 1330, 1329, 1328, 1327, 1326, 45, - 1123, 1678, 25, 97, 1324, 1323, 2386, 41, 67, 23, - 1322, 1321, 1320, 60, 571, 39, 643, 1319, 46, 1317, - 1316, 1315, 1311, 1309, 1303, 1302, 24, 1301, 1293, 1292, - 84, 26, 92, 27, 1291, 1288, 1287, 1281, 65, 78, - 1276, 1275, 64, 63, 1274, 102, 43, 29, 1272, 1270, - 1267, 1266, 36, 11, 1265, 80, 34, 56, 28, 33, - 1262, 21, 1261, 48, 42, 1260, 4, 1259, 14, 1257, - 2, 0, 1255, 6, 1253, 87, 1099, 3, 1251, 1, - 1250, 1249, 1246, 629, 503, 93, 1243, 107, +var yyPgo = [...]int{ + 0, 1487, 1486, 31, 81, 72, 1481, 1480, 1479, 1478, + 119, 117, 114, 1477, 1476, 1475, 1473, 1472, 1464, 1463, + 1462, 1460, 1458, 1452, 1449, 1447, 1446, 103, 100, 510, + 1445, 1443, 1442, 1441, 1439, 1438, 1437, 1436, 1434, 1431, + 1429, 1428, 115, 1426, 1423, 1419, 1418, 1417, 1416, 1415, + 1412, 1410, 93, 58, 131, 53, 66, 1404, 70, 1764, + 1403, 39, 78, 73, 1401, 40, 1400, 1399, 95, 1388, + 1387, 65, 1385, 1384, 54, 1383, 64, 1382, 14, 29, + 1381, 1380, 1379, 1378, 104, 1913, 1376, 1375, 16, 1372, + 1371, 112, 1369, 74, 33, 25, 19, 18, 1367, 75, + 1364, 9, 1363, 77, 1362, 1358, 1353, 1351, 22, 1350, + 68, 80, 51, 1349, 4, 7, 1348, 1346, 1345, 1344, + 1343, 1341, 5, 1339, 1337, 1336, 1334, 1333, 24, 1332, + 12, 67, 38, 21, 10, 1331, 1330, 26, 87, 69, + 83, 1329, 1328, 1327, 724, 1325, 63, 1324, 113, 1323, + 41, 94, 463, 580, 1322, 1318, 1313, 1312, 1305, 35, + 815, 1342, 137, 86, 1304, 1301, 2444, 43, 71, 17, + 1300, 1298, 1297, 48, 76, 56, 680, 1296, 46, 1291, + 1290, 1289, 1287, 1284, 1282, 1279, 300, 1277, 1276, 1275, + 166, 23, 82, 27, 1274, 1273, 1272, 1271, 60, 97, + 1270, 1269, 62, 61, 1268, 98, 30, 37, 1266, 1263, + 1259, 1258, 34, 11, 1257, 92, 42, 59, 28, 20, + 1256, 15, 1254, 36, 45, 1253, 8, 1252, 13, 1251, + 1, 0, 1250, 6, 1249, 79, 1076, 2, 1248, 3, + 1247, 1246, 1244, 1420, 1237, 84, 1243, 105, } -var yyR1 = [...]int{ +var yyR1 = [...]int{ 0, 241, 242, 242, 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, @@ -3188,52 +3200,52 @@ var yyR1 = [...]int{ 23, 23, 18, 18, 18, 18, 19, 19, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 147, - 147, 240, 240, 149, 149, 145, 145, 148, 148, 146, - 146, 146, 150, 150, 150, 151, 151, 177, 177, 177, - 34, 34, 36, 36, 37, 38, 38, 171, 171, 172, - 172, 39, 40, 45, 45, 45, 45, 45, 45, 47, - 47, 47, 7, 7, 7, 7, 44, 44, 44, 6, - 6, 35, 35, 35, 35, 20, 246, 42, 43, 43, - 52, 52, 52, 48, 48, 48, 51, 51, 51, 55, - 55, 57, 57, 57, 57, 57, 58, 58, 58, 58, - 58, 58, 54, 54, 56, 56, 56, 56, 164, 164, - 164, 163, 163, 60, 60, 61, 61, 62, 62, 63, - 63, 63, 100, 77, 77, 130, 130, 132, 132, 64, - 64, 64, 64, 65, 65, 66, 66, 67, 67, 170, - 170, 169, 169, 169, 168, 168, 70, 70, 70, 72, - 71, 71, 71, 71, 73, 73, 75, 75, 74, 74, - 76, 78, 78, 78, 78, 78, 79, 79, 59, 59, - 59, 59, 59, 59, 59, 59, 143, 143, 81, 81, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 92, 92, 92, 92, 92, 92, 82, 82, 82, 82, - 82, 82, 82, 53, 53, 93, 93, 93, 99, 94, - 94, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 147, 147, 240, 240, 149, 149, 145, 145, 148, 148, + 146, 146, 146, 150, 150, 150, 151, 151, 177, 177, + 177, 34, 34, 36, 36, 37, 38, 38, 171, 171, + 172, 172, 39, 40, 45, 45, 45, 45, 45, 45, + 47, 47, 47, 7, 7, 7, 7, 44, 44, 44, + 6, 6, 35, 35, 35, 35, 20, 246, 42, 43, + 43, 52, 52, 52, 48, 48, 48, 51, 51, 51, + 55, 55, 57, 57, 57, 57, 57, 58, 58, 58, + 58, 58, 58, 54, 54, 56, 56, 56, 56, 164, + 164, 164, 163, 163, 60, 60, 61, 61, 62, 62, + 63, 63, 63, 100, 77, 77, 130, 130, 132, 132, + 64, 64, 64, 64, 65, 65, 66, 66, 67, 67, + 170, 170, 169, 169, 169, 168, 168, 70, 70, 70, + 72, 71, 71, 71, 71, 73, 73, 75, 75, 74, + 74, 76, 78, 78, 78, 78, 78, 79, 79, 59, + 59, 59, 59, 59, 59, 59, 59, 143, 143, 81, + 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 92, 92, 92, 92, 92, 92, 82, 82, 82, + 82, 82, 82, 82, 53, 53, 93, 93, 93, 99, + 94, 94, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 89, 89, 89, 89, 87, + 85, 85, 85, 85, 85, 85, 89, 89, 89, 89, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 247, 247, - 91, 90, 90, 90, 90, 90, 90, 90, 50, 50, - 50, 50, 50, 175, 175, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 104, 104, - 49, 49, 102, 102, 103, 105, 105, 101, 101, 101, - 84, 84, 84, 84, 84, 84, 84, 84, 86, 86, - 86, 106, 106, 107, 107, 108, 108, 109, 109, 110, - 111, 111, 111, 112, 112, 112, 112, 222, 222, 222, - 222, 222, 218, 218, 218, 218, 219, 219, 219, 128, - 128, 128, 113, 113, 113, 113, 118, 118, 118, 114, - 114, 116, 116, 116, 117, 117, 117, 115, 121, 121, - 123, 123, 122, 122, 120, 120, 125, 125, 124, 124, - 119, 119, 83, 83, 83, 83, 83, 129, 129, 129, - 129, 133, 133, 95, 95, 97, 97, 96, 98, 134, - 134, 137, 135, 135, 138, 138, 138, 138, 138, 136, - 136, 136, 165, 165, 165, 142, 142, 152, 152, 153, - 153, 144, 144, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 157, 157, 157, 158, 158, 126, 126, - 126, 126, 127, 127, 161, 161, 162, 162, 166, 166, - 167, 167, 159, 159, 159, 159, 159, 159, 159, 159, + 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 247, + 247, 91, 90, 90, 90, 90, 90, 90, 90, 50, + 50, 50, 50, 50, 175, 175, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 104, + 104, 49, 49, 102, 102, 103, 105, 105, 101, 101, + 101, 84, 84, 84, 84, 84, 84, 84, 84, 86, + 86, 86, 106, 106, 107, 107, 108, 108, 109, 109, + 110, 111, 111, 111, 112, 112, 112, 112, 222, 222, + 222, 222, 222, 218, 218, 218, 218, 219, 219, 219, + 128, 128, 128, 113, 113, 113, 113, 118, 118, 118, + 114, 114, 116, 116, 116, 117, 117, 117, 115, 121, + 121, 123, 123, 122, 122, 120, 120, 125, 125, 124, + 124, 119, 119, 83, 83, 83, 83, 83, 129, 129, + 129, 129, 133, 133, 95, 95, 97, 97, 96, 98, + 134, 134, 137, 135, 135, 138, 138, 138, 138, 138, + 136, 136, 136, 165, 165, 165, 142, 142, 152, 152, + 153, 153, 144, 144, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 157, 157, 157, 158, 158, 126, + 126, 126, 126, 127, 127, 161, 161, 162, 162, 166, + 166, 167, 167, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, @@ -3245,7 +3257,7 @@ var yyR1 = [...]int{ 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, + 159, 159, 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, @@ -3265,11 +3277,11 @@ var yyR1 = [...]int{ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 243, 244, 173, 174, 174, - 174, + 160, 160, 160, 160, 160, 160, 160, 243, 244, 173, + 174, 174, 174, } -var yyR2 = [...]int{ +var yyR2 = [...]int{ 0, 2, 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, @@ -3302,52 +3314,52 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 7, 1, 3, 8, 8, 3, 3, 5, 4, 6, 5, 4, 3, 2, 3, 4, 4, 3, 4, 4, 4, 4, 4, 4, 3, 3, - 3, 2, 7, 2, 3, 4, 5, 7, 5, 4, - 2, 4, 4, 3, 3, 5, 2, 3, 3, 1, - 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, - 2, 2, 0, 2, 2, 0, 2, 0, 1, 1, - 2, 1, 1, 2, 1, 1, 5, 0, 1, 0, - 1, 2, 3, 0, 3, 3, 3, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, - 3, 2, 2, 3, 3, 2, 0, 2, 0, 2, - 1, 2, 2, 0, 1, 1, 0, 1, 1, 0, - 1, 0, 1, 2, 3, 4, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 2, 3, 5, 0, 1, - 2, 1, 1, 0, 2, 1, 3, 1, 1, 1, - 3, 3, 3, 3, 7, 1, 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, 5, 4, 5, 5, 0, 2, 1, 3, - 3, 3, 2, 3, 1, 2, 0, 3, 1, 1, - 3, 3, 4, 4, 5, 3, 4, 5, 6, 2, - 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 0, 2, 1, 1, 1, 3, 1, - 3, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 3, 3, 2, 7, 2, 3, 4, 5, 7, 5, + 4, 2, 4, 4, 3, 3, 5, 2, 3, 3, + 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, + 0, 2, 2, 0, 2, 2, 0, 2, 0, 1, + 1, 2, 1, 1, 2, 1, 1, 5, 0, 1, + 0, 1, 2, 3, 0, 3, 3, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, + 3, 3, 2, 2, 3, 3, 2, 0, 2, 0, + 2, 1, 2, 2, 0, 1, 1, 0, 1, 1, + 0, 1, 0, 1, 2, 3, 4, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 2, 3, 5, 0, + 1, 2, 1, 1, 0, 2, 1, 3, 1, 1, + 1, 3, 3, 3, 3, 7, 1, 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, 5, 4, 5, 5, 0, 2, 1, + 3, 3, 3, 2, 3, 1, 2, 0, 3, 1, + 1, 3, 3, 4, 4, 5, 3, 4, 5, 6, + 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 1, 1, 1, 3, + 1, 3, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 3, 1, 1, 1, 1, 4, 5, 5, 6, 4, - 4, 6, 6, 6, 8, 8, 8, 8, 9, 8, - 5, 4, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 8, 8, 0, 2, - 3, 4, 4, 4, 4, 4, 4, 4, 0, 3, - 4, 7, 3, 1, 1, 2, 3, 3, 1, 2, - 2, 1, 2, 1, 2, 2, 1, 2, 0, 1, - 0, 2, 1, 2, 4, 0, 2, 1, 3, 5, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 0, 3, 0, 2, 0, 3, 1, 3, 2, - 0, 1, 1, 0, 2, 4, 4, 0, 2, 2, - 1, 1, 3, 3, 3, 3, 3, 3, 3, 0, - 2, 4, 0, 9, 3, 5, 0, 3, 3, 0, - 1, 0, 2, 2, 0, 2, 2, 2, 0, 3, - 0, 3, 0, 3, 0, 4, 0, 3, 0, 4, - 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, 0, 2, 0, - 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, - 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, + 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 3, 1, 1, 1, 1, 4, 5, 5, 6, + 4, 4, 6, 6, 6, 8, 8, 8, 8, 9, + 8, 5, 4, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 8, 8, 0, + 2, 3, 4, 4, 4, 4, 4, 4, 4, 0, + 3, 4, 7, 3, 1, 1, 2, 3, 3, 1, + 2, 2, 1, 2, 1, 2, 2, 1, 2, 0, + 1, 0, 2, 1, 2, 4, 0, 2, 1, 3, + 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 0, 3, 0, 2, 0, 3, 1, 3, + 2, 0, 1, 1, 0, 2, 4, 4, 0, 2, + 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, + 0, 2, 4, 0, 9, 3, 5, 0, 3, 3, + 0, 1, 0, 2, 2, 0, 2, 2, 2, 0, + 3, 0, 3, 0, 3, 0, 4, 0, 3, 0, + 4, 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, 0, 2, + 0, 3, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, + 1, 1, 1, 0, 2, 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, @@ -3380,241 +3392,241 @@ 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{ +var yyChk = [...]int{ -1000, -241, -1, -3, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -32, -33, -34, -36, -37, -38, -39, -40, -6, -35, -20, -21, -41, -4, -243, 6, 7, 8, -46, 10, 11, 31, -22, -24, 146, -25, 147, -26, 149, 148, 182, 150, 175, 70, 199, 200, 202, 203, 204, 205, -47, 180, 181, 32, - 33, 152, 35, 41, 80, 9, 292, 177, 176, 26, - -242, 394, -52, 5, -108, 16, -3, -42, -246, -42, + 33, 152, 35, 41, 80, 9, 293, 177, 176, 26, + -242, 395, -52, 5, -108, 16, -3, -42, -246, -42, -42, -42, -42, -42, -42, -208, -210, 80, 119, 80, - 156, 100, 154, -126, -236, 160, 163, 164, 284, 153, - -30, -29, -28, -27, -31, 30, -236, 154, 156, 258, + 156, 100, 154, -126, -236, 160, 163, 164, 285, 153, + -30, -29, -28, -27, -31, 30, -236, 154, 156, 259, -234, -231, 83, 84, 85, 154, 154, 155, 156, -236, - 154, -74, -166, -231, -160, 302, 168, 334, 335, 76, - 199, 213, 207, 234, 226, 303, 336, 169, 224, 227, - 271, 166, 337, 254, 261, 94, 202, 280, 338, 75, - 47, 40, 178, 222, 218, 339, 311, 192, 216, 46, - 28, 45, 340, 263, 239, 44, 341, 79, 307, 265, - 217, 262, 152, 342, 171, 390, 164, 343, 240, 244, - 344, 272, 48, 345, 346, 347, 74, 211, 212, 348, - 167, 274, 238, 165, 34, 266, 304, 54, 186, 275, - 42, 242, 41, 349, 237, 233, 49, 350, 351, 352, - 353, 236, 210, 232, 58, 246, 245, 247, 193, 270, - 229, 354, 355, 356, 172, 77, 357, 219, 19, 358, - 359, 360, 52, 361, 362, 278, 181, 363, 50, 37, - 184, 364, 365, 366, 367, 368, 369, 264, 241, 243, - 161, 188, 260, 306, 370, 276, 215, 371, 173, 185, - 180, 279, 174, 372, 373, 374, 375, 376, 377, 378, - 203, 39, 379, 380, 381, 382, 198, 273, 282, 57, - 78, 251, 383, 209, 163, 384, 200, 51, 195, 256, - 43, 230, 187, 385, 386, 220, 221, 235, 208, 231, - 201, 391, 189, 182, 387, 281, 252, 308, 194, 228, - 225, 196, 388, 156, 190, 191, 389, 392, 267, 257, - 268, 269, 258, 197, 305, 277, 223, 253, 154, 137, - 227, 271, 146, 255, 266, 267, 263, -149, 264, 188, - -177, 154, -145, 254, 257, 258, 197, -240, -231, 265, - 273, 272, 259, 269, 268, -166, 201, -171, 206, -161, - -231, -160, 204, -74, -45, 390, 150, -173, -173, 256, - 256, -173, -94, -59, -80, 103, -85, 30, 24, -84, - -81, -101, -98, -99, 137, 138, 140, 139, 141, 126, - 127, 134, 104, 142, -89, -87, -88, -90, 87, 86, - 95, 88, 89, 90, 91, 96, 97, 98, -161, -166, - -96, -243, 64, 65, 293, 294, 295, 296, 301, 297, - 106, 53, 283, 291, 290, 289, 287, 288, 285, 286, - 299, 300, 159, 284, 153, 132, 292, -231, -160, 40, - -5, -4, -243, 6, 21, 22, -112, 18, 17, -244, - 82, -48, -57, 59, 60, -58, 22, 36, 63, 61, - -43, -56, 128, -59, -166, -56, -144, 158, -144, -144, - -135, -176, 201, -138, 273, 272, -162, -136, -161, -159, - 271, 227, 270, 151, 309, 102, 23, 25, 249, 105, - 137, 17, 106, 136, 293, 146, 68, 310, 285, 286, - 283, 295, 296, 284, 255, 30, 11, 312, 26, 176, - 22, 36, 130, 148, 109, 110, 179, 24, 177, 98, - 315, 20, 71, 12, 14, 316, 317, 15, 159, 158, - 121, 155, 66, 9, 142, 27, 118, 62, 318, 29, - 319, 320, 321, 322, 64, 119, 18, 287, 288, 32, - 323, 301, 183, 132, 69, 55, 103, 324, 325, 96, - 326, 99, 72, 100, 16, 67, 38, 327, 328, 329, - 330, 120, 149, 292, 65, 331, 153, 6, 298, 31, - 175, 63, 332, 154, 108, 299, 300, 157, 97, 5, - 160, 33, 10, 70, 73, 289, 290, 291, 53, 107, - 13, 333, 101, -209, 119, -199, -202, -161, 170, -224, - 166, -74, -216, -215, -161, -74, 292, -153, 159, 155, - -153, -27, -28, 227, 136, -74, -74, 146, 148, 151, - 72, -29, 194, -23, -74, -152, 159, -231, -152, -152, - -74, 143, -74, -231, 31, -150, 119, 13, 284, -231, - 188, 154, 189, 156, -151, 119, -151, -151, -204, 155, - 34, 167, -174, -243, -162, 195, 196, 195, -148, -147, - 261, 262, 256, 260, 13, 196, 256, 191, -150, -174, - 157, -161, -44, -161, 87, -7, -3, -11, -10, -12, - 111, -173, -173, 81, 102, 100, 101, 118, -59, -82, - 121, 103, 119, 120, 105, 123, 122, 133, 126, 127, - 128, 129, 130, 131, 132, 124, 125, 136, 111, 112, - 113, 114, 115, 116, 117, -143, -243, -99, -243, 144, - 145, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -243, 143, -2, -94, -4, -243, -243, -243, -243, - -243, -243, -243, -243, -104, -59, -243, -247, -91, -243, - -247, -91, -247, -91, -247, -243, -247, -91, -247, -91, - -247, -247, -91, -243, -243, -243, -243, -243, -243, -243, - -173, -108, -3, -42, -128, 20, 32, -59, -109, -110, - -59, -108, 55, -54, -56, -58, 59, 60, 93, 12, - -164, -163, 23, -161, 87, 143, 12, -75, 27, -74, - -61, -62, -63, -64, -77, -100, -243, -74, 12, -68, - -69, -74, -76, -166, 81, 201, -138, -176, -140, -139, - 274, 276, 111, -165, -161, 87, 30, 31, 82, 81, - -74, -179, -182, -184, -183, -185, -180, -181, 224, 225, - 137, 228, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 31, 178, 220, 221, 222, 223, 240, 241, - 242, 243, 244, 245, 246, 247, 207, 226, 303, 208, - 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, - -231, 80, 82, 81, -186, 80, -174, 156, -74, 103, - -231, -231, 31, -207, 111, -156, 151, 148, 149, -227, - 147, 249, 227, 94, 30, 16, 293, 184, 308, -231, - 185, -174, 190, 190, 154, 154, 198, -74, 40, 81, - 157, -68, 24, 72, -74, -231, -167, -166, -159, -174, - -150, 87, -59, -174, -174, -174, -74, -174, -174, 87, - -205, 12, 121, -174, -174, -146, 12, 121, -205, -146, - -59, -151, 72, -172, 204, 238, 391, 392, 393, -59, - -59, -59, -59, -92, 96, 103, 97, 98, -85, -93, - -96, -99, 92, 121, 119, 120, 105, -85, -85, -85, + 154, -74, -166, -231, -160, 303, 168, 335, 336, 76, + 199, 213, 207, 234, 226, 304, 337, 169, 224, 227, + 272, 166, 338, 254, 262, 94, 202, 281, 339, 75, + 47, 40, 178, 222, 218, 340, 312, 192, 216, 46, + 28, 45, 341, 264, 239, 44, 342, 79, 308, 266, + 217, 263, 152, 343, 171, 391, 164, 344, 240, 244, + 345, 273, 48, 346, 347, 348, 74, 211, 212, 349, + 167, 275, 238, 165, 34, 267, 305, 54, 186, 276, + 42, 242, 41, 350, 237, 233, 49, 351, 352, 353, + 354, 236, 210, 232, 58, 246, 245, 247, 193, 271, + 229, 355, 356, 357, 172, 77, 358, 219, 19, 359, + 360, 361, 52, 362, 363, 279, 181, 364, 50, 37, + 184, 365, 366, 367, 368, 369, 370, 265, 241, 243, + 161, 188, 261, 307, 371, 277, 215, 372, 173, 185, + 180, 280, 174, 373, 374, 375, 376, 377, 378, 379, + 203, 39, 380, 381, 382, 383, 198, 274, 283, 57, + 78, 251, 384, 209, 163, 385, 200, 51, 195, 257, + 43, 230, 187, 386, 387, 220, 221, 235, 208, 231, + 201, 392, 189, 182, 388, 282, 252, 309, 194, 228, + 225, 196, 389, 156, 190, 191, 390, 393, 268, 258, + 269, 270, 259, 197, 306, 278, 223, 253, 154, 137, + 227, 272, 146, 255, 256, 267, 268, 264, -149, 265, + 188, -177, 154, -145, 254, 258, 259, 197, -240, -231, + 266, 274, 273, 260, 270, 269, -166, 201, -171, 206, + -161, -231, -160, 204, -74, -45, 391, 150, -173, -173, + 257, 257, -173, -94, -59, -80, 103, -85, 30, 24, + -84, -81, -101, -98, -99, 137, 138, 140, 139, 141, + 126, 127, 134, 104, 142, -89, -87, -88, -90, 87, + 86, 95, 88, 89, 90, 91, 96, 97, 98, -161, + -166, -96, -243, 64, 65, 294, 295, 296, 297, 302, + 298, 106, 53, 284, 292, 291, 290, 288, 289, 286, + 287, 300, 301, 159, 285, 153, 132, 293, -231, -160, + 40, -5, -4, -243, 6, 21, 22, -112, 18, 17, + -244, 82, -48, -57, 59, 60, -58, 22, 36, 63, + 61, -43, -56, 128, -59, -166, -56, -144, 158, -144, + -144, -135, -176, 201, -138, 274, 273, -162, -136, -161, + -159, 272, 227, 271, 151, 310, 102, 23, 25, 249, + 105, 137, 17, 106, 136, 294, 146, 68, 311, 286, + 287, 284, 296, 297, 285, 255, 30, 11, 313, 26, + 176, 22, 36, 130, 148, 109, 110, 179, 24, 177, + 98, 316, 20, 71, 12, 14, 317, 318, 15, 159, + 158, 121, 155, 66, 9, 142, 27, 118, 62, 319, + 29, 320, 321, 322, 323, 64, 119, 18, 288, 289, + 32, 324, 302, 183, 132, 69, 55, 103, 325, 326, + 96, 327, 99, 72, 100, 16, 67, 38, 328, 329, + 330, 331, 120, 149, 293, 65, 332, 153, 256, 6, + 299, 31, 175, 63, 333, 154, 108, 300, 301, 157, + 97, 5, 160, 33, 10, 70, 73, 290, 291, 292, + 53, 107, 13, 334, 101, -209, 119, -199, -202, -161, + 170, -224, 166, -74, -216, -215, -161, -74, 293, -153, + 159, 155, -153, -27, -28, 227, 136, -74, -74, 146, + 148, 151, 72, -29, 194, -23, -74, -152, 159, -231, + -152, -152, -74, 143, -74, -231, 31, -150, 119, 13, + 285, -231, 188, 154, 189, 156, -151, 119, -151, -151, + -151, -204, 155, 34, 167, -174, -243, -162, 195, 196, + 195, -148, -147, 262, 263, 257, 261, 13, 196, 257, + 191, -150, -174, 157, -161, -44, -161, 87, -7, -3, + -11, -10, -12, 111, -173, -173, 81, 102, 100, 101, + 118, -59, -82, 121, 103, 119, 120, 105, 123, 122, + 133, 126, 127, 128, 129, 130, 131, 132, 124, 125, + 136, 111, 112, 113, 114, 115, 116, 117, -143, -243, + -99, -243, 144, 145, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -243, 143, -2, -94, -4, -243, + -243, -243, -243, -243, -243, -243, -243, -104, -59, -243, + -247, -91, -243, -247, -91, -247, -91, -247, -243, -247, + -91, -247, -91, -247, -247, -91, -243, -243, -243, -243, + -243, -243, -243, -173, -108, -3, -42, -128, 20, 32, + -59, -109, -110, -59, -108, 55, -54, -56, -58, 59, + 60, 93, 12, -164, -163, 23, -161, 87, 143, 12, + -75, 27, -74, -61, -62, -63, -64, -77, -100, -243, + -74, 12, -68, -69, -74, -76, -166, 81, 201, -138, + -176, -140, -139, 275, 277, 111, -165, -161, 87, 30, + 31, 82, 81, -74, -179, -182, -184, -183, -185, -180, + -181, 224, 225, 137, 228, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 31, 178, 220, 221, 222, + 223, 240, 241, 242, 243, 244, 245, 246, 247, 207, + 226, 304, 208, 209, 210, 211, 212, 213, 215, 216, + 217, 218, 219, -231, 80, 82, 81, -186, 80, -174, + 156, -74, 103, -231, -231, 31, -207, 111, -156, 151, + 148, 149, -227, 147, 249, 227, 94, 30, 16, 294, + 184, 309, -231, 185, -174, 190, 190, 154, 154, 198, + -74, 40, 81, 157, -68, 24, 72, -74, -231, -167, + -166, -159, -174, -150, 87, -59, -174, -174, -174, -74, + -174, -174, 87, -205, 12, 121, -174, -174, -146, 12, + 121, -205, -146, -59, -151, 72, -172, 204, 238, 392, + 393, 394, -59, -59, -59, -59, -92, 96, 103, 97, + 98, -85, -93, -96, -99, 92, 121, 119, 120, 105, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -175, -231, 87, -231, -84, -84, -161, -55, - 22, 36, -54, -162, -167, -159, -52, -244, -244, -108, - -54, -54, -59, -59, -101, 87, -54, -101, 87, -54, - -54, -51, 22, 36, -102, -103, 107, -101, -161, -166, - -244, -85, -161, -161, -54, -55, -55, -54, -54, -112, - -244, -113, 27, 10, 121, 81, 19, 81, -111, 25, - 26, -112, -86, -161, 88, 91, -60, 81, 12, -58, - -74, -163, 128, -167, -74, -131, 184, -74, 31, 81, - -70, -72, -71, -73, 62, 66, 68, 63, 64, 65, - 69, -170, 23, -61, -3, -243, -169, 184, -168, 23, - -166, 87, -74, -68, -245, 81, 12, 73, -245, 81, - 143, -138, -140, 81, 275, 277, 278, 72, 99, -59, - -191, 136, -211, -212, -213, -162, 87, 88, -199, -200, - -201, -214, 170, -223, 161, 163, 164, 160, -203, 171, - -224, 155, 29, 82, -154, 96, 103, -195, 252, -186, - -186, -186, -186, -186, -190, 227, -190, -190, -190, 80, - 80, -186, -186, -186, -186, -192, 80, -192, -192, -193, - 80, -193, -224, 166, -59, -221, -220, -217, 73, 165, - 94, 305, -215, -111, 88, -74, 24, -127, 73, -207, - -231, 87, -173, -235, 166, 162, 170, 171, 164, 83, - 84, 85, 155, 29, 161, 163, 184, 160, -235, -157, - -158, 157, 23, 155, 29, 184, -74, -74, -74, -74, - -74, 151, 148, 192, -74, -74, -74, -174, -74, -150, - -166, -166, -74, -150, -74, -161, 96, 97, 98, -93, - -85, -85, -85, -53, 179, 102, -244, -244, -54, -54, - -243, 143, -5, -112, -244, -244, 81, 73, 23, 12, - 12, -244, 12, 12, -244, -244, -54, -105, -103, 109, - -59, -244, 143, -244, 81, 81, -244, -244, -244, -244, - -244, -128, 38, 46, 57, -59, -59, -110, -128, -142, - 20, 12, 53, 53, -79, 13, -56, -61, -58, 143, - -79, -83, 31, 53, -3, -243, -243, -134, -137, -101, - -62, -63, -63, -62, -63, 62, 62, 62, 67, 62, - 67, 62, -71, -166, -244, -244, -3, -78, 70, 158, - 71, -243, -168, -131, 73, -61, -74, -61, -76, -166, - 128, -139, -141, 279, 276, 282, -231, 87, 81, -213, - 111, -202, 80, -231, 29, -203, -203, -203, -206, -231, - -206, 29, -188, 30, 96, -196, 253, -190, -190, -191, - 31, -191, -191, -191, -198, 87, -198, 88, 88, 82, - -222, -218, -219, 32, 76, -217, -231, -207, 87, 37, - 82, -174, 72, -161, -231, 87, -173, -173, -74, -173, - -161, -233, 73, 190, 249, 190, 193, 157, -174, -146, - -146, -53, 102, -85, -85, -244, -244, -55, -162, -108, - -128, -178, 137, 224, 178, 222, 218, 238, 229, 251, - 220, 252, -175, -178, -85, -85, -85, -85, 302, -108, - 110, -59, 108, -162, -85, -85, 39, 87, 87, 58, - -74, -106, 14, -59, 128, -112, -133, 72, -134, -95, - -97, -96, -243, -129, -244, -161, -132, -161, -79, 81, - 111, -66, -65, 72, 73, -67, 72, -65, 62, 62, - -244, 155, 155, 155, -132, -79, -61, -79, -79, 143, - 276, 280, 281, -212, -213, -216, -223, 171, -206, -206, - -206, 80, -189, 72, -85, -191, -191, -231, 137, 82, - 81, 82, 81, 82, 81, -155, 340, 103, -219, -218, - -207, -207, 88, 87, -74, 27, -230, 305, -232, -231, - -161, -161, -161, -74, -150, -150, -85, -244, -112, -244, - -186, -186, -186, -193, -186, 212, -186, 212, -244, -244, - 20, 20, 20, 20, -243, -49, 298, -59, 81, 81, - 87, -190, -107, 15, 17, 28, -133, 81, -244, -244, - 81, 53, 143, -244, 81, -108, -137, -59, -59, 80, - -59, -243, -243, -243, -244, -108, -79, 82, -130, -161, - -194, 249, 10, -190, 87, -190, 88, 88, 340, 30, - 77, 78, 79, 30, 74, 75, -243, -229, -228, -162, - 80, 73, -128, -190, -231, -85, -85, -85, -85, -85, - -112, 87, -85, -85, -190, -115, -120, -148, -59, -94, - 29, -97, 53, -3, -161, -95, -161, -161, -112, -130, - -130, -244, -130, -130, -169, -112, -221, 82, 81, -197, - 161, 29, 160, -88, -191, -191, 82, 82, -225, -226, - 184, 81, 111, -130, -74, -244, -244, -244, -244, -50, - 121, 305, -244, -244, -244, -118, 390, -121, 42, -122, - 43, 10, -95, 143, 82, -244, -244, -244, -78, 173, - -161, -187, 94, 29, 29, -244, 81, -161, -228, -213, - 82, -244, 303, 69, 306, -115, 47, 230, -123, 51, - -124, -119, 52, 17, -134, -161, -74, 87, -226, 53, - -233, 58, 304, 307, -116, 49, -114, 48, -114, -122, - 17, -125, 44, 45, 87, 80, 186, -230, 58, -117, - 50, 72, 99, 87, 17, 17, -130, 187, 305, 72, - 99, 87, 87, 82, -243, 306, -238, -239, 72, -85, - 183, 307, -239, 72, 11, 10, -244, -244, -237, 174, - 169, 172, 31, -237, 168, 30, 96, + -85, -85, -85, -85, -85, -175, -231, 87, -231, -84, + -84, -161, -55, 22, 36, -54, -162, -167, -159, -52, + -244, -244, -108, -54, -54, -59, -59, -101, 87, -54, + -101, 87, -54, -54, -51, 22, 36, -102, -103, 107, + -101, -161, -166, -244, -85, -161, -161, -54, -55, -55, + -54, -54, -112, -244, -113, 27, 10, 121, 81, 19, + 81, -111, 25, 26, -112, -86, -161, 88, 91, -60, + 81, 12, -58, -74, -163, 128, -167, -74, -131, 184, + -74, 31, 81, -70, -72, -71, -73, 62, 66, 68, + 63, 64, 65, 69, -170, 23, -61, -3, -243, -169, + 184, -168, 23, -166, 87, -74, -68, -245, 81, 12, + 73, -245, 81, 143, -138, -140, 81, 276, 278, 279, + 72, 99, -59, -191, 136, -211, -212, -213, -162, 87, + 88, -199, -200, -201, -214, 170, -223, 161, 163, 164, + 160, -203, 171, -224, 155, 29, 82, -154, 96, 103, + -195, 252, -186, -186, -186, -186, -186, -190, 227, -190, + -190, -190, 80, 80, -186, -186, -186, -186, -192, 80, + -192, -192, -193, 80, -193, -224, 166, -59, -221, -220, + -217, 73, 165, 94, 306, -215, -111, 88, -74, 24, + -127, 73, -207, -231, 87, -173, -235, 166, 162, 170, + 171, 164, 83, 84, 85, 155, 29, 161, 163, 184, + 160, -235, -157, -158, 157, 23, 155, 29, 184, -74, + -74, -74, -74, -74, 151, 148, 192, -74, -74, -74, + -174, -74, -150, -166, -166, -74, -150, -74, -161, 96, + 97, 98, -93, -85, -85, -85, -53, 179, 102, -244, + -244, -54, -54, -243, 143, -5, -112, -244, -244, 81, + 73, 23, 12, 12, -244, 12, 12, -244, -244, -54, + -105, -103, 109, -59, -244, 143, -244, 81, 81, -244, + -244, -244, -244, -244, -128, 38, 46, 57, -59, -59, + -110, -128, -142, 20, 12, 53, 53, -79, 13, -56, + -61, -58, 143, -79, -83, 31, 53, -3, -243, -243, + -134, -137, -101, -62, -63, -63, -62, -63, 62, 62, + 62, 67, 62, 67, 62, -71, -166, -244, -244, -3, + -78, 70, 158, 71, -243, -168, -131, 73, -61, -74, + -61, -76, -166, 128, -139, -141, 280, 277, 283, -231, + 87, 81, -213, 111, -202, 80, -231, 29, -203, -203, + -203, -206, -231, -206, 29, -188, 30, 96, -196, 253, + -190, -190, -191, 31, -191, -191, -191, -198, 87, -198, + 88, 88, 82, -222, -218, -219, 32, 76, -217, -231, + -207, 87, 37, 82, -174, 72, -161, -231, 87, -173, + -173, -74, -173, -161, -233, 73, 190, 249, 190, 193, + 157, -174, -146, -146, -53, 102, -85, -85, -244, -244, + -55, -162, -108, -128, -178, 137, 224, 178, 222, 218, + 238, 229, 251, 220, 252, -175, -178, -85, -85, -85, + -85, 303, -108, 110, -59, 108, -162, -85, -85, 39, + 87, 87, 58, -74, -106, 14, -59, 128, -112, -133, + 72, -134, -95, -97, -96, -243, -129, -244, -161, -132, + -161, -79, 81, 111, -66, -65, 72, 73, -67, 72, + -65, 62, 62, -244, 155, 155, 155, -132, -79, -61, + -79, -79, 143, 277, 281, 282, -212, -213, -216, -223, + 171, -206, -206, -206, 80, -189, 72, -85, -191, -191, + -231, 137, 82, 81, 82, 81, 82, 81, -155, 341, + 103, -219, -218, -207, -207, 88, 87, -74, 27, -230, + 306, -232, -231, -161, -161, -161, -74, -150, -150, -85, + -244, -112, -244, -186, -186, -186, -193, -186, 212, -186, + 212, -244, -244, 20, 20, 20, 20, -243, -49, 299, + -59, 81, 81, 87, -190, -107, 15, 17, 28, -133, + 81, -244, -244, 81, 53, 143, -244, 81, -108, -137, + -59, -59, 80, -59, -243, -243, -243, -244, -108, -79, + 82, -130, -161, -194, 249, 10, -190, 87, -190, 88, + 88, 341, 30, 77, 78, 79, 30, 74, 75, -243, + -229, -228, -162, 80, 73, -128, -190, -231, -85, -85, + -85, -85, -85, -112, 87, -85, -85, -190, -115, -120, + -148, -59, -94, 29, -97, 53, -3, -161, -95, -161, + -161, -112, -130, -130, -244, -130, -130, -169, -112, -221, + 82, 81, -197, 161, 29, 160, -88, -191, -191, 82, + 82, -225, -226, 184, 81, 111, -130, -74, -244, -244, + -244, -244, -50, 121, 306, -244, -244, -244, -118, 391, + -121, 42, -122, 43, 10, -95, 143, 82, -244, -244, + -244, -78, 173, -161, -187, 94, 29, 29, -244, 81, + -161, -228, -213, 82, -244, 304, 69, 307, -115, 47, + 230, -123, 51, -124, -119, 52, 17, -134, -161, -74, + 87, -226, 53, -233, 58, 305, 308, -116, 49, -114, + 48, -114, -122, 17, -125, 44, 45, 87, 80, 186, + -230, 58, -117, 50, 72, 99, 87, 17, 17, -130, + 187, 306, 72, 99, 87, 87, 82, -243, 307, -238, + -239, 72, -85, 183, 308, -239, 72, 11, 10, -244, + -244, -237, 174, 169, 172, 31, -237, 168, 30, 96, } -var yyDef = [...]int{ +var yyDef = [...]int{ 30, -2, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 655, - 0, 396, 396, 396, 396, 396, 396, 396, 0, 0, - 768, -2, 0, 34, 0, 0, 0, 0, -2, 361, - 362, 0, 364, -2, 0, 0, 373, 1107, 1107, 0, - 0, 1107, 0, 0, 1105, 51, 52, 379, 380, 381, - 1, 3, 0, 400, 663, 0, 0, -2, 398, 0, - 0, 751, 751, 751, 0, 80, 81, 0, 0, 0, - 0, 0, 749, 0, 749, 769, 770, 771, 98, 99, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 656, + 0, 397, 397, 397, 397, 397, 397, 397, 0, 0, + 769, -2, 0, 34, 0, 0, 0, 0, -2, 362, + 363, 0, 365, -2, 0, 0, 374, 1109, 1109, 0, + 0, 1109, 0, 0, 1107, 51, 52, 380, 381, 382, + 1, 3, 0, 401, 664, 0, 0, -2, 399, 0, + 0, 752, 752, 752, 0, 80, 81, 0, 0, 0, + 0, 0, 750, 0, 750, 770, 771, 772, 98, 99, 85, -2, 103, 104, 0, 108, 97, 0, 0, 0, - 107, 35, 31, 32, 33, 0, 747, 0, 747, 747, - 0, 307, 478, 778, 779, 902, 903, 904, 905, 906, - 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, - 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, - 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, - 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, - 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, - 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, - 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, - 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, - 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, - 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 0, 0, - 0, 352, 0, 355, 355, 355, 321, 0, 323, 1108, - 0, 0, 0, 330, 0, 0, 336, 352, 1108, 344, - 358, 359, 346, 341, 342, 360, 363, 0, 368, 371, - 774, 775, 0, 386, 0, 952, 378, 391, 392, 1107, - 1107, 395, 36, 529, 488, 0, 494, 496, 0, 531, - 532, 533, 534, 535, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 561, 562, 563, 564, 640, 641, - 642, 643, 644, 645, 646, 647, 498, 499, 637, 0, - 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 628, 0, 598, 598, 598, 598, 598, 598, 598, 598, - 0, 0, 0, 0, 0, 0, 0, -2, -2, 1107, - 655, 47, 0, 396, 401, 402, 679, 0, 0, 655, - 1106, 0, 0, -2, -2, 412, 418, 419, 420, 421, - 397, 0, 424, 428, 0, 0, 0, 752, 0, 0, - 66, 0, 1077, 732, -2, -2, 0, 0, 776, 777, - -2, 916, -2, 782, 783, 784, 785, 786, 787, 788, + 107, 35, 31, 32, 33, 0, 748, 0, 748, 748, + 0, 307, 479, 779, 780, 904, 905, 906, 907, 908, + 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, + 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, + 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, + 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, + 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, + 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, + 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, + 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 0, 0, + 0, 353, 0, 356, 356, 356, 356, 322, 0, 324, + 1110, 0, 0, 0, 331, 0, 0, 337, 353, 1110, + 345, 359, 360, 347, 342, 343, 361, 364, 0, 369, + 372, 775, 776, 0, 387, 0, 954, 379, 392, 393, + 1109, 1109, 396, 36, 530, 489, 0, 495, 497, 0, + 532, 533, 534, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 562, 563, 564, 565, 641, + 642, 643, 644, 645, 646, 647, 648, 499, 500, 638, + 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 629, 0, 599, 599, 599, 599, 599, 599, 599, + 599, 0, 0, 0, 0, 0, 0, 0, -2, -2, + 1109, 656, 47, 0, 397, 402, 403, 680, 0, 0, + 656, 1108, 0, 0, -2, -2, 413, 419, 420, 421, + 422, 398, 0, 425, 429, 0, 0, 0, 753, 0, + 0, 66, 0, 1079, 733, -2, -2, 0, 0, 777, + 778, -2, 918, -2, 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, 814, 815, 816, 817, 818, @@ -3626,133 +3638,133 @@ var yyDef = [...]int{ 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, - 899, 900, 901, 0, 0, 115, 116, 0, 0, 237, - 918, 113, 0, 231, 172, 1108, 0, 0, 0, 0, - 0, 105, 106, 0, 214, 0, 1108, 0, 0, 0, - 0, -2, 0, 299, 0, 0, 0, 0, 0, 0, - 306, 0, 308, 1108, 352, 311, 0, 0, 1108, 1108, - 1108, 0, 1108, 1108, 318, 0, 319, 320, 0, 222, - 223, 224, 324, 1109, 1110, 1108, 1108, 349, 0, 349, - 347, 348, 339, 340, 0, 355, 333, 334, 337, 338, - 369, 372, 389, 387, 388, 390, 382, 383, 384, 385, - 0, 393, 394, 0, 0, 0, 0, 0, 492, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, - 518, 519, 520, 521, 522, 495, 0, 509, 0, 0, - 0, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 0, 409, 0, 0, 0, 655, 0, 0, 0, 0, - 0, 0, 0, 406, 0, 629, 0, 582, 590, 0, - 583, 591, 584, 592, 585, 0, 586, 593, 587, 594, - 588, 589, 595, 0, 0, 0, 409, 409, 0, 0, - 37, 663, 0, 411, 682, 0, 0, 664, 656, 657, - 660, 663, 0, 433, 422, 413, 416, 417, 399, 0, - 425, 429, 0, 431, 432, 0, 0, 64, 0, 477, - 0, 435, 437, 438, 439, 459, 0, 461, 0, 0, - 0, 60, 62, 478, 0, 1077, 738, 0, 68, 69, - 0, 0, 0, 195, 742, 743, 744, 740, 254, 0, - 0, 183, 179, 123, 124, 125, 172, 127, 172, 172, - 172, 172, 192, 192, 192, 192, 155, 156, 157, 158, - 159, 0, 0, 142, 172, 172, 172, 172, 162, 163, - 164, 165, 166, 167, 168, 169, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 174, 174, 174, 176, 176, - 0, 0, 206, 0, 660, 0, 83, 0, 94, 0, - 772, 96, 214, 0, 215, 1107, 0, 0, 763, 269, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 302, 748, 0, 1108, 305, 479, 780, 781, 309, - 310, 353, 354, 312, 313, 314, 315, 316, 317, 356, - 0, 225, 226, 325, 329, 352, 0, 0, 0, 352, - 331, 332, 0, 0, 370, 374, 375, 376, 377, 530, - 489, 490, 491, 493, 510, 0, 512, 514, 500, 501, - 525, 526, 527, 0, 0, 0, 0, 523, 505, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 550, 613, 614, 0, 548, 549, 560, 0, - 0, 0, 410, 638, 0, -2, 0, 528, 727, 663, - 0, 0, 0, 0, 533, 640, 0, 533, 640, 0, - 0, 0, 407, 408, 635, 632, 0, 0, 637, 0, - 599, 0, 0, 0, 0, 0, 0, 0, 0, 679, - 48, 38, 0, 680, 0, 0, 0, 0, 659, 661, - 662, 679, 0, 648, 0, 0, 486, 0, 0, 414, - 44, 430, 426, 0, 486, 0, 0, 476, 0, 0, - 0, 0, 0, 0, 466, 0, 0, 469, 0, 0, - 0, 0, 460, 0, 0, 0, 481, 1017, 462, 0, - 464, 465, -2, 0, 0, 0, 58, 59, 0, 0, - 0, 733, 67, 0, 0, 72, 73, 734, 735, 736, - 737, 0, 100, 255, 257, 260, 261, 262, 117, 119, - 120, 0, 0, 235, 1027, 1061, 953, 229, 229, 951, - 242, 227, 228, 114, 186, 184, 0, 181, 180, 126, - 192, 192, 149, 150, 195, 0, 195, 195, 195, 0, - 0, 143, 144, 145, 146, 137, 0, 138, 139, 140, - 0, 141, 236, 0, 0, 667, 207, 208, 0, 214, - 0, 0, 232, 233, 0, 1108, 750, 0, 0, 0, - 111, 112, 263, 1107, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 1107, 0, - 1107, 764, 765, 766, 767, 0, 86, 273, 275, 274, - 278, 0, 0, 0, 0, 300, 1108, 304, 349, 326, - 350, 351, 349, 328, 335, 366, 511, 513, 515, 502, - 523, 506, 0, 503, 0, 0, 497, 565, 0, 0, - 409, 0, 655, 679, 569, 570, 0, 0, 0, 0, - 0, 606, 0, 0, 607, 0, 655, 0, 633, 0, - 0, 581, 0, 600, 0, 0, 601, 602, 603, 604, - 605, 40, 0, 0, 0, 665, 666, 658, 39, 0, - 745, 746, 649, 650, 651, 0, 423, 434, 415, 0, - 663, 721, 0, 0, 713, 0, 0, 486, 729, 0, - 436, 455, 457, 0, 452, 467, 468, 470, 0, 472, - 0, 474, 475, 440, 441, 442, 0, 443, 0, 0, - 0, 0, 463, 486, 0, 486, 61, 486, 63, 0, - 480, 70, 71, 0, 0, 77, 196, 197, 0, 258, - 0, 118, 0, 0, 216, 229, 229, 229, 220, 230, - 221, 0, 188, 0, 185, 122, 182, 195, 195, 151, - 0, 152, 153, 154, 0, 170, 0, 0, 0, 251, - 82, 671, 670, 214, 214, 209, 210, 0, 212, 0, - 173, 84, 0, 773, 109, 110, 264, 265, 266, 267, - 0, 89, 0, 0, 0, 0, 271, 0, 303, 352, - 352, 504, 0, 524, 507, 566, 567, 0, 639, 663, - 42, 0, 172, 172, 618, 172, 176, 621, 172, 623, - 172, 626, 0, 0, 0, 0, 0, 0, 0, 630, - 580, 636, 0, 638, 0, 0, 0, 192, 684, 681, - 41, 653, 0, 487, 427, 45, 49, 0, 721, 712, - 723, 725, 0, 0, 0, 717, 0, 447, 655, 0, - 0, 449, 456, 0, 0, 450, 0, 451, 471, 473, - -2, 0, 0, 0, 0, 655, 486, 56, 57, 0, - 74, 75, 76, 256, 259, 0, 234, 0, 217, 218, - 219, 0, 190, 0, 187, 147, 148, 193, 194, 192, - 0, 192, 0, 177, 0, 243, 252, 0, 668, 669, - 0, 0, 211, 213, 95, 0, 272, 0, 87, 88, - 0, 0, 277, 301, 322, 327, 508, 568, 679, 571, - 615, 192, 619, 620, 622, 624, 625, 627, 573, 572, - 0, 0, 0, 0, 0, 663, 0, 634, 0, 0, - 192, 704, 46, 0, 0, 0, 50, 0, 726, 0, - 0, 0, 0, 65, 0, 663, 730, 731, 453, 0, - 458, 0, 0, 0, 461, 663, 55, 206, 0, 445, - 198, 191, 0, 195, 171, 195, 0, 0, 253, 672, - 673, 674, 675, 676, 677, 678, 0, 90, 91, 0, - 0, 0, 43, 616, 617, 0, 0, 0, 0, 608, - 0, 631, 0, 0, 686, 685, 698, 702, 654, 652, - 0, 724, 0, 716, 719, 715, 718, 448, 53, 0, - 0, 483, 0, 0, 481, 54, 205, 0, 0, 203, - 0, 200, 202, 189, 160, 161, 175, 178, 0, 295, - 0, 0, 0, 0, 279, 574, 576, 575, 577, 0, - 0, 0, 579, 596, 597, 704, 0, 697, 700, -2, - 0, 0, 714, 0, 454, 482, 484, 485, 444, 0, - 446, 121, 0, 199, 201, 294, 0, 0, 92, 93, - 86, 578, 0, 0, 0, 691, 689, 689, 702, 0, - 706, 0, 711, 0, 722, 720, 0, 204, 296, 0, - 89, 609, 0, 612, 694, 0, 687, 690, 688, 699, - 0, 705, 0, 0, 703, 0, 0, 276, 610, 683, - 0, 692, 693, 701, 0, 0, 0, 0, 0, 695, - 696, 707, 709, 238, 0, 0, 239, 240, 0, 0, - 0, 611, 241, 0, 0, 0, 297, 298, 244, 246, - 247, 0, 0, 245, 248, 249, 250, + 899, 900, 901, 902, 903, 0, 0, 115, 116, 0, + 0, 237, 920, 113, 0, 231, 172, 1110, 0, 0, + 0, 0, 0, 105, 106, 0, 214, 0, 1110, 0, + 0, 0, 0, -2, 0, 299, 0, 0, 0, 0, + 0, 0, 306, 0, 308, 1110, 353, 311, 0, 0, + 1110, 1110, 1110, 0, 1110, 1110, 318, 0, 319, 320, + 321, 0, 222, 223, 224, 325, 1111, 1112, 1110, 1110, + 350, 0, 350, 348, 349, 340, 341, 0, 356, 334, + 335, 338, 339, 370, 373, 390, 388, 389, 391, 383, + 384, 385, 386, 0, 394, 395, 0, 0, 0, 0, + 0, 493, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 517, 518, 519, 520, 521, 522, 523, 496, 0, + 510, 0, 0, 0, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 0, 410, 0, 0, 0, 656, 0, + 0, 0, 0, 0, 0, 0, 407, 0, 630, 0, + 583, 591, 0, 584, 592, 585, 593, 586, 0, 587, + 594, 588, 595, 589, 590, 596, 0, 0, 0, 410, + 410, 0, 0, 37, 664, 0, 412, 683, 0, 0, + 665, 657, 658, 661, 664, 0, 434, 423, 414, 417, + 418, 400, 0, 426, 430, 0, 432, 433, 0, 0, + 64, 0, 478, 0, 436, 438, 439, 440, 460, 0, + 462, 0, 0, 0, 60, 62, 479, 0, 1079, 739, + 0, 68, 69, 0, 0, 0, 195, 743, 744, 745, + 741, 254, 0, 0, 183, 179, 123, 124, 125, 172, + 127, 172, 172, 172, 172, 192, 192, 192, 192, 155, + 156, 157, 158, 159, 0, 0, 142, 172, 172, 172, + 172, 162, 163, 164, 165, 166, 167, 168, 169, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 174, 174, + 174, 176, 176, 0, 0, 206, 0, 661, 0, 83, + 0, 94, 0, 773, 96, 214, 0, 215, 1109, 0, + 0, 764, 269, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 0, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 302, 749, 0, 1110, 305, 480, + 781, 782, 309, 310, 354, 355, 312, 313, 314, 315, + 316, 317, 357, 0, 225, 226, 326, 330, 353, 0, + 0, 0, 353, 332, 333, 0, 0, 371, 375, 376, + 377, 378, 531, 490, 491, 492, 494, 511, 0, 513, + 515, 501, 502, 526, 527, 528, 0, 0, 0, 0, + 524, 506, 0, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 551, 614, 615, 0, 549, + 550, 561, 0, 0, 0, 411, 639, 0, -2, 0, + 529, 728, 664, 0, 0, 0, 0, 534, 641, 0, + 534, 641, 0, 0, 0, 408, 409, 636, 633, 0, + 0, 638, 0, 600, 0, 0, 0, 0, 0, 0, + 0, 0, 680, 48, 38, 0, 681, 0, 0, 0, + 0, 660, 662, 663, 680, 0, 649, 0, 0, 487, + 0, 0, 415, 44, 431, 427, 0, 487, 0, 0, + 477, 0, 0, 0, 0, 0, 0, 467, 0, 0, + 470, 0, 0, 0, 0, 461, 0, 0, 0, 482, + 1019, 463, 0, 465, 466, -2, 0, 0, 0, 58, + 59, 0, 0, 0, 734, 67, 0, 0, 72, 73, + 735, 736, 737, 738, 0, 100, 255, 257, 260, 261, + 262, 117, 119, 120, 0, 0, 235, 1029, 1063, 955, + 229, 229, 953, 242, 227, 228, 114, 186, 184, 0, + 181, 180, 126, 192, 192, 149, 150, 195, 0, 195, + 195, 195, 0, 0, 143, 144, 145, 146, 137, 0, + 138, 139, 140, 0, 141, 236, 0, 0, 668, 207, + 208, 0, 214, 0, 0, 232, 233, 0, 1110, 751, + 0, 0, 0, 111, 112, 263, 1109, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 1109, 0, 1109, 765, 766, 767, 768, 0, 86, + 273, 275, 274, 278, 0, 0, 0, 0, 300, 1110, + 304, 350, 327, 351, 352, 350, 329, 336, 367, 512, + 514, 516, 503, 524, 507, 0, 504, 0, 0, 498, + 566, 0, 0, 410, 0, 656, 680, 570, 571, 0, + 0, 0, 0, 0, 607, 0, 0, 608, 0, 656, + 0, 634, 0, 0, 582, 0, 601, 0, 0, 602, + 603, 604, 605, 606, 40, 0, 0, 0, 666, 667, + 659, 39, 0, 746, 747, 650, 651, 652, 0, 424, + 435, 416, 0, 664, 722, 0, 0, 714, 0, 0, + 487, 730, 0, 437, 456, 458, 0, 453, 468, 469, + 471, 0, 473, 0, 475, 476, 441, 442, 443, 0, + 444, 0, 0, 0, 0, 464, 487, 0, 487, 61, + 487, 63, 0, 481, 70, 71, 0, 0, 77, 196, + 197, 0, 258, 0, 118, 0, 0, 216, 229, 229, + 229, 220, 230, 221, 0, 188, 0, 185, 122, 182, + 195, 195, 151, 0, 152, 153, 154, 0, 170, 0, + 0, 0, 251, 82, 672, 671, 214, 214, 209, 210, + 0, 212, 0, 173, 84, 0, 774, 109, 110, 264, + 265, 266, 267, 0, 89, 0, 0, 0, 0, 271, + 0, 303, 353, 353, 505, 0, 525, 508, 567, 568, + 0, 640, 664, 42, 0, 172, 172, 619, 172, 176, + 622, 172, 624, 172, 627, 0, 0, 0, 0, 0, + 0, 0, 631, 581, 637, 0, 639, 0, 0, 0, + 192, 685, 682, 41, 654, 0, 488, 428, 45, 49, + 0, 722, 713, 724, 726, 0, 0, 0, 718, 0, + 448, 656, 0, 0, 450, 457, 0, 0, 451, 0, + 452, 472, 474, -2, 0, 0, 0, 0, 656, 487, + 56, 57, 0, 74, 75, 76, 256, 259, 0, 234, + 0, 217, 218, 219, 0, 190, 0, 187, 147, 148, + 193, 194, 192, 0, 192, 0, 177, 0, 243, 252, + 0, 669, 670, 0, 0, 211, 213, 95, 0, 272, + 0, 87, 88, 0, 0, 277, 301, 323, 328, 509, + 569, 680, 572, 616, 192, 620, 621, 623, 625, 626, + 628, 574, 573, 0, 0, 0, 0, 0, 664, 0, + 635, 0, 0, 192, 705, 46, 0, 0, 0, 50, + 0, 727, 0, 0, 0, 0, 65, 0, 664, 731, + 732, 454, 0, 459, 0, 0, 0, 462, 664, 55, + 206, 0, 446, 198, 191, 0, 195, 171, 195, 0, + 0, 253, 673, 674, 675, 676, 677, 678, 679, 0, + 90, 91, 0, 0, 0, 43, 617, 618, 0, 0, + 0, 0, 609, 0, 632, 0, 0, 687, 686, 699, + 703, 655, 653, 0, 725, 0, 717, 720, 716, 719, + 449, 53, 0, 0, 484, 0, 0, 482, 54, 205, + 0, 0, 203, 0, 200, 202, 189, 160, 161, 175, + 178, 0, 295, 0, 0, 0, 0, 279, 575, 577, + 576, 578, 0, 0, 0, 580, 597, 598, 705, 0, + 698, 701, -2, 0, 0, 715, 0, 455, 483, 485, + 486, 445, 0, 447, 121, 0, 199, 201, 294, 0, + 0, 92, 93, 86, 579, 0, 0, 0, 692, 690, + 690, 703, 0, 707, 0, 712, 0, 723, 721, 0, + 204, 296, 0, 89, 610, 0, 613, 695, 0, 688, + 691, 689, 700, 0, 706, 0, 0, 704, 0, 0, + 276, 611, 684, 0, 693, 694, 702, 0, 0, 0, + 0, 0, 696, 697, 708, 710, 238, 0, 0, 239, + 240, 0, 0, 0, 612, 241, 0, 0, 0, 297, + 298, 244, 246, 247, 0, 0, 245, 248, 249, 250, } -var yyTok1 = [...]int{ +var yyTok1 = [...]int{ 1, 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, 3, 3, 3, 3, 3, 104, 3, 3, 3, 131, 123, 3, 80, 82, 128, 126, 81, 127, 143, 129, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 394, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 395, 112, 111, 113, 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, @@ -3761,8 +3773,8 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 122, 3, 134, } -var yyTok2 = [...]int{ +var yyTok2 = [...]int{ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, @@ -3790,6 +3802,7 @@ var yyTok2 = [...]int{ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, } + var yyTok3 = [...]int{ 57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279, 57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284, @@ -3814,7 +3827,8 @@ var yyTok3 = [...]int{ 57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379, 57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384, 57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389, - 57715, 390, 57716, 391, 57717, 392, 57718, 393, 0, + 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, + 0, } var yyErrorMessages = [...]struct { @@ -5929,51 +5943,58 @@ yydefault: yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } case 321: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1837 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} + showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilter} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } case 322: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1842 + { + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} + } + case 323: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1841 +//line sql.y:1846 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{&ShowLegacy{Extended: string(yyDollar[2].str), Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 323: + case 324: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1846 +//line sql.y:1851 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 324: + case 325: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1850 +//line sql.y:1855 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 325: + case 326: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1854 +//line sql.y:1859 { yyVAL.statement = &Show{&ShowLegacy{Scope: yyDollar[2].scope, Type: string(yyDollar[3].bytes)}} } - case 326: + case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1858 +//line sql.y:1863 { yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} } - case 327: + case 328: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1862 +//line sql.y:1867 { yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} } - case 328: + case 329: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1866 +//line sql.y:1871 { // this is ugly, but I couldn't find a better way for now if yyDollar[3].str == "processlist" { @@ -5983,866 +6004,866 @@ yydefault: yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[3].str, ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } } - case 329: + case 330: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1876 +//line sql.y:1881 { yyVAL.statement = &Show{&ShowLegacy{Scope: yyDollar[2].scope, Type: string(yyDollar[3].bytes)}} } - case 330: + case 331: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1880 +//line sql.y:1885 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 331: + case 332: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1884 +//line sql.y:1889 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: yyDollar[4].expr, Scope: ImplicitScope}} } - case 332: + case 333: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1888 +//line sql.y:1893 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilter} yyVAL.statement = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt}} } - case 333: + case 334: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1893 +//line sql.y:1898 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 334: + case 335: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1897 +//line sql.y:1902 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 335: + case 336: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1901 +//line sql.y:1906 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 336: + case 337: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1905 +//line sql.y:1910 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 337: + case 338: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1910 +//line sql.y:1915 { // This should probably be a different type (ShowVitessTopoOpt), but // just getting the thing working for now showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilter} yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[2].str, ShowTablesOpt: showTablesOpt}} } - case 338: + case 339: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1924 +//line sql.y:1929 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} } - case 339: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1930 - { - yyVAL.str = string(yyDollar[1].bytes) - } case 340: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1934 +//line sql.y:1935 { yyVAL.str = string(yyDollar[1].bytes) } case 341: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1940 +//line sql.y:1939 { yyVAL.str = string(yyDollar[1].bytes) } case 342: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1944 +//line sql.y:1945 { yyVAL.str = string(yyDollar[1].bytes) } case 343: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1949 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 344: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1950 +//line sql.y:1955 { yyVAL.str = "" } - case 344: + case 345: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1954 +//line sql.y:1959 { yyVAL.str = "extended " } - case 345: + case 346: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1960 +//line sql.y:1965 { yyVAL.str = "" } - case 346: + case 347: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1964 +//line sql.y:1969 { yyVAL.str = "full " } - case 347: + case 348: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1970 +//line sql.y:1975 { yyVAL.str = string(yyDollar[1].bytes) } - case 348: + case 349: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1974 +//line sql.y:1979 { yyVAL.str = string(yyDollar[1].bytes) } - case 349: + case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1980 +//line sql.y:1985 { yyVAL.str = "" } - case 350: + case 351: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1984 +//line sql.y:1989 { yyVAL.str = yyDollar[2].tableIdent.v } - case 351: + case 352: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1988 +//line sql.y:1993 { yyVAL.str = yyDollar[2].tableIdent.v } - case 352: + case 353: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1994 +//line sql.y:1999 { yyVAL.showFilter = nil } - case 353: + case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1998 +//line sql.y:2003 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 354: + case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2002 +//line sql.y:2007 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 355: + case 356: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2008 +//line sql.y:2013 { yyVAL.showFilter = nil } - case 356: + case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2012 +//line sql.y:2017 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 357: + case 358: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2018 +//line sql.y:2023 { yyVAL.scope = ImplicitScope } - case 358: + case 359: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2022 +//line sql.y:2027 { yyVAL.scope = SessionScope } - case 359: + case 360: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2026 +//line sql.y:2031 { yyVAL.scope = GlobalScope } - case 360: + case 361: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2032 +//line sql.y:2037 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 361: + case 362: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2036 +//line sql.y:2041 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 362: + case 363: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2042 +//line sql.y:2047 { yyVAL.statement = &Begin{} } - case 363: + case 364: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2046 +//line sql.y:2051 { yyVAL.statement = &Begin{} } - case 364: + case 365: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2052 +//line sql.y:2057 { yyVAL.statement = &Commit{} } - case 365: + case 366: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2058 +//line sql.y:2063 { yyVAL.statement = &Rollback{} } - case 366: + case 367: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2062 +//line sql.y:2067 { yyVAL.statement = &SRollback{Name: yyDollar[5].colIdent} } - case 367: + case 368: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2067 +//line sql.y:2072 { yyVAL.empty = struct{}{} } - case 368: + case 369: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2069 +//line sql.y:2074 { yyVAL.empty = struct{}{} } - case 369: + case 370: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2072 +//line sql.y:2077 { yyVAL.empty = struct{}{} } - case 370: + case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2074 +//line sql.y:2079 { yyVAL.empty = struct{}{} } - case 371: + case 372: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2079 +//line sql.y:2084 { yyVAL.statement = &Savepoint{Name: yyDollar[2].colIdent} } - case 372: + case 373: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2085 +//line sql.y:2090 { yyVAL.statement = &Release{Name: yyDollar[3].colIdent} } - case 373: + case 374: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2090 +//line sql.y:2095 { yyVAL.explainType = EmptyType } - case 374: + case 375: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2094 +//line sql.y:2099 { yyVAL.explainType = JSONType } - case 375: + case 376: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2098 +//line sql.y:2103 { yyVAL.explainType = TreeType } - case 376: + case 377: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2102 +//line sql.y:2107 { yyVAL.explainType = VitessType } - case 377: + case 378: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2106 +//line sql.y:2111 { yyVAL.explainType = TraditionalType } - case 378: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2110 - { - yyVAL.explainType = AnalyzeType - } case 379: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2116 +//line sql.y:2115 { - yyVAL.bytes = yyDollar[1].bytes + yyVAL.explainType = AnalyzeType } case 380: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2120 +//line sql.y:2121 { yyVAL.bytes = yyDollar[1].bytes } case 381: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2124 +//line sql.y:2125 { yyVAL.bytes = yyDollar[1].bytes } case 382: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2130 +//line sql.y:2129 { - yyVAL.statement = yyDollar[1].selStmt + yyVAL.bytes = yyDollar[1].bytes } case 383: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2134 +//line sql.y:2135 { - yyVAL.statement = yyDollar[1].statement + yyVAL.statement = yyDollar[1].selStmt } case 384: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2138 +//line sql.y:2139 { yyVAL.statement = yyDollar[1].statement } case 385: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2142 +//line sql.y:2143 { yyVAL.statement = yyDollar[1].statement } case 386: - yyDollar = yyS[yypt-0 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2147 { - yyVAL.str = "" + yyVAL.statement = yyDollar[1].statement } case 387: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2151 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:2152 { yyVAL.str = "" } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2155 +//line sql.y:2156 { yyVAL.str = "" } case 389: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2161 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2160 { - yyVAL.statement = &OtherRead{} + yyVAL.str = "" } case 390: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2165 +//line sql.y:2166 { - yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} + yyVAL.statement = &OtherRead{} } case 391: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2171 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2170 { - yyVAL.statement = &OtherAdmin{} + yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} } case 392: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2175 +//line sql.y:2176 { yyVAL.statement = &OtherAdmin{} } case 393: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2179 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2180 { yyVAL.statement = &OtherAdmin{} } case 394: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2183 +//line sql.y:2184 { yyVAL.statement = &OtherAdmin{} } case 395: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2188 + { + yyVAL.statement = &OtherAdmin{} + } + case 396: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2189 +//line sql.y:2194 { yyVAL.statement = &DDL{Action: FlushDDLAction} } - case 396: + case 397: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2193 +//line sql.y:2198 { setAllowComments(yylex, true) } - case 397: + case 398: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2197 +//line sql.y:2202 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 398: + case 399: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2203 +//line sql.y:2208 { yyVAL.bytes2 = nil } - case 399: + case 400: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2207 +//line sql.y:2212 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 400: + case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2213 +//line sql.y:2218 { yyVAL.boolean = true } - case 401: + case 402: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2217 +//line sql.y:2222 { yyVAL.boolean = false } - case 402: + case 403: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2221 +//line sql.y:2226 { yyVAL.boolean = true } - case 403: + case 404: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2226 +//line sql.y:2231 { yyVAL.str = "" } - case 404: + case 405: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2230 +//line sql.y:2235 { yyVAL.str = SQLNoCacheStr } - case 405: + case 406: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2234 +//line sql.y:2239 { yyVAL.str = SQLCacheStr } - case 406: + case 407: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2239 +//line sql.y:2244 { yyVAL.boolean = false } - case 407: + case 408: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2243 +//line sql.y:2248 { yyVAL.boolean = true } - case 408: + case 409: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2247 +//line sql.y:2252 { yyVAL.boolean = true } - case 409: + case 410: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2252 +//line sql.y:2257 { yyVAL.selectExprs = nil } - case 410: + case 411: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2256 +//line sql.y:2261 { yyVAL.selectExprs = yyDollar[1].selectExprs } - case 411: + case 412: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2261 +//line sql.y:2266 { yyVAL.strs = nil } - case 412: + case 413: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2265 +//line sql.y:2270 { yyVAL.strs = []string{yyDollar[1].str} } - case 413: + case 414: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2269 +//line sql.y:2274 { // 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 414: + case 415: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2273 +//line sql.y:2278 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } - case 415: + case 416: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2277 +//line sql.y:2282 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } - case 416: + case 417: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2283 +//line sql.y:2288 { yyVAL.str = SQLNoCacheStr } - case 417: + case 418: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2287 +//line sql.y:2292 { yyVAL.str = SQLCacheStr } - case 418: + case 419: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2291 +//line sql.y:2296 { yyVAL.str = DistinctStr } - case 419: + case 420: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2295 +//line sql.y:2300 { yyVAL.str = DistinctStr } - case 420: + case 421: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2299 +//line sql.y:2304 { yyVAL.str = StraightJoinHint } - case 421: + case 422: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2303 +//line sql.y:2308 { yyVAL.str = SQLCalcFoundRowsStr } - case 422: + case 423: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2309 +//line sql.y:2314 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 423: + case 424: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2313 +//line sql.y:2318 { yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) } - case 424: + case 425: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2319 +//line sql.y:2324 { yyVAL.selectExpr = &StarExpr{} } - case 425: + case 426: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2323 +//line sql.y:2328 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 426: + case 427: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2327 +//line sql.y:2332 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 427: + case 428: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2331 +//line sql.y:2336 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 428: + case 429: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2336 +//line sql.y:2341 { yyVAL.colIdent = ColIdent{} } - case 429: + case 430: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2340 +//line sql.y:2345 { yyVAL.colIdent = yyDollar[1].colIdent } - case 430: + case 431: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2344 +//line sql.y:2349 { yyVAL.colIdent = yyDollar[2].colIdent } - case 432: + case 433: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2351 +//line sql.y:2356 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 433: + case 434: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2356 +//line sql.y:2361 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } - case 434: + case 435: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2360 +//line sql.y:2365 { yyVAL.tableExprs = yyDollar[2].tableExprs } - case 435: + case 436: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2366 +//line sql.y:2371 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 436: + case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2370 +//line sql.y:2375 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 439: + case 440: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2380 +//line sql.y:2385 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 440: + case 441: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2384 +//line sql.y:2389 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].derivedTable, As: yyDollar[3].tableIdent} } - case 441: + case 442: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2388 +//line sql.y:2393 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 442: + case 443: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2394 +//line sql.y:2399 { yyVAL.derivedTable = &DerivedTable{yyDollar[2].selStmt} } - case 443: + case 444: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2400 +//line sql.y:2405 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 444: + case 445: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2404 +//line sql.y:2409 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } - case 445: + case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2410 +//line sql.y:2415 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 446: + case 447: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2414 +//line sql.y:2419 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 447: + case 448: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2420 +//line sql.y:2425 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 448: + case 449: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2424 +//line sql.y:2429 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 449: + case 450: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2437 +//line sql.y:2442 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 450: + case 451: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2441 +//line sql.y:2446 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 451: + case 452: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2445 +//line sql.y:2450 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 452: + case 453: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2449 +//line sql.y:2454 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr} } - case 453: + case 454: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2455 +//line sql.y:2460 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 454: + case 455: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2457 +//line sql.y:2462 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 455: + case 456: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2461 +//line sql.y:2466 { yyVAL.joinCondition = JoinCondition{} } - case 456: + case 457: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2463 +//line sql.y:2468 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 457: + case 458: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2467 +//line sql.y:2472 { yyVAL.joinCondition = JoinCondition{} } - case 458: + case 459: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2469 +//line sql.y:2474 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 459: + case 460: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2472 +//line sql.y:2477 { yyVAL.empty = struct{}{} } - case 460: + case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2474 +//line sql.y:2479 { yyVAL.empty = struct{}{} } - case 461: + case 462: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2477 +//line sql.y:2482 { yyVAL.tableIdent = NewTableIdent("") } - case 462: + case 463: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2481 +//line sql.y:2486 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 463: + case 464: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2485 +//line sql.y:2490 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 465: + case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2492 +//line sql.y:2497 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 466: + case 467: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2498 +//line sql.y:2503 { yyVAL.joinType = NormalJoinType } - case 467: + case 468: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2502 +//line sql.y:2507 { yyVAL.joinType = NormalJoinType } - case 468: + case 469: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2506 +//line sql.y:2511 { yyVAL.joinType = NormalJoinType } - case 469: + case 470: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2512 +//line sql.y:2517 { yyVAL.joinType = StraightJoinType } - case 470: + case 471: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2518 +//line sql.y:2523 { yyVAL.joinType = LeftJoinType } - case 471: + case 472: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2522 +//line sql.y:2527 { yyVAL.joinType = LeftJoinType } - case 472: + case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2526 +//line sql.y:2531 { yyVAL.joinType = RightJoinType } - case 473: + case 474: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2530 +//line sql.y:2535 { yyVAL.joinType = RightJoinType } - case 474: + case 475: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2536 +//line sql.y:2541 { yyVAL.joinType = NaturalJoinType } - case 475: + case 476: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2540 +//line sql.y:2545 { if yyDollar[2].joinType == LeftJoinType { yyVAL.joinType = NaturalLeftJoinType @@ -6850,489 +6871,489 @@ yydefault: yyVAL.joinType = NaturalRightJoinType } } - case 476: + case 477: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2550 +//line sql.y:2555 { yyVAL.tableName = yyDollar[2].tableName } - case 477: + case 478: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2554 +//line sql.y:2559 { yyVAL.tableName = yyDollar[1].tableName } - case 478: + case 479: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2560 +//line sql.y:2565 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 479: + case 480: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2564 +//line sql.y:2569 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 480: + case 481: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2570 +//line sql.y:2575 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 481: + case 482: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2575 +//line sql.y:2580 { yyVAL.indexHints = nil } - case 482: + case 483: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2579 +//line sql.y:2584 { yyVAL.indexHints = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columns} } - case 483: + case 484: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2583 +//line sql.y:2588 { yyVAL.indexHints = &IndexHints{Type: UseOp} } - case 484: + case 485: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2587 +//line sql.y:2592 { yyVAL.indexHints = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columns} } - case 485: + case 486: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2591 +//line sql.y:2596 { yyVAL.indexHints = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columns} } - case 486: + case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2596 +//line sql.y:2601 { yyVAL.expr = nil } - case 487: + case 488: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2600 +//line sql.y:2605 { yyVAL.expr = yyDollar[2].expr } - case 488: + case 489: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2606 +//line sql.y:2611 { yyVAL.expr = yyDollar[1].expr } - case 489: + case 490: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2610 +//line sql.y:2615 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 490: + case 491: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2614 +//line sql.y:2619 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 491: + case 492: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2618 +//line sql.y:2623 { yyVAL.expr = &XorExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 492: + case 493: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2622 +//line sql.y:2627 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 493: + case 494: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2626 +//line sql.y:2631 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].isExprOperator, Expr: yyDollar[1].expr} } - case 494: + case 495: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2630 +//line sql.y:2635 { yyVAL.expr = yyDollar[1].expr } - case 495: + case 496: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2634 +//line sql.y:2639 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 496: + case 497: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2640 +//line sql.y:2645 { yyVAL.str = "" } - case 497: + case 498: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2644 +//line sql.y:2649 { yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 498: + case 499: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2650 +//line sql.y:2655 { yyVAL.boolVal = BoolVal(true) } - case 499: + case 500: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2654 +//line sql.y:2659 { yyVAL.boolVal = BoolVal(false) } - case 500: + case 501: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2660 +//line sql.y:2665 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].comparisonExprOperator, Right: yyDollar[3].expr} } - case 501: + case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2664 +//line sql.y:2669 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InOp, Right: yyDollar[3].colTuple} } - case 502: + case 503: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2668 +//line sql.y:2673 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInOp, Right: yyDollar[4].colTuple} } - case 503: + case 504: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2672 +//line sql.y:2677 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeOp, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 504: + case 505: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2676 +//line sql.y:2681 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeOp, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 505: + case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2680 +//line sql.y:2685 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpOp, Right: yyDollar[3].expr} } - case 506: + case 507: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2684 +//line sql.y:2689 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpOp, Right: yyDollar[4].expr} } - case 507: + case 508: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2688 +//line sql.y:2693 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenOp, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 508: + case 509: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2692 +//line sql.y:2697 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenOp, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 509: + case 510: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2696 +//line sql.y:2701 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 510: + case 511: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2702 +//line sql.y:2707 { yyVAL.isExprOperator = IsNullOp } - case 511: + case 512: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2706 +//line sql.y:2711 { yyVAL.isExprOperator = IsNotNullOp } - case 512: + case 513: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2710 +//line sql.y:2715 { yyVAL.isExprOperator = IsTrueOp } - case 513: + case 514: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2714 +//line sql.y:2719 { yyVAL.isExprOperator = IsNotTrueOp } - case 514: + case 515: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2718 +//line sql.y:2723 { yyVAL.isExprOperator = IsFalseOp } - case 515: + case 516: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2722 +//line sql.y:2727 { yyVAL.isExprOperator = IsNotFalseOp } - case 516: + case 517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2728 +//line sql.y:2733 { yyVAL.comparisonExprOperator = EqualOp } - case 517: + case 518: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2732 +//line sql.y:2737 { yyVAL.comparisonExprOperator = LessThanOp } - case 518: + case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2736 +//line sql.y:2741 { yyVAL.comparisonExprOperator = GreaterThanOp } - case 519: + case 520: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2740 +//line sql.y:2745 { yyVAL.comparisonExprOperator = LessEqualOp } - case 520: + case 521: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2744 +//line sql.y:2749 { yyVAL.comparisonExprOperator = GreaterEqualOp } - case 521: + case 522: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2748 +//line sql.y:2753 { yyVAL.comparisonExprOperator = NotEqualOp } - case 522: + case 523: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2752 +//line sql.y:2757 { yyVAL.comparisonExprOperator = NullSafeEqualOp } - case 523: + case 524: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2757 +//line sql.y:2762 { yyVAL.expr = nil } - case 524: + case 525: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2761 +//line sql.y:2766 { yyVAL.expr = yyDollar[2].expr } - case 525: + case 526: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2767 +//line sql.y:2772 { yyVAL.colTuple = yyDollar[1].valTuple } - case 526: + case 527: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2771 +//line sql.y:2776 { yyVAL.colTuple = yyDollar[1].subquery } - case 527: + case 528: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2775 +//line sql.y:2780 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 528: + case 529: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2781 +//line sql.y:2786 { yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } - case 529: + case 530: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2787 +//line sql.y:2792 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 530: + case 531: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2791 +//line sql.y:2796 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 531: + case 532: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2797 +//line sql.y:2802 { yyVAL.expr = yyDollar[1].expr } - case 532: + case 533: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2801 +//line sql.y:2806 { yyVAL.expr = yyDollar[1].boolVal } - case 533: + case 534: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2805 +//line sql.y:2810 { yyVAL.expr = yyDollar[1].colName } - case 534: + case 535: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2809 +//line sql.y:2814 { yyVAL.expr = yyDollar[1].expr } - case 535: + case 536: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2813 +//line sql.y:2818 { yyVAL.expr = yyDollar[1].subquery } - case 536: + case 537: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2817 +//line sql.y:2822 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} } - case 537: + case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2821 +//line sql.y:2826 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} } - case 538: + case 539: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2825 +//line sql.y:2830 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} } - case 539: + case 540: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2829 +//line sql.y:2834 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} } - case 540: + case 541: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2833 +//line sql.y:2838 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} } - case 541: + case 542: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2837 +//line sql.y:2842 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} } - case 542: + case 543: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2841 +//line sql.y:2846 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} } - case 543: + case 544: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2845 +//line sql.y:2850 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} } - case 544: + case 545: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2849 +//line sql.y:2854 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } - case 545: + case 546: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2853 +//line sql.y:2858 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } - case 546: + case 547: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2857 +//line sql.y:2862 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} } - case 547: + case 548: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2861 +//line sql.y:2866 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} } - case 548: + case 549: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2865 +//line sql.y:2870 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } - case 549: + case 550: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2869 +//line sql.y:2874 { yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } - case 550: + case 551: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2873 +//line sql.y:2878 { yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } - case 551: + case 552: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2877 +//line sql.y:2882 { yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} } - case 552: + case 553: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2881 +//line sql.y:2886 { yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} } - case 553: + case 554: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2885 +//line sql.y:2890 { yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} } - case 554: + case 555: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2889 +//line sql.y:2894 { yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} } - case 555: + case 556: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2893 +//line sql.y:2898 { yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} } - case 556: + case 557: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2897 +//line sql.y:2902 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { yyVAL.expr = num @@ -7340,9 +7361,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusOp, Expr: yyDollar[2].expr} } } - case 557: + case 558: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2905 +//line sql.y:2910 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { // Handle double negative @@ -7356,21 +7377,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].expr} } } - case 558: + case 559: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2919 +//line sql.y:2924 { yyVAL.expr = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].expr} } - case 559: + case 560: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2923 +//line sql.y:2928 { yyVAL.expr = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].expr} } - case 560: + case 561: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2927 +//line sql.y:2932 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -7378,497 +7399,497 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 565: + case 566: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2945 +//line sql.y:2950 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } - case 566: + case 567: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2949 +//line sql.y:2954 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 567: + case 568: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2953 +//line sql.y:2958 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 568: + case 569: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2957 +//line sql.y:2962 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 569: + case 570: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2967 +//line sql.y:2972 { yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } - case 570: + case 571: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2971 +//line sql.y:2976 { yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } - case 571: + case 572: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2975 +//line sql.y:2980 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 572: + case 573: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2979 +//line sql.y:2984 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 573: + case 574: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2983 +//line sql.y:2988 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 574: + case 575: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2987 +//line sql.y:2992 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 575: + case 576: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2991 +//line sql.y:2996 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 576: + case 577: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2995 +//line sql.y:3000 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 577: + case 578: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:2999 +//line sql.y:3004 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 578: + case 579: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3003 +//line sql.y:3008 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].matchExprOption} } - case 579: + case 580: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3007 +//line sql.y:3012 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].boolean, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str, Limit: yyDollar[7].limit} } - case 580: + case 581: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3011 +//line sql.y:3016 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 581: + case 582: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3015 +//line sql.y:3020 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } - case 582: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3025 - { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} - } case 583: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3029 +//line sql.y:3030 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } case 584: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3033 +//line sql.y:3034 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } case 585: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3038 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } case 586: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3043 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } case 587: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3048 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } case 588: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3054 +//line sql.y:3053 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } case 589: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3059 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } case 590: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3064 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } case 591: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3068 +//line sql.y:3069 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} } case 592: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3072 +//line sql.y:3073 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} } case 593: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3077 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} } case 594: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3082 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} } case 595: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3087 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} } case 596: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:3092 + { + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} + } + case 597: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3091 +//line sql.y:3096 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 597: + case 598: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3095 +//line sql.y:3100 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 600: + case 601: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3105 +//line sql.y:3110 { yyVAL.expr = yyDollar[2].expr } - case 601: + case 602: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3115 +//line sql.y:3120 { yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } - case 602: + case 603: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3119 +//line sql.y:3124 { yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } - case 603: + case 604: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3123 +//line sql.y:3128 { yyVAL.expr = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprs} } - case 604: + case 605: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3127 +//line sql.y:3132 { yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } - case 605: + case 606: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3131 +//line sql.y:3136 { yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } - case 606: + case 607: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3135 +//line sql.y:3140 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 607: + case 608: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3139 +//line sql.y:3144 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 608: + case 609: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3145 +//line sql.y:3150 { yyVAL.matchExprOption = NoOption } - case 609: + case 610: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3149 +//line sql.y:3154 { yyVAL.matchExprOption = BooleanModeOpt } - case 610: + case 611: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3153 +//line sql.y:3158 { yyVAL.matchExprOption = NaturalLanguageModeOpt } - case 611: + case 612: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3157 +//line sql.y:3162 { yyVAL.matchExprOption = NaturalLanguageModeWithQueryExpansionOpt } - case 612: + case 613: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3161 +//line sql.y:3166 { yyVAL.matchExprOption = QueryExpansionOpt } - case 613: + case 614: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3167 +//line sql.y:3172 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 614: + case 615: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3171 +//line sql.y:3176 { yyVAL.str = string(yyDollar[1].bytes) } - case 615: + case 616: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3177 +//line sql.y:3182 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 616: + case 617: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3181 +//line sql.y:3186 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Operator: CharacterSetOp} } - case 617: + case 618: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3185 +//line sql.y:3190 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: string(yyDollar[3].colIdent.String())} } - case 618: + case 619: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3189 +//line sql.y:3194 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 619: + case 620: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3193 +//line sql.y:3198 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 620: + case 621: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3197 +//line sql.y:3202 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 621: + case 622: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3203 +//line sql.y:3208 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 622: + case 623: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3207 +//line sql.y:3212 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 623: + case 624: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3211 +//line sql.y:3216 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 624: + case 625: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3215 +//line sql.y:3220 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 625: + case 626: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3219 +//line sql.y:3224 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 626: + case 627: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3223 +//line sql.y:3228 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 627: + case 628: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3227 +//line sql.y:3232 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 628: + case 629: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3232 +//line sql.y:3237 { yyVAL.expr = nil } - case 629: + case 630: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3236 +//line sql.y:3241 { yyVAL.expr = yyDollar[1].expr } - case 630: + case 631: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3241 +//line sql.y:3246 { yyVAL.str = string("") } - case 631: + case 632: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3245 +//line sql.y:3250 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } - case 632: + case 633: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3251 +//line sql.y:3256 { yyVAL.whens = []*When{yyDollar[1].when} } - case 633: + case 634: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3255 +//line sql.y:3260 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 634: + case 635: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3261 +//line sql.y:3266 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 635: + case 636: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3266 +//line sql.y:3271 { yyVAL.expr = nil } - case 636: + case 637: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3270 +//line sql.y:3275 { yyVAL.expr = yyDollar[2].expr } - case 637: + case 638: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3276 +//line sql.y:3281 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 638: + case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3280 +//line sql.y:3285 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 639: + case 640: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3284 +//line sql.y:3289 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 640: + case 641: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3290 +//line sql.y:3295 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 641: + case 642: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3294 +//line sql.y:3299 { yyVAL.expr = NewHexLiteral(yyDollar[1].bytes) } - case 642: + case 643: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3298 +//line sql.y:3303 { yyVAL.expr = NewBitLiteral(yyDollar[1].bytes) } - case 643: + case 644: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3302 +//line sql.y:3307 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 644: + case 645: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3306 +//line sql.y:3311 { yyVAL.expr = NewFloatLiteral(yyDollar[1].bytes) } - case 645: + case 646: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3310 +//line sql.y:3315 { yyVAL.expr = NewHexNumLiteral(yyDollar[1].bytes) } - case 646: + case 647: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3314 +//line sql.y:3319 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 647: + case 648: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3318 +//line sql.y:3323 { yyVAL.expr = &NullVal{} } - case 648: + case 649: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3324 +//line sql.y:3329 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -7877,483 +7898,483 @@ yydefault: } yyVAL.expr = NewIntLiteral([]byte("1")) } - case 649: + case 650: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3333 +//line sql.y:3338 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 650: + case 651: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3337 +//line sql.y:3342 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 651: + case 652: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3342 +//line sql.y:3347 { yyVAL.exprs = nil } - case 652: + case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3346 +//line sql.y:3351 { yyVAL.exprs = yyDollar[3].exprs } - case 653: + case 654: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3351 +//line sql.y:3356 { yyVAL.expr = nil } - case 654: + case 655: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3355 +//line sql.y:3360 { yyVAL.expr = yyDollar[2].expr } - case 655: + case 656: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3360 +//line sql.y:3365 { yyVAL.orderBy = nil } - case 656: + case 657: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3364 +//line sql.y:3369 { yyVAL.orderBy = yyDollar[3].orderBy } - case 657: + case 658: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3370 +//line sql.y:3375 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 658: + case 659: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3374 +//line sql.y:3379 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 659: + case 660: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3380 +//line sql.y:3385 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].orderDirection} } - case 660: + case 661: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3385 +//line sql.y:3390 { yyVAL.orderDirection = AscOrder } - case 661: + case 662: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3389 +//line sql.y:3394 { yyVAL.orderDirection = AscOrder } - case 662: + case 663: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3393 +//line sql.y:3398 { yyVAL.orderDirection = DescOrder } - case 663: + case 664: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3398 +//line sql.y:3403 { yyVAL.limit = nil } - case 664: + case 665: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3402 +//line sql.y:3407 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 665: + case 666: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3406 +//line sql.y:3411 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 666: + case 667: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3410 +//line sql.y:3415 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 667: + case 668: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3415 +//line sql.y:3420 { yyVAL.indexOptions = nil } - case 668: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3419 - { - yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} - } case 669: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3423 +//line sql.y:3424 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} } case 670: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3427 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:3428 { - yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} + yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} } case 671: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3431 +//line sql.y:3432 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } case 672: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3438 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3436 { - yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} + yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } case 673: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3442 +//line sql.y:3443 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3446 +//line sql.y:3447 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 675: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3450 +//line sql.y:3451 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 676: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3456 +//line sql.y:3455 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3460 +//line sql.y:3461 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 678: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3464 +//line sql.y:3465 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 679: - yyDollar = yyS[yypt-0 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3469 { - yyVAL.lock = NoLock + yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 680: + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3474 + { + yyVAL.lock = NoLock + } + case 681: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3473 +//line sql.y:3478 { yyVAL.lock = ForUpdateLock } - case 681: + case 682: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3477 +//line sql.y:3482 { yyVAL.lock = ShareModeLock } - case 682: + case 683: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3482 +//line sql.y:3487 { yyVAL.selectInto = nil } - case 683: + case 684: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3486 +//line sql.y:3491 { yyVAL.selectInto = &SelectInto{Type: IntoOutfileS3, FileName: string(yyDollar[4].bytes), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } - case 684: + case 685: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3490 +//line sql.y:3495 { yyVAL.selectInto = &SelectInto{Type: IntoDumpfile, FileName: string(yyDollar[3].bytes), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } - case 685: + case 686: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3494 +//line sql.y:3499 { yyVAL.selectInto = &SelectInto{Type: IntoOutfile, FileName: string(yyDollar[3].bytes), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } - case 686: + case 687: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3499 +//line sql.y:3504 { yyVAL.str = "" } - case 687: + case 688: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3503 +//line sql.y:3508 { yyVAL.str = " format csv" + yyDollar[3].str } - case 688: + case 689: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3507 +//line sql.y:3512 { yyVAL.str = " format text" + yyDollar[3].str } - case 689: + case 690: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3512 +//line sql.y:3517 { yyVAL.str = "" } - case 690: + case 691: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3516 +//line sql.y:3521 { yyVAL.str = " header" } - case 691: + case 692: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3521 +//line sql.y:3526 { yyVAL.str = "" } - case 692: + case 693: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3525 +//line sql.y:3530 { yyVAL.str = " manifest on" } - case 693: + case 694: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3529 +//line sql.y:3534 { yyVAL.str = " manifest off" } - case 694: + case 695: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3534 +//line sql.y:3539 { yyVAL.str = "" } - case 695: + case 696: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3538 +//line sql.y:3543 { yyVAL.str = " overwrite on" } - case 696: + case 697: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3542 +//line sql.y:3547 { yyVAL.str = " overwrite off" } - case 697: + case 698: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3548 +//line sql.y:3553 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 698: + case 699: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3553 +//line sql.y:3558 { yyVAL.str = "" } - case 699: + case 700: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3557 +//line sql.y:3562 { yyVAL.str = " lines" + yyDollar[2].str + yyDollar[3].str } - case 700: + case 701: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3562 +//line sql.y:3567 { yyVAL.str = "" } - case 701: + case 702: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3566 +//line sql.y:3571 { yyVAL.str = " starting by '" + string(yyDollar[3].bytes) + "'" } - case 702: + case 703: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3571 +//line sql.y:3576 { yyVAL.str = "" } - case 703: + case 704: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3575 +//line sql.y:3580 { yyVAL.str = " terminated by '" + string(yyDollar[3].bytes) + "'" } - case 704: + case 705: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3580 +//line sql.y:3585 { yyVAL.str = "" } - case 705: + case 706: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3584 +//line sql.y:3589 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str + yyDollar[3].str + yyDollar[4].str } - case 706: + case 707: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3589 +//line sql.y:3594 { yyVAL.str = "" } - case 707: + case 708: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3593 +//line sql.y:3598 { yyVAL.str = " escaped by '" + string(yyDollar[3].bytes) + "'" } - case 708: + case 709: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3598 +//line sql.y:3603 { yyVAL.str = "" } - case 709: + case 710: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3602 +//line sql.y:3607 { yyVAL.str = yyDollar[1].str + " enclosed by '" + string(yyDollar[4].bytes) + "'" } - case 710: + case 711: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3607 +//line sql.y:3612 { yyVAL.str = "" } - case 711: + case 712: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3611 +//line sql.y:3616 { yyVAL.str = " optionally" } - case 712: + case 713: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3624 +//line sql.y:3629 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 713: + case 714: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3628 +//line sql.y:3633 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 714: + case 715: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3632 +//line sql.y:3637 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 715: + case 716: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3636 +//line sql.y:3641 { yyVAL.ins = &Insert{Rows: yyDollar[4].values} } - case 716: + case 717: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3640 +//line sql.y:3645 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 717: + case 718: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3646 +//line sql.y:3651 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 718: + case 719: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3650 +//line sql.y:3655 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 719: + case 720: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3654 +//line sql.y:3659 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 720: + case 721: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3658 +//line sql.y:3663 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 721: + case 722: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3663 +//line sql.y:3668 { yyVAL.updateExprs = nil } - case 722: + case 723: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3667 +//line sql.y:3672 { yyVAL.updateExprs = yyDollar[5].updateExprs } - case 723: + case 724: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3673 +//line sql.y:3678 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 724: + case 725: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3677 +//line sql.y:3682 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 725: + case 726: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3683 +//line sql.y:3688 { yyVAL.valTuple = yyDollar[1].valTuple } - case 726: + case 727: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3687 +//line sql.y:3692 { yyVAL.valTuple = ValTuple{} } - case 727: + case 728: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3693 +//line sql.y:3698 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 728: + case 729: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3699 +//line sql.y:3704 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = yyDollar[1].valTuple[0] @@ -8361,325 +8382,325 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 729: + case 730: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3709 +//line sql.y:3714 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } - case 730: + case 731: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3713 +//line sql.y:3718 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } - case 731: + case 732: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3719 +//line sql.y:3724 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 732: + case 733: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3725 +//line sql.y:3730 { yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } - case 733: + case 734: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3729 +//line sql.y:3734 { yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } - case 734: + case 735: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3735 +//line sql.y:3740 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("on"))} } - case 735: + case 736: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3739 +//line sql.y:3744 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("off"))} } - case 736: + case 737: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3743 +//line sql.y:3748 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].expr} } - case 737: + case 738: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3747 +//line sql.y:3752 { yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Scope: ImplicitScope, Expr: yyDollar[2].expr} } - case 738: + case 739: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3751 +//line sql.y:3756 { yyDollar[2].setExpr.Scope = yyDollar[1].scope yyVAL.setExpr = yyDollar[2].setExpr } - case 740: + case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3759 +//line sql.y:3764 { yyVAL.bytes = []byte("charset") } - case 742: + case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3766 +//line sql.y:3771 { yyVAL.expr = NewStrLiteral([]byte(yyDollar[1].colIdent.String())) } - case 743: + case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3770 +//line sql.y:3775 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 744: + case 745: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3774 +//line sql.y:3779 { yyVAL.expr = &Default{} } - case 747: + case 748: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3783 +//line sql.y:3788 { yyVAL.boolean = false } - case 748: + case 749: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3785 +//line sql.y:3790 { yyVAL.boolean = true } - case 749: + case 750: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3788 +//line sql.y:3793 { yyVAL.boolean = false } - case 750: + case 751: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3790 +//line sql.y:3795 { yyVAL.boolean = true } - case 751: + case 752: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3793 +//line sql.y:3798 { yyVAL.ignore = false } - case 752: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3795 - { - yyVAL.ignore = true - } case 753: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3799 +//line sql.y:3800 { - yyVAL.empty = struct{}{} + yyVAL.ignore = true } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3801 +//line sql.y:3804 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3803 +//line sql.y:3806 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3805 +//line sql.y:3808 { yyVAL.empty = struct{}{} } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3807 +//line sql.y:3810 { yyVAL.empty = struct{}{} } case 758: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3809 +//line sql.y:3812 { yyVAL.empty = struct{}{} } case 759: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3811 +//line sql.y:3814 { yyVAL.empty = struct{}{} } case 760: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3813 +//line sql.y:3816 { yyVAL.empty = struct{}{} } case 761: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3815 +//line sql.y:3818 { yyVAL.empty = struct{}{} } case 762: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3817 +//line sql.y:3820 { yyVAL.empty = struct{}{} } case 763: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3821 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3822 { yyVAL.empty = struct{}{} } case 764: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3823 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3826 { yyVAL.empty = struct{}{} } case 765: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3825 +//line sql.y:3828 { yyVAL.empty = struct{}{} } case 766: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3829 +//line sql.y:3830 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3831 +//line sql.y:3834 { yyVAL.empty = struct{}{} } case 768: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3834 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3836 { - yyVAL.str = "" + yyVAL.empty = struct{}{} } case 769: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3836 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3839 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = "" } case 770: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3838 +//line sql.y:3841 { yyVAL.str = string(yyDollar[1].bytes) } case 771: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3840 +//line sql.y:3843 { yyVAL.str = string(yyDollar[1].bytes) } case 772: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3845 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 773: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3843 +//line sql.y:3848 { yyVAL.str = "" } - case 773: + case 774: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3845 +//line sql.y:3850 { yyVAL.str = yyDollar[2].colIdent.val } - case 774: + case 775: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3849 +//line sql.y:3854 { yyVAL.colIdent = yyDollar[1].colIdent } - case 775: + case 776: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3853 +//line sql.y:3858 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 777: + case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3860 +//line sql.y:3865 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 778: + case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3866 +//line sql.y:3871 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 779: + case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3870 +//line sql.y:3875 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 781: + case 782: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3877 +//line sql.y:3882 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1105: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4226 +//line sql.y:4232 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1106: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4235 +//line sql.y:4241 { decNesting(yylex) } - case 1107: + case 1109: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4240 +//line sql.y:4246 { skipToEnd(yylex) } - case 1108: + case 1110: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4245 +//line sql.y:4251 { skipToEnd(yylex) } - case 1109: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4249 +//line sql.y:4255 { skipToEnd(yylex) } - case 1110: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4253 +//line sql.y:4259 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 925b5847fa4..ba77b8e5066 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -208,7 +208,7 @@ func skipToEnd(yylex interface{}) { %token NULLX AUTO_INCREMENT APPROXNUM SIGNED UNSIGNED ZEROFILL // Supported SHOW tokens -%token COLLATION DATABASES TABLES VITESS_METADATA VSCHEMA FULL PROCESSLIST COLUMNS FIELDS ENGINES PLUGINS EXTENDED +%token COLLATION DATABASES SCHEMAS TABLES VITESS_METADATA VSCHEMA FULL PROCESSLIST COLUMNS FIELDS ENGINES PLUGINS EXTENDED %token KEYSPACES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS // SET tokens @@ -1823,6 +1823,11 @@ show_statement: showTablesOpt := &ShowTablesOpt{Filter: $3} $$ = &Show{&ShowLegacy{Type: string($2), ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } +| SHOW SCHEMAS like_opt + { + showTablesOpt := &ShowTablesOpt{Filter: $3} + $$ = &Show{&ShowLegacy{Type: string($2), ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} + } | SHOW KEYSPACES like_opt { showTablesOpt := &ShowTablesOpt{Filter: $3} @@ -3982,6 +3987,7 @@ reserved_keyword: | RIGHT | ROW_NUMBER | SCHEMA +| SCHEMAS | SELECT | SEPARATOR | SET diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index ab6ab337bbc..d345127ee60 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -341,6 +341,7 @@ var keywords = map[string]int{ "s3": S3, "savepoint": SAVEPOINT, "schema": SCHEMA, + "schemas": SCHEMAS, "second_microsecond": UNUSED, "select": SELECT, "sensitive": UNUSED, diff --git a/go/vt/vtgate/executor.go b/go/vt/vtgate/executor.go index fa82862ea9f..f2088300259 100644 --- a/go/vt/vtgate/executor.go +++ b/go/vt/vtgate/executor.go @@ -720,7 +720,7 @@ func (e *Executor) handleShow(ctx context.Context, safeSession *SafeSession, sql show.ShowTablesOpt.DbName = "" } sql = sqlparser.String(show) - case sqlparser.KeywordString(sqlparser.DATABASES), sqlparser.KeywordString(sqlparser.VITESS_KEYSPACES), sqlparser.KeywordString(sqlparser.KEYSPACES): + case sqlparser.KeywordString(sqlparser.DATABASES), sqlparser.KeywordString(sqlparser.SCHEMAS), sqlparser.KeywordString(sqlparser.VITESS_KEYSPACES), sqlparser.KeywordString(sqlparser.KEYSPACES): keyspaces, err := e.resolver.resolver.GetAllKeyspaces(ctx) if err != nil { return nil, err @@ -744,7 +744,7 @@ func (e *Executor) handleShow(ctx context.Context, safeSession *SafeSession, sql } return &sqltypes.Result{ - Fields: buildVarCharFields("Databases"), + Fields: buildVarCharFields("Database"), Rows: rows, RowsAffected: uint64(len(rows)), }, nil diff --git a/go/vt/vtgate/executor_test.go b/go/vt/vtgate/executor_test.go index bdf0bc4dea1..d66e90e166f 100644 --- a/go/vt/vtgate/executor_test.go +++ b/go/vt/vtgate/executor_test.go @@ -436,12 +436,12 @@ func TestExecutorShow(t *testing.T) { executor, _, _, sbclookup := createLegacyExecutorEnv() session := NewSafeSession(&vtgatepb.Session{TargetString: "@master"}) - for _, query := range []string{"show databases", "show vitess_keyspaces", "show keyspaces", "show DATABASES"} { + for _, query := range []string{"show databases", "show vitess_keyspaces", "show keyspaces", "show DATABASES", "show schemas", "show SCHEMAS"} { qr, err := executor.Execute(ctx, "TestExecute", session, query, nil) require.NoError(t, err) wantqr := &sqltypes.Result{ - Fields: buildVarCharFields("Databases"), + Fields: buildVarCharFields("Database"), Rows: [][]sqltypes.Value{ buildVarCharRow("TestExecutor"), buildVarCharRow(KsTestSharded),