summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2022-02-10 21:07:03 +0100
committerSergei Golubchik <serg@mariadb.org>2022-02-10 21:07:03 +0100
commite3894f5d397722dd50fb91dbbdbad3aaf017a4b0 (patch)
tree5d10a3e673c780b1588cda82e88a3d899345c416
parentcce994057bf7e2bdb62686075de03aeb5db4bbda (diff)
parent9aa3564e8a06c3d2027fc514213ecf42b049b06e (diff)
downloadmariadb-git-e3894f5d397722dd50fb91dbbdbad3aaf017a4b0.tar.gz
Merge branch '10.5 into 10.6mariadb-10.6.7
-rw-r--r--client/mysql_upgrade.c26
-rw-r--r--mysql-test/main/cte_nonrecursive.result33
-rw-r--r--mysql-test/main/cte_nonrecursive.test36
-rw-r--r--mysql-test/main/subselect4.result4
-rw-r--r--mysql-test/main/subselect4.test2
-rw-r--r--mysql-test/main/tmp_table_error.result2634
-rw-r--r--mysql-test/main/tmp_table_error.test2637
-rw-r--r--mysql-test/main/union_innodb.result34
-rw-r--r--mysql-test/main/union_innodb.test45
-rw-r--r--mysql-test/main/win.result32
-rw-r--r--mysql-test/main/win.test27
-rwxr-xr-xmysql-test/mariadb-test-run.pl2
-rw-r--r--mysql-test/suite/encryption/r/tempfiles_encrypted.result32
-rw-r--r--mysql-test/suite/rpl/t/rpl_relay_max_extension.test2
-rw-r--r--scripts/wsrep_sst_mariabackup.sh5
-rw-r--r--scripts/wsrep_sst_mysqldump.sh5
-rw-r--r--scripts/wsrep_sst_rsync.sh6
-rw-r--r--sql/item_windowfunc.cc2
-rw-r--r--sql/records.cc2
-rw-r--r--sql/sql_base.cc7
-rw-r--r--sql/sql_lex.cc16
-rw-r--r--sql/sql_yacc.yy5
-rw-r--r--storage/maria/ha_maria.cc2
-rw-r--r--storage/maria/ma_create.c6
-rw-r--r--tpool/aio_simulated.cc9
-rw-r--r--tpool/tpool.h4
26 files changed, 5576 insertions, 39 deletions
diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c
index 078b96dcba1..68f82f6f8e0 100644
--- a/client/mysql_upgrade.c
+++ b/client/mysql_upgrade.c
@@ -122,7 +122,6 @@ static struct my_option my_long_options[]=
&opt_not_used, &opt_not_used, 0 , GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"host", 'h', "Connect to host.", 0,
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
-#define PASSWORD_OPT 12
{"password", 'p',
"Password to use when connecting to server. If password is not given,"
" it's solicited on the tty.", &opt_password,&opt_password,
@@ -154,7 +153,6 @@ static struct my_option my_long_options[]=
{"upgrade-system-tables", 's', "Only upgrade the system tables in the mysql database. Tables in other databases are not checked or touched.",
&opt_systables_only, &opt_systables_only, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
-#define USER_OPT (array_elements(my_long_options) - 6)
{"user", 'u', "User for login.", &opt_user,
&opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"verbose", 'v', "Display more output about the process; Using it twice will print connection argument; Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.",
@@ -262,11 +260,11 @@ static void print_error(const char *error_msg, DYNAMIC_STRING *output)
*/
static void add_one_option_cmd_line(DYNAMIC_STRING *ds,
- const struct my_option *opt,
- const char* arg)
+ const char *name,
+ const char *arg)
{
dynstr_append(ds, "--");
- dynstr_append(ds, opt->name);
+ dynstr_append(ds, name);
if (arg)
{
dynstr_append(ds, "=");
@@ -276,10 +274,10 @@ static void add_one_option_cmd_line(DYNAMIC_STRING *ds,
}
static void add_one_option_cnf_file(DYNAMIC_STRING *ds,
- const struct my_option *opt,
- const char* arg)
+ const char *name,
+ const char *arg)
{
- dynstr_append(ds, opt->name);
+ dynstr_append(ds, name);
if (arg)
{
dynstr_append(ds, "=");
@@ -327,7 +325,7 @@ get_one_option(const struct my_option *opt, const char *argument,
*/
char *start= (char*) argument;
/* Add password to ds_args before overwriting the arg with x's */
- add_one_option_cnf_file(&ds_args, opt, argument);
+ add_one_option_cnf_file(&ds_args, opt->name, argument);
while (*argument)
*(char*)argument++= 'x'; /* Destroy argument */
if (*start)
@@ -387,7 +385,7 @@ get_one_option(const struct my_option *opt, const char *argument,
case OPT_MYSQL_PROTOCOL: /* --protocol */
case OPT_PLUGIN_DIR: /* --plugin-dir */
case OPT_DEFAULT_AUTH: /* --default-auth */
- add_one_option_cmd_line(&conn_args, opt, argument);
+ add_one_option_cmd_line(&conn_args, opt->name, argument);
break;
}
@@ -398,7 +396,7 @@ get_one_option(const struct my_option *opt, const char *argument,
it can be passed on to "mysql" and "mysqlcheck"
Save it in the ds_args string
*/
- add_one_option_cnf_file(&ds_args, opt, argument);
+ add_one_option_cnf_file(&ds_args, opt->name, argument);
}
return 0;
}
@@ -1435,12 +1433,10 @@ int main(int argc, char **argv)
{
opt_password= get_tty_password(NullS);
/* add password to defaults file */
- add_one_option_cnf_file(&ds_args, &my_long_options[PASSWORD_OPT], opt_password);
- DBUG_ASSERT(strcmp(my_long_options[PASSWORD_OPT].name, "password") == 0);
+ add_one_option_cnf_file(&ds_args, "password", opt_password);
}
/* add user to defaults file */
- add_one_option_cnf_file(&ds_args, &my_long_options[USER_OPT], opt_user);
- DBUG_ASSERT(strcmp(my_long_options[USER_OPT].name, "user") == 0);
+ add_one_option_cnf_file(&ds_args, "user", opt_user);
cnf_file_path= strmov(defaults_file, "--defaults-file=");
{
diff --git a/mysql-test/main/cte_nonrecursive.result b/mysql-test/main/cte_nonrecursive.result
index f87f0f128dd..a84a804a20d 100644
--- a/mysql-test/main/cte_nonrecursive.result
+++ b/mysql-test/main/cte_nonrecursive.result
@@ -2185,6 +2185,39 @@ select * from t1;
a
7
drop table t1,t2;
+#
+# MDEV-25766: Unused CTE lead to a crash in
+# find_field_in_tables/find_order_in_list
+#
+create table t1 (f1 INTEGER);
+create view v1 as
+select
+subq_0.c4 as c2,
+subq_0.c4 as c4
+from
+(select
+ref_0.f1 as c4
+from
+t1 as ref_0
+where (select 1)
+) as subq_0
+order by c2, c4 desc;
+WITH
+unused_with AS (select
+subq_0.c4 as c6
+from
+(select
+11 as c4
+from
+v1 as ref_0
+) as subq_0,
+v1 as ref_2
+)
+select 1 ;
+1
+1
+drop view v1;
+drop table t1;
# End of 10.2 tests
#
# MDEV-21673: several references to CTE that uses
diff --git a/mysql-test/main/cte_nonrecursive.test b/mysql-test/main/cte_nonrecursive.test
index 0e58c4aa3e1..edb7771c4a3 100644
--- a/mysql-test/main/cte_nonrecursive.test
+++ b/mysql-test/main/cte_nonrecursive.test
@@ -1637,6 +1637,42 @@ select * from t1;
drop table t1,t2;
+--echo #
+--echo # MDEV-25766: Unused CTE lead to a crash in
+--echo # find_field_in_tables/find_order_in_list
+--echo #
+
+create table t1 (f1 INTEGER);
+
+create view v1 as
+select
+ subq_0.c4 as c2,
+ subq_0.c4 as c4
+ from
+ (select
+ ref_0.f1 as c4
+ from
+ t1 as ref_0
+ where (select 1)
+ ) as subq_0
+ order by c2, c4 desc;
+
+WITH
+unused_with AS (select
+ subq_0.c4 as c6
+ from
+ (select
+ 11 as c4
+ from
+ v1 as ref_0
+ ) as subq_0,
+ v1 as ref_2
+)
+select 1 ;
+
+drop view v1;
+drop table t1;
+
--echo # End of 10.2 tests
--echo #
diff --git a/mysql-test/main/subselect4.result b/mysql-test/main/subselect4.result
index 78df05f4859..6bcdcf1fe74 100644
--- a/mysql-test/main/subselect4.result
+++ b/mysql-test/main/subselect4.result
@@ -1358,6 +1358,8 @@ INSERT IGNORE INTO t2 VALUES (8,0,0),(5,0,0);
CREATE TABLE t3 (f4 int,KEY (f4)) ;
INSERT IGNORE INTO t3 VALUES (0),(0);
set @@optimizer_switch='semijoin=off';
+# NOTE: the following should have 'SUBQUERY', not 'DEPENDENT SUBQUERY'
+# for line with id=2, see MDEV-27794.
EXPLAIN
SELECT * FROM t1 WHERE
(SELECT f2 FROM t2
@@ -1367,7 +1369,7 @@ FROM t3 AS SQ1_t1 JOIN t3 AS SQ1_t3 ON SQ1_t3.f4
GROUP BY SQ1_t1.f4));
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1
-2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where
+2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where
3 SUBQUERY SQ1_t3 range f4 f4 5 NULL 2 Using where; Using index; Using temporary
3 SUBQUERY SQ1_t1 index NULL f4 5 NULL 2 Using index; Using join buffer (flat, BNL join)
SELECT * FROM t1 WHERE
diff --git a/mysql-test/main/subselect4.test b/mysql-test/main/subselect4.test
index 8be44f214f0..0a4fad953cb 100644
--- a/mysql-test/main/subselect4.test
+++ b/mysql-test/main/subselect4.test
@@ -1041,6 +1041,8 @@ INSERT IGNORE INTO t3 VALUES (0),(0);
set @@optimizer_switch='semijoin=off';
+--echo # NOTE: the following should have 'SUBQUERY', not 'DEPENDENT SUBQUERY'
+--echo # for line with id=2, see MDEV-27794.
EXPLAIN
SELECT * FROM t1 WHERE
(SELECT f2 FROM t2
diff --git a/mysql-test/main/tmp_table_error.result b/mysql-test/main/tmp_table_error.result
new file mode 100644
index 00000000000..3a1a9725001
--- /dev/null
+++ b/mysql-test/main/tmp_table_error.result
@@ -0,0 +1,2634 @@
+call mtr.add_suppression('Index for table');
+create table t1 (
+a int primary key,
+b text
+) engine=innodb;
+create table t2 as
+select
+1
+from
+(select distinct
+b as c0,
+b as c1,
+b as c2,
+b as c3,
+b as c4,
+b as c5,
+b as c6,
+b as c7,
+b as c8,
+b as c9,
+b as c10,
+b as c11,
+b as c12,
+b as c13,
+b as c14,
+b as c15,
+b as c16,
+b as c17,
+b as c18,
+b as c19,
+b as c20,
+b as c21,
+b as c22,
+b as c23,
+b as c24,
+b as c25,
+b as c26,
+b as c27,
+b as c28,
+b as c29,
+b as c30,
+b as c31,
+b as c32,
+b as c33,
+b as c34,
+b as c35,
+b as c36,
+b as c37,
+b as c38,
+b as c39,
+b as c40,
+b as c41,
+b as c42,
+b as c43,
+b as c45,
+b as c46,
+b as c47,
+b as c48,
+b as c49,
+b as c50,
+b as c51,
+b as c52,
+b as c53,
+b as c54,
+b as c55,
+b as c56,
+b as c57,
+b as c58,
+b as c59,
+b as c60,
+b as c61,
+b as c62,
+b as c63,
+b as c64,
+b as c65,
+b as c66,
+b as c67,
+b as c68,
+b as c69,
+b as c70,
+b as c71,
+b as c72,
+b as c73,
+b as c74,
+b as c75,
+b as c76,
+b as c77,
+b as c78,
+b as c79,
+b as c80,
+b as c81,
+b as c82,
+b as c83,
+b as c84,
+b as c85,
+b as c86,
+b as c87,
+b as c88,
+b as c89,
+b as c90,
+b as c91,
+b as c92,
+b as c93,
+b as c94,
+b as c95,
+b as c96,
+b as c97,
+b as c98,
+b as c99,
+b as c100,
+b as c101,
+b as c102,
+b as c103,
+b as c104,
+b as c105,
+b as c106,
+b as c107,
+b as c108,
+b as c109,
+b as c110,
+b as c111,
+b as c112,
+b as c113,
+b as c114,
+b as c115,
+b as c116,
+b as c117,
+b as c118,
+b as c119,
+b as c120,
+b as c121,
+b as c122,
+b as c123,
+b as c124,
+b as c125,
+b as c126,
+b as c127,
+b as c128,
+b as c129,
+b as c130,
+b as c131,
+b as c132,
+b as c133,
+b as c134,
+b as c135,
+b as c136,
+b as c137,
+b as c138,
+b as c139,
+b as c140,
+b as c141,
+b as c142,
+b as c143,
+b as c144,
+b as c145,
+b as c146,
+b as c147,
+b as c148,
+b as c149,
+b as c150,
+b as c151,
+b as c152,
+b as c153,
+b as c154,
+b as c155,
+b as c156,
+b as c157,
+b as c158,
+b as c159,
+b as c160,
+b as c161,
+b as c162,
+b as c163,
+b as c164,
+b as c165,
+b as c166,
+b as c167,
+b as c168,
+b as c169,
+b as c170,
+b as c171,
+b as c172,
+b as c173,
+b as c174,
+b as c175,
+b as c176,
+b as c177,
+b as c178,
+b as c179,
+b as c180,
+b as c181,
+b as c182,
+b as c183,
+b as c184,
+b as c185,
+b as c186,
+b as c187,
+b as c188,
+b as c189,
+b as c190,
+b as c191,
+b as c192,
+b as c193,
+b as c194,
+b as c195,
+b as c196,
+b as c197,
+b as c198,
+b as c199,
+b as c200,
+b as c201,
+b as c202,
+b as c203,
+b as c204,
+b as c205,
+b as c206,
+b as c207,
+b as c208,
+b as c209,
+b as c210,
+b as c211,
+b as c212,
+b as c213,
+b as c214,
+b as c215,
+b as c216,
+b as c217,
+b as c218,
+b as c219,
+b as c220,
+b as c221,
+b as c222,
+b as c223,
+b as c224,
+b as c225,
+b as c226,
+b as c227,
+b as c228,
+b as c229,
+b as c230,
+b as c231,
+b as c232,
+b as c233,
+b as c234,
+b as c235,
+b as c236,
+b as c237,
+b as c238,
+b as c239,
+b as c240,
+b as c241,
+b as c242,
+b as c243,
+b as c244,
+b as c245,
+b as c246,
+b as c247,
+b as c248,
+b as c249,
+b as c250,
+b as c251,
+b as c252,
+b as c253,
+b as c254,
+b as c255,
+b as c256,
+b as c257,
+b as c258,
+b as c259,
+b as c260,
+b as c261,
+b as c262,
+b as c263,
+b as c264,
+b as c265,
+b as c266,
+b as c267,
+b as c268,
+b as c269,
+b as c270,
+b as c271,
+b as c272,
+b as c273,
+b as c274,
+b as c275,
+b as c276,
+b as c277,
+b as c278,
+b as c279,
+b as c280,
+b as c281,
+b as c282,
+b as c283,
+b as c284,
+b as c285,
+b as c286,
+b as c287,
+b as c288,
+b as c289,
+b as c290,
+b as c291,
+b as c292,
+b as c293,
+b as c294,
+b as c295,
+b as c296,
+b as c297,
+b as c298,
+b as c299,
+b as c300,
+b as c301,
+b as c302,
+b as c303,
+b as c304,
+b as c305,
+b as c306,
+b as c307,
+b as c308,
+b as c309,
+b as c310,
+b as c311,
+b as c312,
+b as c313,
+b as c314,
+b as c315,
+b as c316,
+b as c317,
+b as c318,
+b as c319,
+b as c320,
+b as c321,
+b as c322,
+b as c323,
+b as c324,
+b as c325,
+b as c326,
+b as c327,
+b as c328,
+b as c329,
+b as c330,
+b as c331,
+b as c332,
+b as c333,
+b as c334,
+b as c335,
+b as c336,
+b as c337,
+b as c338,
+b as c339,
+b as c340,
+b as c341,
+b as c342,
+b as c343,
+b as c344,
+b as c345,
+b as c346,
+b as c347,
+b as c348,
+b as c349,
+b as c350,
+b as c351,
+b as c352,
+b as c353,
+b as c354,
+b as c355,
+b as c356,
+b as c357,
+b as c358,
+b as c359,
+b as c360,
+b as c361,
+b as c362,
+b as c363,
+b as c364,
+b as c365,
+b as c366,
+b as c367,
+b as c368,
+b as c369,
+b as c370,
+b as c371,
+b as c372,
+b as c373,
+b as c374,
+b as c375,
+b as c376,
+b as c377,
+b as c378,
+b as c379,
+b as c380,
+b as c381,
+b as c382,
+b as c383,
+b as c384,
+b as c385,
+b as c386,
+b as c387,
+b as c388,
+b as c389,
+b as c390,
+b as c391,
+b as c392,
+b as c393,
+b as c394,
+b as c395,
+b as c396,
+b as c397,
+b as c398,
+b as c399,
+b as c400,
+b as c401,
+b as c402,
+b as c403,
+b as c404,
+b as c405,
+b as c406,
+b as c407,
+b as c409,
+b as c410,
+b as c411,
+b as c412,
+b as c413,
+b as c414,
+b as c415,
+b as c416,
+b as c417,
+b as c418,
+b as c419,
+b as c420,
+b as c421,
+b as c422,
+b as c423,
+b as c424,
+b as c425,
+b as c426,
+b as c427,
+b as c428,
+b as c429,
+b as c430,
+b as c431,
+b as c432,
+b as c433,
+b as c434,
+b as c435,
+b as c436,
+b as c437,
+b as c438,
+b as c439,
+b as c440,
+b as c441,
+b as c442,
+b as c443,
+b as c444,
+b as c445,
+b as c446,
+b as c447,
+b as c448,
+b as c449,
+b as c450,
+b as c451,
+b as c452,
+b as c453,
+b as c454,
+b as c455,
+b as c456,
+b as c457,
+b as c458,
+b as c459,
+b as c460,
+b as c461,
+b as c462,
+b as c463,
+b as c464,
+b as c465,
+b as c466,
+b as c467,
+b as c468,
+b as c469,
+b as c470,
+b as c471,
+b as c472,
+b as c473,
+b as c474,
+b as c475,
+b as c476,
+b as c477,
+b as c478,
+b as c479,
+b as c480,
+b as c481,
+b as c482,
+b as c483,
+b as c484,
+b as c485,
+b as c486,
+b as c487,
+b as c488,
+b as c489,
+b as c490,
+b as c491,
+b as c492,
+b as c493,
+b as c494,
+b as c495,
+b as c496,
+b as c497,
+b as c498,
+b as c499,
+b as c500,
+b as c501,
+b as c502,
+b as c503,
+b as c504,
+b as c505,
+b as c506,
+b as c507,
+b as c508,
+b as c509,
+b as c510,
+b as c511,
+b as c512,
+b as c513,
+b as c514,
+b as c515,
+b as c516,
+b as c517,
+b as c518,
+b as c519,
+b as c520,
+b as c521,
+b as c522,
+b as c523,
+b as c524,
+b as c525,
+b as c526,
+b as c527,
+b as c528,
+b as c529,
+b as c530,
+b as c531,
+b as c532,
+b as c533,
+b as c534,
+b as c535,
+b as c536,
+b as c537,
+b as c538,
+b as c539,
+b as c540,
+b as c541,
+b as c542,
+b as c543,
+b as c544,
+b as c545,
+b as c546,
+b as c547,
+b as c548,
+b as c549,
+b as c550,
+b as c551,
+b as c552,
+b as c553,
+b as c554,
+b as c555,
+b as c556,
+b as c557,
+b as c558,
+b as c559,
+b as c560,
+b as c561,
+b as c562,
+b as c563,
+b as c564,
+b as c565,
+b as c566,
+b as c567,
+b as c568,
+b as c569,
+b as c570,
+b as c571,
+b as c572,
+b as c573,
+b as c574,
+b as c575,
+b as c576,
+b as c577,
+b as c578,
+b as c579,
+b as c580,
+b as c581,
+b as c582,
+b as c583,
+b as c584,
+b as c585,
+b as c586,
+b as c587,
+b as c588,
+b as c589,
+b as c590,
+b as c591,
+b as c592,
+b as c593,
+b as c594,
+b as c595,
+b as c596,
+b as c597,
+b as c598,
+b as c599,
+b as c600,
+b as c601,
+b as c602,
+b as c603,
+b as c604,
+b as c605,
+b as c606,
+b as c607,
+b as c608,
+b as c609,
+b as c610,
+b as c611,
+b as c612,
+b as c613,
+b as c614,
+b as c615,
+b as c616,
+b as c617,
+b as c618,
+b as c619,
+b as c620,
+b as c621,
+b as c622,
+b as c623,
+b as c624,
+b as c625,
+b as c626,
+b as c627,
+b as c628,
+b as c629,
+b as c630,
+b as c631,
+b as c632,
+b as c633,
+b as c634,
+b as c635,
+b as c636,
+b as c637,
+b as c638,
+b as c639,
+b as c640,
+b as c641,
+b as c642,
+b as c643,
+b as c644,
+b as c645,
+b as c646,
+b as c647,
+b as c648,
+b as c649,
+b as c650,
+b as c651,
+b as c652,
+b as c653,
+b as c654,
+b as c655,
+b as c656,
+b as c657,
+b as c658,
+b as c659,
+b as c660,
+b as c661,
+b as c662,
+b as c663,
+b as c664,
+b as c665,
+b as c666,
+b as c667,
+b as c668,
+b as c669,
+b as c670,
+b as c671,
+b as c672,
+b as c673,
+b as c674,
+b as c675,
+b as c676,
+b as c677,
+b as c678,
+b as c679,
+b as c680,
+b as c681,
+b as c682,
+b as c683,
+b as c684,
+b as c685,
+b as c686,
+b as c687,
+b as c688,
+b as c689,
+b as c690,
+b as c691,
+b as c692,
+b as c693,
+b as c694,
+b as c695,
+b as c696,
+b as c697,
+b as c698,
+b as c699,
+b as c700,
+b as c701,
+b as c702,
+b as c703,
+b as c704,
+b as c705,
+b as c706,
+b as c707,
+b as c708,
+b as c709,
+b as c710,
+b as c711,
+b as c712,
+b as c713,
+b as c714,
+b as c715,
+b as c716,
+b as c717,
+b as c718,
+b as c719,
+b as c720,
+b as c721,
+b as c722,
+b as c723,
+b as c724,
+b as c725,
+b as c726,
+b as c727,
+b as c728,
+b as c729,
+b as c730,
+b as c731,
+b as c732,
+b as c733,
+b as c734,
+b as c735,
+b as c736,
+b as c737,
+b as c738,
+b as c739,
+b as c740,
+b as c741,
+b as c742,
+b as c743,
+b as c744,
+b as c745,
+b as c746,
+b as c747,
+b as c748,
+b as c749,
+b as c750,
+b as c751,
+b as c752,
+b as c753,
+b as c754,
+b as c755,
+b as c756,
+b as c757,
+b as c758,
+b as c759,
+b as c760,
+b as c761,
+b as c762,
+b as c763,
+b as c764,
+b as c765,
+b as c766,
+b as c767,
+b as c768,
+b as c769,
+b as c770,
+b as c771,
+b as c772,
+b as c773,
+b as c774,
+b as c775,
+b as c776,
+b as c777,
+b as c778,
+b as c779,
+b as c780,
+b as c781,
+b as c782,
+b as c783,
+b as c784,
+b as c785,
+b as c786,
+b as c787,
+b as c788,
+b as c789,
+b as c790,
+b as c791,
+b as c792,
+b as c793,
+b as c794,
+b as c795,
+b as c796,
+b as c797,
+b as c798,
+b as c799,
+b as c800,
+b as c801,
+b as c802,
+b as c803,
+b as c804,
+b as c805,
+b as c806,
+b as c807,
+b as c808,
+b as c809,
+b as c810,
+b as c811,
+b as c812,
+b as c813,
+b as c814,
+b as c815,
+b as c816,
+b as c817,
+b as c818,
+b as c819,
+b as c820,
+b as c821,
+b as c822,
+b as c823,
+b as c824,
+b as c825,
+b as c826,
+b as c827,
+b as c828,
+b as c829,
+b as c830,
+b as c831,
+b as c832,
+b as c833,
+b as c834,
+b as c835,
+b as c836,
+b as c837,
+b as c838,
+b as c839,
+b as c840,
+b as c841,
+b as c842,
+b as c843,
+b as c844,
+b as c845,
+b as c846,
+b as c847,
+b as c848,
+b as c849,
+b as c850,
+b as c851,
+b as c852,
+b as c853,
+b as c854,
+b as c855,
+b as c856,
+b as c857,
+b as c858,
+b as c859,
+b as c860,
+b as c861,
+b as c862,
+b as c863,
+b as c864,
+b as c865,
+b as c866,
+b as c867,
+b as c868,
+b as c869,
+b as c870,
+b as c871,
+b as c872,
+b as c873,
+b as c874,
+b as c875,
+b as c876,
+b as c877,
+b as c878,
+b as c879,
+b as c880,
+b as c881,
+b as c882,
+b as c883,
+b as c884,
+b as c885,
+b as c886,
+b as c887,
+b as c888,
+b as c889,
+b as c890,
+b as c891,
+b as c892,
+b as c893,
+b as c894,
+b as c895,
+b as c897,
+b as c898,
+b as c899,
+b as c900,
+b as c901,
+b as c902,
+b as c903,
+b as c904,
+b as c905,
+b as c906,
+b as c907,
+b as c908,
+b as c909,
+b as c910,
+b as c911,
+b as c912,
+b as c913,
+b as c914,
+b as c915,
+b as c916,
+b as c917,
+b as c918,
+b as c919,
+b as c920,
+b as c921,
+b as c922,
+b as c923,
+b as c924,
+b as c925,
+b as c926,
+b as c927,
+b as c928,
+b as c929,
+b as c930,
+b as c931,
+b as c932,
+b as c933,
+b as c934,
+b as c935,
+b as c936,
+b as c937,
+b as c938,
+b as c939,
+b as c940,
+b as c941,
+b as c942,
+b as c943,
+b as c944,
+b as c945,
+b as c946,
+b as c947,
+b as c948,
+b as c949,
+b as c950,
+b as c951,
+b as c952,
+b as c953,
+b as c954,
+b as c955,
+b as c956,
+b as c957,
+b as c958,
+b as c959,
+b as c960,
+b as c961,
+b as c962,
+b as c963,
+b as c964,
+b as c965,
+b as c966,
+b as c967,
+b as c968,
+b as c969,
+b as c970,
+b as c971,
+b as c972,
+b as c973,
+b as c974,
+b as c975,
+b as c976,
+b as c977,
+b as c978,
+b as c979,
+b as c980,
+b as c981,
+b as c982,
+b as c983,
+b as c984,
+b as c985,
+b as c986,
+b as c987,
+b as c988,
+b as c989,
+b as c990,
+b as c991,
+b as c992,
+b as c993,
+b as c995,
+b as c996,
+b as c997,
+b as c998,
+b as c999,
+b as c1000,
+b as c1001,
+b as c1002,
+b as c1003,
+b as c1004,
+b as c1005,
+b as c1006,
+b as c1007,
+b as c1008,
+b as c1009,
+b as c1010,
+b as c1011,
+b as c1012,
+b as c1013,
+b as c1014,
+b as c1015,
+b as c1016,
+b as c1017,
+b as c1018,
+b as c1019,
+b as c1020,
+b as c1021,
+b as c1022,
+b as c1023,
+b as c1024,
+b as c1025,
+b as c1026,
+b as c1027,
+b as c1028,
+b as c1029,
+b as c1030,
+b as c1031,
+b as c1032,
+b as c1033,
+b as c1034,
+b as c1035,
+b as c1036,
+b as c1037,
+b as c1038,
+b as c1039,
+b as c1040,
+b as c1041,
+b as c1042,
+b as c1043,
+b as c1044,
+b as c1045,
+b as c1046,
+b as c1047,
+b as c1048,
+b as c1049,
+b as c1050,
+b as c1051,
+b as c1052,
+b as c1053,
+b as c1054,
+b as c1055,
+b as c1056,
+b as c1057,
+b as c1058,
+b as c1059,
+b as c1060,
+b as c1061,
+b as c1062,
+b as c1063,
+b as c1064,
+b as c1065,
+b as c1066,
+b as c1067,
+b as c1068,
+b as c1069,
+b as c1070,
+b as c1071,
+b as c1072,
+b as c1073,
+b as c1074,
+b as c1075,
+b as c1076,
+b as c1077,
+b as c1078,
+b as c1079,
+b as c1080,
+b as c1081,
+b as c1082,
+b as c1083,
+b as c1084,
+b as c1085,
+b as c1086,
+b as c1087,
+b as c1088,
+b as c1089,
+b as c1090,
+b as c1091,
+b as c1092,
+b as c1093,
+b as c1094,
+b as c1095,
+b as c1096,
+b as c1097,
+b as c1098,
+b as c1099,
+b as c1100,
+b as c1101,
+b as c1102,
+b as c1103,
+b as c1104,
+b as c1105,
+b as c1106,
+b as c1107,
+b as c1108,
+b as c1109,
+b as c1110,
+b as c1111,
+b as c1112,
+b as c1113,
+b as c1114,
+b as c1115,
+b as c1116,
+b as c1117,
+b as c1118,
+b as c1119,
+b as c1120,
+b as c1121,
+b as c1122,
+b as c1123,
+b as c1124,
+b as c1125,
+b as c1126,
+b as c1127,
+b as c1128,
+b as c1129,
+b as c1130,
+b as c1131,
+b as c1132,
+b as c1133,
+b as c1134,
+b as c1135,
+b as c1136,
+b as c1137,
+b as c1138,
+b as c1139,
+b as c1140,
+b as c1141,
+b as c1142,
+b as c1143,
+b as c1144,
+b as c1145,
+b as c1146,
+b as c1147,
+b as c1148,
+b as c1149,
+b as c1150,
+b as c1151,
+b as c1152,
+b as c1153,
+b as c1154,
+b as c1155,
+b as c1156,
+b as c1157,
+b as c1158,
+b as c1159,
+b as c1160,
+b as c1161,
+b as c1162,
+b as c1163,
+b as c1164,
+b as c1165,
+b as c1166,
+b as c1167,
+b as c1168,
+b as c1169,
+b as c1170,
+b as c1171,
+b as c1172,
+b as c1173,
+b as c1174,
+b as c1175,
+b as c1176,
+b as c1177,
+b as c1178,
+b as c1179,
+b as c1180,
+b as c1181,
+b as c1182,
+b as c1183,
+b as c1184,
+b as c1185,
+b as c1186,
+b as c1187,
+b as c1188,
+b as c1189,
+b as c1190,
+b as c1191,
+b as c1192,
+b as c1193,
+b as c1194,
+b as c1195,
+b as c1196,
+b as c1197,
+b as c1198,
+b as c1199,
+b as c1200,
+b as c1201,
+b as c1202,
+b as c1203,
+b as c1204,
+b as c1205,
+b as c1206,
+b as c1207,
+b as c1208,
+b as c1209,
+b as c1210,
+b as c1211,
+b as c1212,
+b as c1213,
+b as c1214,
+b as c1215,
+b as c1216,
+b as c1217,
+b as c1218,
+b as c1219,
+b as c1220,
+b as c1221,
+b as c1222,
+b as c1223,
+b as c1224,
+b as c1225,
+b as c1226,
+b as c1227,
+b as c1228,
+b as c1229,
+b as c1230,
+b as c1231,
+b as c1232,
+b as c1233,
+b as c1234,
+b as c1235,
+b as c1236,
+b as c1237,
+b as c1238,
+b as c1239,
+b as c1240,
+b as c1241,
+b as c1242,
+b as c1243,
+b as c1244,
+b as c1245,
+b as c1246,
+b as c1247,
+b as c1248,
+b as c1249,
+b as c1250,
+b as c1251,
+b as c1252,
+b as c1253,
+b as c1254,
+b as c1255,
+b as c1256,
+b as c1257,
+b as c1258,
+b as c1259,
+b as c1260,
+b as c1261,
+b as c1262,
+b as c1263,
+b as c1264,
+b as c1265,
+b as c1266,
+b as c1267,
+b as c1268,
+b as c1269,
+b as c1270,
+b as c1271,
+b as c1272,
+b as c1273,
+b as c1274,
+b as c1275,
+b as c1276,
+b as c1277,
+b as c1278,
+b as c1279,
+b as c1280,
+b as c1281,
+b as c1282,
+b as c1283,
+b as c1284,
+b as c1285,
+b as c1286,
+b as c1287,
+b as c1288,
+b as c1289,
+b as c1290,
+b as c1291,
+b as c1292,
+b as c1293,
+b as c1294,
+b as c1295,
+b as c1296,
+b as c1297,
+b as c1298,
+b as c1299,
+b as c1300,
+b as c1301,
+b as c1302,
+b as c1303,
+b as c1304,
+b as c1305,
+b as c1306,
+b as c1307,
+b as c1308,
+b as c1309,
+b as c1310,
+b as c1311,
+b as c1312,
+b as c1313,
+b as c1314,
+b as c1315,
+b as c1316,
+b as c1317,
+b as c1318,
+b as c1319,
+b as c1320,
+b as c1321,
+b as c1322,
+b as c1323,
+b as c1324,
+b as c1325,
+b as c1326,
+b as c1327,
+b as c1328,
+b as c1329,
+b as c1330,
+b as c1331,
+b as c1332,
+b as c1333,
+b as c1334,
+b as c1335,
+b as c1336,
+b as c1337,
+b as c1338,
+b as c1339,
+b as c1340,
+b as c1341,
+b as c1342,
+b as c1343,
+b as c1344,
+b as c1345,
+b as c1346,
+b as c1347,
+b as c1348,
+b as c1349,
+b as c1350,
+b as c1351,
+b as c1352,
+b as c1353,
+b as c1354,
+b as c1355,
+b as c1356,
+b as c1357,
+b as c1358,
+b as c1359,
+b as c1360,
+b as c1361,
+b as c1362,
+b as c1363,
+b as c1364,
+b as c1365,
+b as c1366,
+b as c1367,
+b as c1368,
+b as c1369,
+b as c1370,
+b as c1371,
+b as c1372,
+b as c1373,
+b as c1374,
+b as c1375,
+b as c1376,
+b as c1377,
+b as c1378,
+b as c1379,
+b as c1380,
+b as c1381,
+b as c1382,
+b as c1383,
+b as c1384,
+b as c1385,
+b as c1386,
+b as c1387,
+b as c1388,
+b as c1389,
+b as c1390,
+b as c1391,
+b as c1392,
+b as c1393,
+b as c1394,
+b as c1395,
+b as c1396,
+b as c1397,
+b as c1398,
+b as c1399,
+b as c1400,
+b as c1401,
+b as c1402,
+b as c1403,
+b as c1404,
+b as c1405,
+b as c1406,
+b as c1407,
+b as c1408,
+b as c1409,
+b as c1410,
+b as c1411,
+b as c1412,
+b as c1413,
+b as c1414,
+b as c1415,
+b as c1416,
+b as c1417,
+b as c1418,
+b as c1419,
+b as c1420,
+b as c1421,
+b as c1422,
+b as c1423,
+b as c1424,
+b as c1425,
+b as c1426,
+b as c1427,
+b as c1428,
+b as c1429,
+b as c1430,
+b as c1431,
+b as c1432,
+b as c1433,
+b as c1434,
+b as c1435,
+b as c1436,
+b as c1437,
+b as c1438,
+b as c1439,
+b as c1440,
+b as c1441,
+b as c1442,
+b as c1443,
+b as c1444,
+b as c1445,
+b as c1446,
+b as c1447,
+b as c1448,
+b as c1449,
+b as c1451,
+b as c1452,
+b as c1453,
+b as c1454,
+b as c1455,
+b as c1456,
+b as c1457,
+b as c1458,
+b as c1459,
+b as c1460,
+b as c1461,
+b as c1462,
+b as c1463,
+b as c1464,
+b as c1465,
+b as c1466,
+b as c1467,
+b as c1468,
+b as c1469,
+b as c1470,
+b as c1471,
+b as c1472,
+b as c1473,
+b as c1474,
+b as c1475,
+b as c1476,
+b as c1477,
+b as c1478,
+b as c1479,
+b as c1480,
+b as c1481,
+b as c1482,
+b as c1483,
+b as c1484,
+b as c1485,
+b as c1486,
+b as c1487,
+b as c1488,
+b as c1489,
+b as c1490,
+b as c1491,
+b as c1492,
+b as c1493,
+b as c1494,
+b as c1495,
+b as c1496,
+b as c1497,
+b as c1498,
+b as c1499,
+b as c1500,
+b as c1501,
+b as c1502,
+b as c1503,
+b as c1504,
+b as c1505,
+b as c1506,
+b as c1507,
+b as c1508,
+b as c1509,
+b as c1510,
+b as c1511,
+b as c1512,
+b as c1513,
+b as c1514,
+b as c1515,
+b as c1516,
+b as c1517,
+b as c1518,
+b as c1519,
+b as c1520,
+b as c1521,
+b as c1522,
+b as c1523,
+b as c1524,
+b as c1525,
+b as c1526,
+b as c1527,
+b as c1528,
+b as c1529,
+b as c1530,
+b as c1531,
+b as c1532,
+b as c1533,
+b as c1534,
+b as c1535,
+b as c1536,
+b as c1537,
+b as c1538,
+b as c1539,
+b as c1540,
+b as c1541,
+b as c1542,
+b as c1543,
+b as c1544,
+b as c1545,
+b as c1546,
+b as c1547,
+b as c1548,
+b as c1549,
+b as c1550,
+b as c1551,
+b as c1552,
+b as c1553,
+b as c1554,
+b as c1555,
+b as c1556,
+b as c1557,
+b as c1558,
+b as c1559,
+b as c1560,
+b as c1561,
+b as c1562,
+b as c1563,
+b as c1564,
+b as c1565,
+b as c1566,
+b as c1567,
+b as c1568,
+b as c1569,
+b as c1570,
+b as c1571,
+b as c1572,
+b as c1573,
+b as c1574,
+b as c1575,
+b as c1576,
+b as c1577,
+b as c1578,
+b as c1579,
+b as c1580,
+b as c1581,
+b as c1582,
+b as c1583,
+b as c1584,
+b as c1585,
+b as c1586,
+b as c1587,
+b as c1588,
+b as c1589,
+b as c1590,
+b as c1591,
+b as c1592,
+b as c1593,
+b as c1594,
+b as c1595,
+b as c1596,
+b as c1597,
+b as c1598,
+b as c1599,
+b as c1600,
+b as c1601,
+b as c1602,
+b as c1603,
+b as c1604,
+b as c1605,
+b as c1606,
+b as c1607,
+b as c1608,
+b as c1609,
+b as c1610,
+b as c1611,
+b as c1612,
+b as c1613,
+b as c1614,
+b as c1615,
+b as c1616,
+b as c1617,
+b as c1618,
+b as c1619,
+b as c1620,
+b as c1621,
+b as c1622,
+b as c1623,
+b as c1624,
+b as c1625,
+b as c1626,
+b as c1627,
+b as c1628,
+b as c1629,
+b as c1630,
+b as c1631,
+b as c1632,
+b as c1633,
+b as c1634,
+b as c1635,
+b as c1636,
+b as c1637,
+b as c1638,
+b as c1639,
+b as c1640,
+b as c1641,
+b as c1642,
+b as c1643,
+b as c1644,
+b as c1645,
+b as c1646,
+b as c1647,
+b as c1648,
+b as c1649,
+b as c1650,
+b as c1651,
+b as c1652,
+b as c1653,
+b as c1654,
+b as c1655,
+b as c1656,
+b as c1657,
+b as c1658,
+b as c1659,
+b as c1660,
+b as c1661,
+b as c1662,
+b as c1663,
+b as c1664,
+b as c1665,
+b as c1666,
+b as c1667,
+b as c1668,
+b as c1669,
+b as c1670,
+b as c1671,
+b as c1672,
+b as c1673,
+b as c1674,
+b as c1675,
+b as c1676,
+b as c1677,
+b as c1678,
+b as c1679,
+b as c1680,
+b as c1681,
+b as c1682,
+b as c1683,
+b as c1684,
+b as c1685,
+b as c1686,
+b as c1687,
+b as c1688,
+b as c1689,
+b as c1690,
+b as c1691,
+b as c1692,
+b as c1693,
+b as c1694,
+b as c1695,
+b as c1696,
+b as c1697,
+b as c1698,
+b as c1699,
+b as c1700,
+b as c1701,
+b as c1702,
+b as c1703,
+b as c1704,
+b as c1705,
+b as c1706,
+b as c1707,
+b as c1708,
+b as c1709,
+b as c1710,
+b as c1711,
+b as c1712,
+b as c1713,
+b as c1714,
+b as c1715,
+b as c1716,
+b as c1717,
+b as c1718,
+b as c1719,
+b as c1720,
+b as c1721,
+b as c1722,
+b as c1723,
+b as c1724,
+b as c1725,
+b as c1726,
+b as c1727,
+b as c1728,
+b as c1729,
+b as c1730,
+b as c1731,
+b as c1732,
+b as c1733,
+b as c1734,
+b as c1735,
+b as c1736,
+b as c1737,
+b as c1738,
+b as c1739,
+b as c1740,
+b as c1741,
+b as c1742,
+b as c1743,
+b as c1744,
+b as c1745,
+b as c1746,
+b as c1747,
+b as c1748,
+b as c1749,
+b as c1750,
+b as c1751,
+b as c1752,
+b as c1753,
+b as c1754,
+b as c1755,
+b as c1756,
+b as c1757,
+b as c1758,
+b as c1759,
+b as c1760,
+b as c1761,
+b as c1762,
+b as c1763,
+b as c1764,
+b as c1765,
+b as c1766,
+b as c1767,
+b as c1768,
+b as c1769,
+b as c1770,
+b as c1771,
+b as c1772,
+b as c1773,
+b as c1774,
+b as c1775,
+b as c1776,
+b as c1777,
+b as c1778,
+b as c1779,
+b as c1780,
+b as c1781,
+b as c1782,
+b as c1783,
+b as c1784,
+b as c1785,
+b as c1786,
+b as c1787,
+b as c1788,
+b as c1789,
+b as c1790,
+b as c1791,
+b as c1792,
+b as c1793,
+b as c1794,
+b as c1795,
+b as c1796,
+b as c1797,
+b as c1798,
+b as c1799,
+b as c1800,
+b as c1801,
+b as c1802,
+b as c1803,
+b as c1804,
+b as c1805,
+b as c1806,
+b as c1807,
+b as c1808,
+b as c1809,
+b as c1810,
+b as c1811,
+b as c1812,
+b as c1813,
+b as c1814,
+b as c1815,
+b as c1816,
+b as c1817,
+b as c1818,
+b as c1819,
+b as c1820,
+b as c1821,
+b as c1822,
+b as c1823,
+b as c1824,
+b as c1825,
+b as c1826,
+b as c1827,
+b as c1828,
+b as c1829,
+b as c1830,
+b as c1831,
+b as c1832,
+b as c1833,
+b as c1834,
+b as c1835,
+b as c1836,
+b as c1837,
+b as c1838,
+b as c1839,
+b as c1840,
+b as c1841,
+b as c1842,
+b as c1843,
+b as c1844,
+b as c1845,
+b as c1846,
+b as c1847,
+b as c1848,
+b as c1849,
+b as c1850,
+b as c1851,
+b as c1852,
+b as c1853,
+b as c1854,
+b as c1855,
+b as c1856,
+b as c1857,
+b as c1858,
+b as c1859,
+b as c1860,
+b as c1861,
+b as c1862,
+b as c1863,
+b as c1864,
+b as c1865,
+b as c1866,
+b as c1867,
+b as c1868,
+b as c1869,
+b as c1870,
+b as c1871,
+b as c1872,
+b as c1873,
+b as c1874,
+b as c1875,
+b as c1876,
+b as c1877,
+b as c1878,
+b as c1879,
+b as c1880,
+b as c1881,
+b as c1882,
+b as c1883,
+b as c1884,
+b as c1885,
+b as c1886,
+b as c1887,
+b as c1888,
+b as c1889,
+b as c1890,
+b as c1891,
+b as c1892,
+b as c1893,
+b as c1894,
+b as c1895,
+b as c1896,
+b as c1897,
+b as c1898,
+b as c1899,
+b as c1900,
+b as c1901,
+b as c1902,
+b as c1903,
+b as c1904,
+b as c1905,
+b as c1906,
+b as c1907,
+b as c1908,
+b as c1909,
+b as c1910,
+b as c1911,
+b as c1912,
+b as c1913,
+b as c1914,
+b as c1915,
+b as c1916,
+b as c1917,
+b as c1918,
+b as c1919,
+b as c1920,
+b as c1921,
+b as c1922,
+b as c1923,
+b as c1924,
+b as c1925,
+b as c1926,
+b as c1927,
+b as c1928,
+b as c1929,
+b as c1930,
+b as c1931,
+b as c1932,
+b as c1933,
+b as c1934,
+b as c1935,
+b as c1936,
+b as c1937,
+b as c1938,
+b as c1939,
+b as c1940,
+b as c1941,
+b as c1942,
+b as c1943,
+b as c1944,
+b as c1945,
+b as c1946,
+b as c1947,
+b as c1948,
+b as c1949,
+b as c1950,
+b as c1951,
+b as c1952,
+b as c1953,
+b as c1954,
+b as c1955,
+b as c1956,
+b as c1957,
+b as c1958,
+b as c1959,
+b as c1960,
+b as c1961,
+b as c1962,
+b as c1963,
+b as c1964,
+b as c1965,
+b as c1966,
+b as c1967,
+b as c1968,
+b as c1969,
+b as c1970,
+b as c1971,
+b as c1972,
+b as c1973,
+b as c1974,
+b as c1975,
+b as c1976,
+b as c1977,
+b as c1978,
+b as c1979,
+b as c1980,
+b as c1981,
+b as c1982,
+b as c1983,
+b as c1984,
+b as c1985,
+b as c1986,
+b as c1987,
+b as c1988,
+b as c1989,
+b as c1990,
+b as c1991,
+b as c1992,
+b as c1993,
+b as c1994,
+b as c1995,
+b as c1996,
+b as c1997,
+b as c1998,
+b as c1999,
+b as c2000,
+b as c2001,
+b as c2002,
+b as c2003,
+b as c2004,
+b as c2005,
+b as c2006,
+b as c2007,
+b as c2008,
+b as c2009,
+b as c2010,
+b as c2011,
+b as c2012,
+b as c2013,
+b as c2014,
+b as c2015,
+b as c2016,
+b as c2017,
+b as c2018,
+b as c2019,
+b as c2020,
+b as c2021,
+b as c2022,
+b as c2023,
+b as c2024,
+b as c2025,
+b as c2026,
+b as c2027,
+b as c2028,
+b as c2029,
+b as c2030,
+b as c2031,
+b as c2032,
+b as c2033,
+b as c2034,
+b as c2035,
+b as c2036,
+b as c2037,
+b as c2038,
+b as c2039,
+b as c2040,
+b as c2041,
+b as c2042,
+b as c2043,
+b as c2044,
+b as c2045,
+b as c2046,
+b as c2047,
+b as c2048,
+b as c2049,
+b as c2050,
+b as c2051,
+b as c2052,
+b as c2053,
+b as c2054,
+b as c2055,
+b as c2056,
+b as c2057,
+b as c2058,
+b as c2059,
+b as c2060,
+b as c2061,
+b as c2062,
+b as c2063,
+b as c2064,
+b as c2065,
+b as c2066,
+b as c2067,
+b as c2068,
+b as c2069,
+b as c2070,
+b as c2071,
+b as c2072,
+b as c2073,
+b as c2074,
+b as c2075,
+b as c2076,
+b as c2077,
+b as c2078,
+b as c2079,
+b as c2080,
+b as c2081,
+b as c2082,
+b as c2083,
+b as c2084,
+b as c2085,
+b as c2086,
+b as c2087,
+b as c2088,
+b as c2089,
+b as c2090,
+b as c2091,
+b as c2092,
+b as c2093,
+b as c2094,
+b as c2095,
+b as c2096,
+b as c2097,
+b as c2098,
+b as c2099,
+b as c2100,
+b as c2101,
+b as c2102,
+b as c2103,
+b as c2104,
+b as c2105,
+b as c2106,
+b as c2107,
+b as c2108,
+b as c2109,
+b as c2110,
+b as c2111,
+b as c2112,
+b as c2113,
+b as c2114,
+b as c2115,
+b as c2116,
+b as c2117,
+b as c2118,
+b as c2119,
+b as c2120,
+b as c2121,
+b as c2122,
+b as c2123,
+b as c2124,
+b as c2125,
+b as c2126,
+b as c2127,
+b as c2128,
+b as c2129,
+b as c2130,
+b as c2131,
+b as c2132,
+b as c2133,
+b as c2134,
+b as c2135,
+b as c2136,
+b as c2137,
+b as c2138,
+b as c2139,
+b as c2140,
+b as c2141,
+b as c2142,
+b as c2143,
+b as c2144,
+b as c2145,
+b as c2146,
+b as c2147,
+b as c2148,
+b as c2149,
+b as c2150,
+b as c2151,
+b as c2152,
+b as c2153,
+b as c2154,
+b as c2155,
+b as c2156,
+b as c2157,
+b as c2158,
+b as c2159,
+b as c2160,
+b as c2161,
+b as c2162,
+b as c2163,
+b as c2164,
+b as c2165,
+b as c2166,
+b as c2167,
+b as c2168,
+b as c2169,
+b as c2170,
+b as c2171,
+b as c2172,
+b as c2173,
+b as c2174,
+b as c2175,
+b as c2176,
+b as c2177,
+b as c2178,
+b as c2179,
+b as c2180,
+b as c2181,
+b as c2182,
+b as c2183,
+b as c2184,
+b as c2185,
+b as c2186,
+b as c2187,
+b as c2188,
+b as c2189,
+b as c2190,
+b as c2191,
+b as c2192,
+b as c2193,
+b as c2194,
+b as c2195,
+b as c2196,
+b as c2197,
+b as c2198,
+b as c2199,
+b as c2200,
+b as c2201,
+b as c2202,
+b as c2203,
+b as c2204,
+b as c2205,
+b as c2206,
+b as c2207,
+b as c2208,
+b as c2209,
+b as c2210,
+b as c2211,
+b as c2212,
+b as c2213,
+b as c2214,
+b as c2215,
+b as c2216,
+b as c2217,
+b as c2218,
+b as c2219,
+b as c2220,
+b as c2221,
+b as c2222,
+b as c2223,
+b as c2224,
+b as c2225,
+b as c2226,
+b as c2227,
+b as c2228,
+b as c2229,
+b as c2230,
+b as c2231,
+b as c2232,
+b as c2233,
+b as c2234,
+b as c2235,
+b as c2236,
+b as c2237,
+b as c2238,
+b as c2239,
+b as c2240,
+b as c2241,
+b as c2242,
+b as c2243,
+b as c2244,
+b as c2245,
+b as c2246,
+b as c2247,
+b as c2248,
+b as c2249,
+b as c2250,
+b as c2251,
+b as c2252,
+b as c2253,
+b as c2254,
+b as c2255,
+b as c2256,
+b as c2257,
+b as c2258,
+b as c2259,
+b as c2260,
+b as c2261,
+b as c2262,
+b as c2263,
+b as c2264,
+b as c2265,
+b as c2266,
+b as c2267,
+b as c2268,
+b as c2269,
+b as c2270,
+b as c2271,
+b as c2272,
+b as c2273,
+b as c2274,
+b as c2275,
+b as c2276,
+b as c2277,
+b as c2278,
+b as c2279,
+b as c2280,
+b as c2281,
+b as c2282,
+b as c2283,
+b as c2284,
+b as c2285,
+b as c2286,
+b as c2287,
+b as c2288,
+b as c2289,
+b as c2290,
+b as c2291,
+b as c2292,
+b as c2293,
+b as c2294,
+b as c2295,
+b as c2296,
+b as c2297,
+b as c2298,
+b as c2299,
+b as c2300,
+b as c2301,
+b as c2302,
+b as c2303,
+b as c2304,
+b as c2305,
+b as c2306,
+b as c2307,
+b as c2308,
+b as c2309,
+b as c2310,
+b as c2311,
+b as c2312,
+b as c2313,
+b as c2314,
+b as c2315,
+b as c2316,
+b as c2317,
+b as c2318,
+b as c2319,
+b as c2320,
+b as c2321,
+b as c2322,
+b as c2323,
+b as c2324,
+b as c2325,
+b as c2326,
+b as c2327,
+b as c2328,
+b as c2329,
+b as c2330,
+b as c2331,
+b as c2332,
+b as c2333,
+b as c2334,
+b as c2335,
+b as c2336,
+b as c2337,
+b as c2338,
+b as c2339,
+b as c2340,
+b as c2341,
+b as c2342,
+b as c2343,
+b as c2344,
+b as c2345,
+b as c2346,
+b as c2347,
+b as c2348,
+b as c2349,
+b as c2350,
+b as c2351,
+b as c2352,
+b as c2353,
+b as c2354,
+b as c2355,
+b as c2356,
+b as c2357,
+b as c2358,
+b as c2359,
+b as c2360,
+b as c2361,
+b as c2362,
+b as c2363,
+b as c2364,
+b as c2365,
+b as c2366,
+b as c2367,
+b as c2368,
+b as c2369,
+b as c2370,
+b as c2371,
+b as c2372,
+b as c2373,
+b as c2374,
+b as c2375,
+b as c2376,
+b as c2377,
+b as c2378,
+b as c2379,
+b as c2380,
+b as c2381,
+b as c2382,
+b as c2383,
+b as c2384,
+b as c2385,
+b as c2386,
+b as c2387,
+b as c2388,
+b as c2389,
+b as c2390,
+b as c2391,
+b as c2392,
+b as c2393,
+b as c2394,
+b as c2395,
+b as c2396,
+b as c2397,
+b as c2398,
+b as c2399,
+b as c2400,
+b as c2401,
+b as c2402,
+b as c2403,
+b as c2404,
+b as c2405,
+b as c2406,
+b as c2407,
+b as c2408,
+b as c2409,
+b as c2410,
+b as c2411,
+b as c2412,
+b as c2413,
+b as c2414,
+b as c2415,
+b as c2416,
+b as c2417,
+b as c2418,
+b as c2419,
+b as c2420,
+b as c2421,
+b as c2422,
+b as c2423,
+b as c2424,
+b as c2425,
+b as c2426,
+b as c2427,
+b as c2428,
+b as c2429,
+b as c2430,
+b as c2431,
+b as c2432,
+b as c2433,
+b as c2434,
+b as c2435,
+b as c2436,
+b as c2437,
+b as c2438,
+b as c2439,
+b as c2440,
+b as c2441,
+b as c2442,
+b as c2443,
+b as c2444,
+b as c2445,
+b as c2446,
+b as c2447,
+b as c2448,
+b as c2449,
+b as c2450,
+b as c2451,
+b as c2452,
+b as c2453,
+b as c2454,
+b as c2455,
+b as c2456,
+b as c2457,
+b as c2458,
+b as c2459,
+b as c2460,
+b as c2461,
+b as c2462,
+b as c2463,
+b as c2464,
+b as c2465,
+b as c2466,
+b as c2467,
+b as c2468,
+b as c2469,
+b as c2470,
+b as c2471,
+b as c2472,
+b as c2473,
+b as c2474,
+b as c2475,
+b as c2476,
+b as c2477,
+b as c2478,
+b as c2479,
+b as c2480,
+b as c2481,
+b as c2482,
+b as c2483,
+b as c2484,
+b as c2485,
+b as c2486,
+b as c2487,
+b as c2488,
+b as c2489,
+b as c2490,
+b as c2491,
+b as c2492,
+b as c2493,
+b as c2494,
+b as c2495,
+b as c2496,
+b as c2497,
+b as c2498,
+b as c2499,
+b as c2500,
+b as c2501,
+b as c2503,
+b as c2504,
+b as c2505,
+b as c2506,
+b as c2507,
+b as c2508,
+b as c2509,
+b as c2510,
+b as c2511,
+b as c2512,
+b as c2513,
+b as c2514,
+b as c2515,
+b as c2516,
+b as c2517,
+b as c2518,
+b as c2519,
+b as c2520,
+b as c2521,
+b as c2522,
+b as c2523,
+b as c2524,
+b as c2525,
+b as c2526,
+b as c2527,
+b as c2528,
+b as c2529,
+b as c2530,
+b as c2531,
+b as c2532,
+b as c2533,
+b as c2534,
+b as c2535,
+b as c2536,
+b as c2537,
+b as c2538,
+b as c2539,
+b as c2540,
+b as c2541,
+b as c2542,
+b as c2543,
+b as c2544,
+b as c2545,
+b as c2546,
+b as c2547,
+b as c2548,
+b as c2549,
+b as c2550,
+b as c2551,
+b as c2552,
+b as c2553,
+b as c2554,
+b as c2555,
+b as c2556,
+b as c2557,
+b as c2558,
+b as c2559,
+b as c2560,
+b as c2561,
+b as c2562,
+b as c2563,
+b as c2564,
+b as c2565,
+b as c2566,
+b as c2567,
+b as c2568,
+b as c2569,
+b as c2570,
+b as c2571,
+b as c2572,
+b as c2573,
+b as c2574,
+b as c2575,
+b as c2576,
+b as c2577,
+b as c2578,
+b as c2579,
+b as c2580,
+b as c2581,
+b as c2582,
+b as c2583,
+b as c2584,
+b as c2585,
+b as c2586,
+b as c2587,
+b as c2588,
+b as c2589,
+b as c2590,
+b as c2591,
+b as c2592,
+b as c2593,
+b as c2594,
+b as c2595,
+b as c2596,
+b as c2597,
+b as c2598,
+b as c2599,
+b as c2600,
+b as c2601,
+b as c2602,
+b as c2603,
+b as c2604,
+b as c2605,
+b as c2606,
+b as c2607,
+b as c2608,
+b as c2609,
+b as c2610,
+b as c2611,
+b as c2612,
+b as c2613,
+b as c2614,
+b as c2615,
+b as c2616,
+b as c2617,
+b as c2618,
+b as c2619,
+b as c2620,
+b as c2621,
+b as c2622,
+b as c2623,
+b as c2624,
+b as c2626
+from t1
+) as tt1;
+ERROR 0A000: Aria table 'tmp' has too many columns and/or indexes and/or unique constraints.
+drop table t1;
diff --git a/mysql-test/main/tmp_table_error.test b/mysql-test/main/tmp_table_error.test
new file mode 100644
index 00000000000..dbddaaaa4c7
--- /dev/null
+++ b/mysql-test/main/tmp_table_error.test
@@ -0,0 +1,2637 @@
+source include/have_innodb.inc;
+call mtr.add_suppression('Index for table');
+create table t1 (
+ a int primary key,
+ b text
+) engine=innodb;
+
+--replace_regex /'.*'/'tmp'/
+--error 140
+create table t2 as
+select
+ 1
+ from
+ (select distinct
+ b as c0,
+ b as c1,
+ b as c2,
+ b as c3,
+ b as c4,
+ b as c5,
+ b as c6,
+ b as c7,
+ b as c8,
+ b as c9,
+ b as c10,
+ b as c11,
+ b as c12,
+ b as c13,
+ b as c14,
+ b as c15,
+ b as c16,
+ b as c17,
+ b as c18,
+ b as c19,
+ b as c20,
+ b as c21,
+ b as c22,
+ b as c23,
+ b as c24,
+ b as c25,
+ b as c26,
+ b as c27,
+ b as c28,
+ b as c29,
+ b as c30,
+ b as c31,
+ b as c32,
+ b as c33,
+ b as c34,
+ b as c35,
+ b as c36,
+ b as c37,
+ b as c38,
+ b as c39,
+ b as c40,
+ b as c41,
+ b as c42,
+ b as c43,
+ b as c45,
+ b as c46,
+ b as c47,
+ b as c48,
+ b as c49,
+ b as c50,
+ b as c51,
+ b as c52,
+ b as c53,
+ b as c54,
+ b as c55,
+ b as c56,
+ b as c57,
+ b as c58,
+ b as c59,
+ b as c60,
+ b as c61,
+ b as c62,
+ b as c63,
+ b as c64,
+ b as c65,
+ b as c66,
+ b as c67,
+ b as c68,
+ b as c69,
+ b as c70,
+ b as c71,
+ b as c72,
+ b as c73,
+ b as c74,
+ b as c75,
+ b as c76,
+ b as c77,
+ b as c78,
+ b as c79,
+ b as c80,
+ b as c81,
+ b as c82,
+ b as c83,
+ b as c84,
+ b as c85,
+ b as c86,
+ b as c87,
+ b as c88,
+ b as c89,
+ b as c90,
+ b as c91,
+ b as c92,
+ b as c93,
+ b as c94,
+ b as c95,
+ b as c96,
+ b as c97,
+ b as c98,
+ b as c99,
+ b as c100,
+ b as c101,
+ b as c102,
+ b as c103,
+ b as c104,
+ b as c105,
+ b as c106,
+ b as c107,
+ b as c108,
+ b as c109,
+ b as c110,
+ b as c111,
+ b as c112,
+ b as c113,
+ b as c114,
+ b as c115,
+ b as c116,
+ b as c117,
+ b as c118,
+ b as c119,
+ b as c120,
+ b as c121,
+ b as c122,
+ b as c123,
+ b as c124,
+ b as c125,
+ b as c126,
+ b as c127,
+ b as c128,
+ b as c129,
+ b as c130,
+ b as c131,
+ b as c132,
+ b as c133,
+ b as c134,
+ b as c135,
+ b as c136,
+ b as c137,
+ b as c138,
+ b as c139,
+ b as c140,
+ b as c141,
+ b as c142,
+ b as c143,
+ b as c144,
+ b as c145,
+ b as c146,
+ b as c147,
+ b as c148,
+ b as c149,
+ b as c150,
+ b as c151,
+ b as c152,
+ b as c153,
+ b as c154,
+ b as c155,
+ b as c156,
+ b as c157,
+ b as c158,
+ b as c159,
+ b as c160,
+ b as c161,
+ b as c162,
+ b as c163,
+ b as c164,
+ b as c165,
+ b as c166,
+ b as c167,
+ b as c168,
+ b as c169,
+ b as c170,
+ b as c171,
+ b as c172,
+ b as c173,
+ b as c174,
+ b as c175,
+ b as c176,
+ b as c177,
+ b as c178,
+ b as c179,
+ b as c180,
+ b as c181,
+ b as c182,
+ b as c183,
+ b as c184,
+ b as c185,
+ b as c186,
+ b as c187,
+ b as c188,
+ b as c189,
+ b as c190,
+ b as c191,
+ b as c192,
+ b as c193,
+ b as c194,
+ b as c195,
+ b as c196,
+ b as c197,
+ b as c198,
+ b as c199,
+ b as c200,
+ b as c201,
+ b as c202,
+ b as c203,
+ b as c204,
+ b as c205,
+ b as c206,
+ b as c207,
+ b as c208,
+ b as c209,
+ b as c210,
+ b as c211,
+ b as c212,
+ b as c213,
+ b as c214,
+ b as c215,
+ b as c216,
+ b as c217,
+ b as c218,
+ b as c219,
+ b as c220,
+ b as c221,
+ b as c222,
+ b as c223,
+ b as c224,
+ b as c225,
+ b as c226,
+ b as c227,
+ b as c228,
+ b as c229,
+ b as c230,
+ b as c231,
+ b as c232,
+ b as c233,
+ b as c234,
+ b as c235,
+ b as c236,
+ b as c237,
+ b as c238,
+ b as c239,
+ b as c240,
+ b as c241,
+ b as c242,
+ b as c243,
+ b as c244,
+ b as c245,
+ b as c246,
+ b as c247,
+ b as c248,
+ b as c249,
+ b as c250,
+ b as c251,
+ b as c252,
+ b as c253,
+ b as c254,
+ b as c255,
+ b as c256,
+ b as c257,
+ b as c258,
+ b as c259,
+ b as c260,
+ b as c261,
+ b as c262,
+ b as c263,
+ b as c264,
+ b as c265,
+ b as c266,
+ b as c267,
+ b as c268,
+ b as c269,
+ b as c270,
+ b as c271,
+ b as c272,
+ b as c273,
+ b as c274,
+ b as c275,
+ b as c276,
+ b as c277,
+ b as c278,
+ b as c279,
+ b as c280,
+ b as c281,
+ b as c282,
+ b as c283,
+ b as c284,
+ b as c285,
+ b as c286,
+ b as c287,
+ b as c288,
+ b as c289,
+ b as c290,
+ b as c291,
+ b as c292,
+ b as c293,
+ b as c294,
+ b as c295,
+ b as c296,
+ b as c297,
+ b as c298,
+ b as c299,
+ b as c300,
+ b as c301,
+ b as c302,
+ b as c303,
+ b as c304,
+ b as c305,
+ b as c306,
+ b as c307,
+ b as c308,
+ b as c309,
+ b as c310,
+ b as c311,
+ b as c312,
+ b as c313,
+ b as c314,
+ b as c315,
+ b as c316,
+ b as c317,
+ b as c318,
+ b as c319,
+ b as c320,
+ b as c321,
+ b as c322,
+ b as c323,
+ b as c324,
+ b as c325,
+ b as c326,
+ b as c327,
+ b as c328,
+ b as c329,
+ b as c330,
+ b as c331,
+ b as c332,
+ b as c333,
+ b as c334,
+ b as c335,
+ b as c336,
+ b as c337,
+ b as c338,
+ b as c339,
+ b as c340,
+ b as c341,
+ b as c342,
+ b as c343,
+ b as c344,
+ b as c345,
+ b as c346,
+ b as c347,
+ b as c348,
+ b as c349,
+ b as c350,
+ b as c351,
+ b as c352,
+ b as c353,
+ b as c354,
+ b as c355,
+ b as c356,
+ b as c357,
+ b as c358,
+ b as c359,
+ b as c360,
+ b as c361,
+ b as c362,
+ b as c363,
+ b as c364,
+ b as c365,
+ b as c366,
+ b as c367,
+ b as c368,
+ b as c369,
+ b as c370,
+ b as c371,
+ b as c372,
+ b as c373,
+ b as c374,
+ b as c375,
+ b as c376,
+ b as c377,
+ b as c378,
+ b as c379,
+ b as c380,
+ b as c381,
+ b as c382,
+ b as c383,
+ b as c384,
+ b as c385,
+ b as c386,
+ b as c387,
+ b as c388,
+ b as c389,
+ b as c390,
+ b as c391,
+ b as c392,
+ b as c393,
+ b as c394,
+ b as c395,
+ b as c396,
+ b as c397,
+ b as c398,
+ b as c399,
+ b as c400,
+ b as c401,
+ b as c402,
+ b as c403,
+ b as c404,
+ b as c405,
+ b as c406,
+ b as c407,
+ b as c409,
+ b as c410,
+ b as c411,
+ b as c412,
+ b as c413,
+ b as c414,
+ b as c415,
+ b as c416,
+ b as c417,
+ b as c418,
+ b as c419,
+ b as c420,
+ b as c421,
+ b as c422,
+ b as c423,
+ b as c424,
+ b as c425,
+ b as c426,
+ b as c427,
+ b as c428,
+ b as c429,
+ b as c430,
+ b as c431,
+ b as c432,
+ b as c433,
+ b as c434,
+ b as c435,
+ b as c436,
+ b as c437,
+ b as c438,
+ b as c439,
+ b as c440,
+ b as c441,
+ b as c442,
+ b as c443,
+ b as c444,
+ b as c445,
+ b as c446,
+ b as c447,
+ b as c448,
+ b as c449,
+ b as c450,
+ b as c451,
+ b as c452,
+ b as c453,
+ b as c454,
+ b as c455,
+ b as c456,
+ b as c457,
+ b as c458,
+ b as c459,
+ b as c460,
+ b as c461,
+ b as c462,
+ b as c463,
+ b as c464,
+ b as c465,
+ b as c466,
+ b as c467,
+ b as c468,
+ b as c469,
+ b as c470,
+ b as c471,
+ b as c472,
+ b as c473,
+ b as c474,
+ b as c475,
+ b as c476,
+ b as c477,
+ b as c478,
+ b as c479,
+ b as c480,
+ b as c481,
+ b as c482,
+ b as c483,
+ b as c484,
+ b as c485,
+ b as c486,
+ b as c487,
+ b as c488,
+ b as c489,
+ b as c490,
+ b as c491,
+ b as c492,
+ b as c493,
+ b as c494,
+ b as c495,
+ b as c496,
+ b as c497,
+ b as c498,
+ b as c499,
+ b as c500,
+ b as c501,
+ b as c502,
+ b as c503,
+ b as c504,
+ b as c505,
+ b as c506,
+ b as c507,
+ b as c508,
+ b as c509,
+ b as c510,
+ b as c511,
+ b as c512,
+ b as c513,
+ b as c514,
+ b as c515,
+ b as c516,
+ b as c517,
+ b as c518,
+ b as c519,
+ b as c520,
+ b as c521,
+ b as c522,
+ b as c523,
+ b as c524,
+ b as c525,
+ b as c526,
+ b as c527,
+ b as c528,
+ b as c529,
+ b as c530,
+ b as c531,
+ b as c532,
+ b as c533,
+ b as c534,
+ b as c535,
+ b as c536,
+ b as c537,
+ b as c538,
+ b as c539,
+ b as c540,
+ b as c541,
+ b as c542,
+ b as c543,
+ b as c544,
+ b as c545,
+ b as c546,
+ b as c547,
+ b as c548,
+ b as c549,
+ b as c550,
+ b as c551,
+ b as c552,
+ b as c553,
+ b as c554,
+ b as c555,
+ b as c556,
+ b as c557,
+ b as c558,
+ b as c559,
+ b as c560,
+ b as c561,
+ b as c562,
+ b as c563,
+ b as c564,
+ b as c565,
+ b as c566,
+ b as c567,
+ b as c568,
+ b as c569,
+ b as c570,
+ b as c571,
+ b as c572,
+ b as c573,
+ b as c574,
+ b as c575,
+ b as c576,
+ b as c577,
+ b as c578,
+ b as c579,
+ b as c580,
+ b as c581,
+ b as c582,
+ b as c583,
+ b as c584,
+ b as c585,
+ b as c586,
+ b as c587,
+ b as c588,
+ b as c589,
+ b as c590,
+ b as c591,
+ b as c592,
+ b as c593,
+ b as c594,
+ b as c595,
+ b as c596,
+ b as c597,
+ b as c598,
+ b as c599,
+ b as c600,
+ b as c601,
+ b as c602,
+ b as c603,
+ b as c604,
+ b as c605,
+ b as c606,
+ b as c607,
+ b as c608,
+ b as c609,
+ b as c610,
+ b as c611,
+ b as c612,
+ b as c613,
+ b as c614,
+ b as c615,
+ b as c616,
+ b as c617,
+ b as c618,
+ b as c619,
+ b as c620,
+ b as c621,
+ b as c622,
+ b as c623,
+ b as c624,
+ b as c625,
+ b as c626,
+ b as c627,
+ b as c628,
+ b as c629,
+ b as c630,
+ b as c631,
+ b as c632,
+ b as c633,
+ b as c634,
+ b as c635,
+ b as c636,
+ b as c637,
+ b as c638,
+ b as c639,
+ b as c640,
+ b as c641,
+ b as c642,
+ b as c643,
+ b as c644,
+ b as c645,
+ b as c646,
+ b as c647,
+ b as c648,
+ b as c649,
+ b as c650,
+ b as c651,
+ b as c652,
+ b as c653,
+ b as c654,
+ b as c655,
+ b as c656,
+ b as c657,
+ b as c658,
+ b as c659,
+ b as c660,
+ b as c661,
+ b as c662,
+ b as c663,
+ b as c664,
+ b as c665,
+ b as c666,
+ b as c667,
+ b as c668,
+ b as c669,
+ b as c670,
+ b as c671,
+ b as c672,
+ b as c673,
+ b as c674,
+ b as c675,
+ b as c676,
+ b as c677,
+ b as c678,
+ b as c679,
+ b as c680,
+ b as c681,
+ b as c682,
+ b as c683,
+ b as c684,
+ b as c685,
+ b as c686,
+ b as c687,
+ b as c688,
+ b as c689,
+ b as c690,
+ b as c691,
+ b as c692,
+ b as c693,
+ b as c694,
+ b as c695,
+ b as c696,
+ b as c697,
+ b as c698,
+ b as c699,
+ b as c700,
+ b as c701,
+ b as c702,
+ b as c703,
+ b as c704,
+ b as c705,
+ b as c706,
+ b as c707,
+ b as c708,
+ b as c709,
+ b as c710,
+ b as c711,
+ b as c712,
+ b as c713,
+ b as c714,
+ b as c715,
+ b as c716,
+ b as c717,
+ b as c718,
+ b as c719,
+ b as c720,
+ b as c721,
+ b as c722,
+ b as c723,
+ b as c724,
+ b as c725,
+ b as c726,
+ b as c727,
+ b as c728,
+ b as c729,
+ b as c730,
+ b as c731,
+ b as c732,
+ b as c733,
+ b as c734,
+ b as c735,
+ b as c736,
+ b as c737,
+ b as c738,
+ b as c739,
+ b as c740,
+ b as c741,
+ b as c742,
+ b as c743,
+ b as c744,
+ b as c745,
+ b as c746,
+ b as c747,
+ b as c748,
+ b as c749,
+ b as c750,
+ b as c751,
+ b as c752,
+ b as c753,
+ b as c754,
+ b as c755,
+ b as c756,
+ b as c757,
+ b as c758,
+ b as c759,
+ b as c760,
+ b as c761,
+ b as c762,
+ b as c763,
+ b as c764,
+ b as c765,
+ b as c766,
+ b as c767,
+ b as c768,
+ b as c769,
+ b as c770,
+ b as c771,
+ b as c772,
+ b as c773,
+ b as c774,
+ b as c775,
+ b as c776,
+ b as c777,
+ b as c778,
+ b as c779,
+ b as c780,
+ b as c781,
+ b as c782,
+ b as c783,
+ b as c784,
+ b as c785,
+ b as c786,
+ b as c787,
+ b as c788,
+ b as c789,
+ b as c790,
+ b as c791,
+ b as c792,
+ b as c793,
+ b as c794,
+ b as c795,
+ b as c796,
+ b as c797,
+ b as c798,
+ b as c799,
+ b as c800,
+ b as c801,
+ b as c802,
+ b as c803,
+ b as c804,
+ b as c805,
+ b as c806,
+ b as c807,
+ b as c808,
+ b as c809,
+ b as c810,
+ b as c811,
+ b as c812,
+ b as c813,
+ b as c814,
+ b as c815,
+ b as c816,
+ b as c817,
+ b as c818,
+ b as c819,
+ b as c820,
+ b as c821,
+ b as c822,
+ b as c823,
+ b as c824,
+ b as c825,
+ b as c826,
+ b as c827,
+ b as c828,
+ b as c829,
+ b as c830,
+ b as c831,
+ b as c832,
+ b as c833,
+ b as c834,
+ b as c835,
+ b as c836,
+ b as c837,
+ b as c838,
+ b as c839,
+ b as c840,
+ b as c841,
+ b as c842,
+ b as c843,
+ b as c844,
+ b as c845,
+ b as c846,
+ b as c847,
+ b as c848,
+ b as c849,
+ b as c850,
+ b as c851,
+ b as c852,
+ b as c853,
+ b as c854,
+ b as c855,
+ b as c856,
+ b as c857,
+ b as c858,
+ b as c859,
+ b as c860,
+ b as c861,
+ b as c862,
+ b as c863,
+ b as c864,
+ b as c865,
+ b as c866,
+ b as c867,
+ b as c868,
+ b as c869,
+ b as c870,
+ b as c871,
+ b as c872,
+ b as c873,
+ b as c874,
+ b as c875,
+ b as c876,
+ b as c877,
+ b as c878,
+ b as c879,
+ b as c880,
+ b as c881,
+ b as c882,
+ b as c883,
+ b as c884,
+ b as c885,
+ b as c886,
+ b as c887,
+ b as c888,
+ b as c889,
+ b as c890,
+ b as c891,
+ b as c892,
+ b as c893,
+ b as c894,
+ b as c895,
+ b as c897,
+ b as c898,
+ b as c899,
+ b as c900,
+ b as c901,
+ b as c902,
+ b as c903,
+ b as c904,
+ b as c905,
+ b as c906,
+ b as c907,
+ b as c908,
+ b as c909,
+ b as c910,
+ b as c911,
+ b as c912,
+ b as c913,
+ b as c914,
+ b as c915,
+ b as c916,
+ b as c917,
+ b as c918,
+ b as c919,
+ b as c920,
+ b as c921,
+ b as c922,
+ b as c923,
+ b as c924,
+ b as c925,
+ b as c926,
+ b as c927,
+ b as c928,
+ b as c929,
+ b as c930,
+ b as c931,
+ b as c932,
+ b as c933,
+ b as c934,
+ b as c935,
+ b as c936,
+ b as c937,
+ b as c938,
+ b as c939,
+ b as c940,
+ b as c941,
+ b as c942,
+ b as c943,
+ b as c944,
+ b as c945,
+ b as c946,
+ b as c947,
+ b as c948,
+ b as c949,
+ b as c950,
+ b as c951,
+ b as c952,
+ b as c953,
+ b as c954,
+ b as c955,
+ b as c956,
+ b as c957,
+ b as c958,
+ b as c959,
+ b as c960,
+ b as c961,
+ b as c962,
+ b as c963,
+ b as c964,
+ b as c965,
+ b as c966,
+ b as c967,
+ b as c968,
+ b as c969,
+ b as c970,
+ b as c971,
+ b as c972,
+ b as c973,
+ b as c974,
+ b as c975,
+ b as c976,
+ b as c977,
+ b as c978,
+ b as c979,
+ b as c980,
+ b as c981,
+ b as c982,
+ b as c983,
+ b as c984,
+ b as c985,
+ b as c986,
+ b as c987,
+ b as c988,
+ b as c989,
+ b as c990,
+ b as c991,
+ b as c992,
+ b as c993,
+ b as c995,
+ b as c996,
+ b as c997,
+ b as c998,
+ b as c999,
+ b as c1000,
+ b as c1001,
+ b as c1002,
+ b as c1003,
+ b as c1004,
+ b as c1005,
+ b as c1006,
+ b as c1007,
+ b as c1008,
+ b as c1009,
+ b as c1010,
+ b as c1011,
+ b as c1012,
+ b as c1013,
+ b as c1014,
+ b as c1015,
+ b as c1016,
+ b as c1017,
+ b as c1018,
+ b as c1019,
+ b as c1020,
+ b as c1021,
+ b as c1022,
+ b as c1023,
+ b as c1024,
+ b as c1025,
+ b as c1026,
+ b as c1027,
+ b as c1028,
+ b as c1029,
+ b as c1030,
+ b as c1031,
+ b as c1032,
+ b as c1033,
+ b as c1034,
+ b as c1035,
+ b as c1036,
+ b as c1037,
+ b as c1038,
+ b as c1039,
+ b as c1040,
+ b as c1041,
+ b as c1042,
+ b as c1043,
+ b as c1044,
+ b as c1045,
+ b as c1046,
+ b as c1047,
+ b as c1048,
+ b as c1049,
+ b as c1050,
+ b as c1051,
+ b as c1052,
+ b as c1053,
+ b as c1054,
+ b as c1055,
+ b as c1056,
+ b as c1057,
+ b as c1058,
+ b as c1059,
+ b as c1060,
+ b as c1061,
+ b as c1062,
+ b as c1063,
+ b as c1064,
+ b as c1065,
+ b as c1066,
+ b as c1067,
+ b as c1068,
+ b as c1069,
+ b as c1070,
+ b as c1071,
+ b as c1072,
+ b as c1073,
+ b as c1074,
+ b as c1075,
+ b as c1076,
+ b as c1077,
+ b as c1078,
+ b as c1079,
+ b as c1080,
+ b as c1081,
+ b as c1082,
+ b as c1083,
+ b as c1084,
+ b as c1085,
+ b as c1086,
+ b as c1087,
+ b as c1088,
+ b as c1089,
+ b as c1090,
+ b as c1091,
+ b as c1092,
+ b as c1093,
+ b as c1094,
+ b as c1095,
+ b as c1096,
+ b as c1097,
+ b as c1098,
+ b as c1099,
+ b as c1100,
+ b as c1101,
+ b as c1102,
+ b as c1103,
+ b as c1104,
+ b as c1105,
+ b as c1106,
+ b as c1107,
+ b as c1108,
+ b as c1109,
+ b as c1110,
+ b as c1111,
+ b as c1112,
+ b as c1113,
+ b as c1114,
+ b as c1115,
+ b as c1116,
+ b as c1117,
+ b as c1118,
+ b as c1119,
+ b as c1120,
+ b as c1121,
+ b as c1122,
+ b as c1123,
+ b as c1124,
+ b as c1125,
+ b as c1126,
+ b as c1127,
+ b as c1128,
+ b as c1129,
+ b as c1130,
+ b as c1131,
+ b as c1132,
+ b as c1133,
+ b as c1134,
+ b as c1135,
+ b as c1136,
+ b as c1137,
+ b as c1138,
+ b as c1139,
+ b as c1140,
+ b as c1141,
+ b as c1142,
+ b as c1143,
+ b as c1144,
+ b as c1145,
+ b as c1146,
+ b as c1147,
+ b as c1148,
+ b as c1149,
+ b as c1150,
+ b as c1151,
+ b as c1152,
+ b as c1153,
+ b as c1154,
+ b as c1155,
+ b as c1156,
+ b as c1157,
+ b as c1158,
+ b as c1159,
+ b as c1160,
+ b as c1161,
+ b as c1162,
+ b as c1163,
+ b as c1164,
+ b as c1165,
+ b as c1166,
+ b as c1167,
+ b as c1168,
+ b as c1169,
+ b as c1170,
+ b as c1171,
+ b as c1172,
+ b as c1173,
+ b as c1174,
+ b as c1175,
+ b as c1176,
+ b as c1177,
+ b as c1178,
+ b as c1179,
+ b as c1180,
+ b as c1181,
+ b as c1182,
+ b as c1183,
+ b as c1184,
+ b as c1185,
+ b as c1186,
+ b as c1187,
+ b as c1188,
+ b as c1189,
+ b as c1190,
+ b as c1191,
+ b as c1192,
+ b as c1193,
+ b as c1194,
+ b as c1195,
+ b as c1196,
+ b as c1197,
+ b as c1198,
+ b as c1199,
+ b as c1200,
+ b as c1201,
+ b as c1202,
+ b as c1203,
+ b as c1204,
+ b as c1205,
+ b as c1206,
+ b as c1207,
+ b as c1208,
+ b as c1209,
+ b as c1210,
+ b as c1211,
+ b as c1212,
+ b as c1213,
+ b as c1214,
+ b as c1215,
+ b as c1216,
+ b as c1217,
+ b as c1218,
+ b as c1219,
+ b as c1220,
+ b as c1221,
+ b as c1222,
+ b as c1223,
+ b as c1224,
+ b as c1225,
+ b as c1226,
+ b as c1227,
+ b as c1228,
+ b as c1229,
+ b as c1230,
+ b as c1231,
+ b as c1232,
+ b as c1233,
+ b as c1234,
+ b as c1235,
+ b as c1236,
+ b as c1237,
+ b as c1238,
+ b as c1239,
+ b as c1240,
+ b as c1241,
+ b as c1242,
+ b as c1243,
+ b as c1244,
+ b as c1245,
+ b as c1246,
+ b as c1247,
+ b as c1248,
+ b as c1249,
+ b as c1250,
+ b as c1251,
+ b as c1252,
+ b as c1253,
+ b as c1254,
+ b as c1255,
+ b as c1256,
+ b as c1257,
+ b as c1258,
+ b as c1259,
+ b as c1260,
+ b as c1261,
+ b as c1262,
+ b as c1263,
+ b as c1264,
+ b as c1265,
+ b as c1266,
+ b as c1267,
+ b as c1268,
+ b as c1269,
+ b as c1270,
+ b as c1271,
+ b as c1272,
+ b as c1273,
+ b as c1274,
+ b as c1275,
+ b as c1276,
+ b as c1277,
+ b as c1278,
+ b as c1279,
+ b as c1280,
+ b as c1281,
+ b as c1282,
+ b as c1283,
+ b as c1284,
+ b as c1285,
+ b as c1286,
+ b as c1287,
+ b as c1288,
+ b as c1289,
+ b as c1290,
+ b as c1291,
+ b as c1292,
+ b as c1293,
+ b as c1294,
+ b as c1295,
+ b as c1296,
+ b as c1297,
+ b as c1298,
+ b as c1299,
+ b as c1300,
+ b as c1301,
+ b as c1302,
+ b as c1303,
+ b as c1304,
+ b as c1305,
+ b as c1306,
+ b as c1307,
+ b as c1308,
+ b as c1309,
+ b as c1310,
+ b as c1311,
+ b as c1312,
+ b as c1313,
+ b as c1314,
+ b as c1315,
+ b as c1316,
+ b as c1317,
+ b as c1318,
+ b as c1319,
+ b as c1320,
+ b as c1321,
+ b as c1322,
+ b as c1323,
+ b as c1324,
+ b as c1325,
+ b as c1326,
+ b as c1327,
+ b as c1328,
+ b as c1329,
+ b as c1330,
+ b as c1331,
+ b as c1332,
+ b as c1333,
+ b as c1334,
+ b as c1335,
+ b as c1336,
+ b as c1337,
+ b as c1338,
+ b as c1339,
+ b as c1340,
+ b as c1341,
+ b as c1342,
+ b as c1343,
+ b as c1344,
+ b as c1345,
+ b as c1346,
+ b as c1347,
+ b as c1348,
+ b as c1349,
+ b as c1350,
+ b as c1351,
+ b as c1352,
+ b as c1353,
+ b as c1354,
+ b as c1355,
+ b as c1356,
+ b as c1357,
+ b as c1358,
+ b as c1359,
+ b as c1360,
+ b as c1361,
+ b as c1362,
+ b as c1363,
+ b as c1364,
+ b as c1365,
+ b as c1366,
+ b as c1367,
+ b as c1368,
+ b as c1369,
+ b as c1370,
+ b as c1371,
+ b as c1372,
+ b as c1373,
+ b as c1374,
+ b as c1375,
+ b as c1376,
+ b as c1377,
+ b as c1378,
+ b as c1379,
+ b as c1380,
+ b as c1381,
+ b as c1382,
+ b as c1383,
+ b as c1384,
+ b as c1385,
+ b as c1386,
+ b as c1387,
+ b as c1388,
+ b as c1389,
+ b as c1390,
+ b as c1391,
+ b as c1392,
+ b as c1393,
+ b as c1394,
+ b as c1395,
+ b as c1396,
+ b as c1397,
+ b as c1398,
+ b as c1399,
+ b as c1400,
+ b as c1401,
+ b as c1402,
+ b as c1403,
+ b as c1404,
+ b as c1405,
+ b as c1406,
+ b as c1407,
+ b as c1408,
+ b as c1409,
+ b as c1410,
+ b as c1411,
+ b as c1412,
+ b as c1413,
+ b as c1414,
+ b as c1415,
+ b as c1416,
+ b as c1417,
+ b as c1418,
+ b as c1419,
+ b as c1420,
+ b as c1421,
+ b as c1422,
+ b as c1423,
+ b as c1424,
+ b as c1425,
+ b as c1426,
+ b as c1427,
+ b as c1428,
+ b as c1429,
+ b as c1430,
+ b as c1431,
+ b as c1432,
+ b as c1433,
+ b as c1434,
+ b as c1435,
+ b as c1436,
+ b as c1437,
+ b as c1438,
+ b as c1439,
+ b as c1440,
+ b as c1441,
+ b as c1442,
+ b as c1443,
+ b as c1444,
+ b as c1445,
+ b as c1446,
+ b as c1447,
+ b as c1448,
+ b as c1449,
+ b as c1451,
+ b as c1452,
+ b as c1453,
+ b as c1454,
+ b as c1455,
+ b as c1456,
+ b as c1457,
+ b as c1458,
+ b as c1459,
+ b as c1460,
+ b as c1461,
+ b as c1462,
+ b as c1463,
+ b as c1464,
+ b as c1465,
+ b as c1466,
+ b as c1467,
+ b as c1468,
+ b as c1469,
+ b as c1470,
+ b as c1471,
+ b as c1472,
+ b as c1473,
+ b as c1474,
+ b as c1475,
+ b as c1476,
+ b as c1477,
+ b as c1478,
+ b as c1479,
+ b as c1480,
+ b as c1481,
+ b as c1482,
+ b as c1483,
+ b as c1484,
+ b as c1485,
+ b as c1486,
+ b as c1487,
+ b as c1488,
+ b as c1489,
+ b as c1490,
+ b as c1491,
+ b as c1492,
+ b as c1493,
+ b as c1494,
+ b as c1495,
+ b as c1496,
+ b as c1497,
+ b as c1498,
+ b as c1499,
+ b as c1500,
+ b as c1501,
+ b as c1502,
+ b as c1503,
+ b as c1504,
+ b as c1505,
+ b as c1506,
+ b as c1507,
+ b as c1508,
+ b as c1509,
+ b as c1510,
+ b as c1511,
+ b as c1512,
+ b as c1513,
+ b as c1514,
+ b as c1515,
+ b as c1516,
+ b as c1517,
+ b as c1518,
+ b as c1519,
+ b as c1520,
+ b as c1521,
+ b as c1522,
+ b as c1523,
+ b as c1524,
+ b as c1525,
+ b as c1526,
+ b as c1527,
+ b as c1528,
+ b as c1529,
+ b as c1530,
+ b as c1531,
+ b as c1532,
+ b as c1533,
+ b as c1534,
+ b as c1535,
+ b as c1536,
+ b as c1537,
+ b as c1538,
+ b as c1539,
+ b as c1540,
+ b as c1541,
+ b as c1542,
+ b as c1543,
+ b as c1544,
+ b as c1545,
+ b as c1546,
+ b as c1547,
+ b as c1548,
+ b as c1549,
+ b as c1550,
+ b as c1551,
+ b as c1552,
+ b as c1553,
+ b as c1554,
+ b as c1555,
+ b as c1556,
+ b as c1557,
+ b as c1558,
+ b as c1559,
+ b as c1560,
+ b as c1561,
+ b as c1562,
+ b as c1563,
+ b as c1564,
+ b as c1565,
+ b as c1566,
+ b as c1567,
+ b as c1568,
+ b as c1569,
+ b as c1570,
+ b as c1571,
+ b as c1572,
+ b as c1573,
+ b as c1574,
+ b as c1575,
+ b as c1576,
+ b as c1577,
+ b as c1578,
+ b as c1579,
+ b as c1580,
+ b as c1581,
+ b as c1582,
+ b as c1583,
+ b as c1584,
+ b as c1585,
+ b as c1586,
+ b as c1587,
+ b as c1588,
+ b as c1589,
+ b as c1590,
+ b as c1591,
+ b as c1592,
+ b as c1593,
+ b as c1594,
+ b as c1595,
+ b as c1596,
+ b as c1597,
+ b as c1598,
+ b as c1599,
+ b as c1600,
+ b as c1601,
+ b as c1602,
+ b as c1603,
+ b as c1604,
+ b as c1605,
+ b as c1606,
+ b as c1607,
+ b as c1608,
+ b as c1609,
+ b as c1610,
+ b as c1611,
+ b as c1612,
+ b as c1613,
+ b as c1614,
+ b as c1615,
+ b as c1616,
+ b as c1617,
+ b as c1618,
+ b as c1619,
+ b as c1620,
+ b as c1621,
+ b as c1622,
+ b as c1623,
+ b as c1624,
+ b as c1625,
+ b as c1626,
+ b as c1627,
+ b as c1628,
+ b as c1629,
+ b as c1630,
+ b as c1631,
+ b as c1632,
+ b as c1633,
+ b as c1634,
+ b as c1635,
+ b as c1636,
+ b as c1637,
+ b as c1638,
+ b as c1639,
+ b as c1640,
+ b as c1641,
+ b as c1642,
+ b as c1643,
+ b as c1644,
+ b as c1645,
+ b as c1646,
+ b as c1647,
+ b as c1648,
+ b as c1649,
+ b as c1650,
+ b as c1651,
+ b as c1652,
+ b as c1653,
+ b as c1654,
+ b as c1655,
+ b as c1656,
+ b as c1657,
+ b as c1658,
+ b as c1659,
+ b as c1660,
+ b as c1661,
+ b as c1662,
+ b as c1663,
+ b as c1664,
+ b as c1665,
+ b as c1666,
+ b as c1667,
+ b as c1668,
+ b as c1669,
+ b as c1670,
+ b as c1671,
+ b as c1672,
+ b as c1673,
+ b as c1674,
+ b as c1675,
+ b as c1676,
+ b as c1677,
+ b as c1678,
+ b as c1679,
+ b as c1680,
+ b as c1681,
+ b as c1682,
+ b as c1683,
+ b as c1684,
+ b as c1685,
+ b as c1686,
+ b as c1687,
+ b as c1688,
+ b as c1689,
+ b as c1690,
+ b as c1691,
+ b as c1692,
+ b as c1693,
+ b as c1694,
+ b as c1695,
+ b as c1696,
+ b as c1697,
+ b as c1698,
+ b as c1699,
+ b as c1700,
+ b as c1701,
+ b as c1702,
+ b as c1703,
+ b as c1704,
+ b as c1705,
+ b as c1706,
+ b as c1707,
+ b as c1708,
+ b as c1709,
+ b as c1710,
+ b as c1711,
+ b as c1712,
+ b as c1713,
+ b as c1714,
+ b as c1715,
+ b as c1716,
+ b as c1717,
+ b as c1718,
+ b as c1719,
+ b as c1720,
+ b as c1721,
+ b as c1722,
+ b as c1723,
+ b as c1724,
+ b as c1725,
+ b as c1726,
+ b as c1727,
+ b as c1728,
+ b as c1729,
+ b as c1730,
+ b as c1731,
+ b as c1732,
+ b as c1733,
+ b as c1734,
+ b as c1735,
+ b as c1736,
+ b as c1737,
+ b as c1738,
+ b as c1739,
+ b as c1740,
+ b as c1741,
+ b as c1742,
+ b as c1743,
+ b as c1744,
+ b as c1745,
+ b as c1746,
+ b as c1747,
+ b as c1748,
+ b as c1749,
+ b as c1750,
+ b as c1751,
+ b as c1752,
+ b as c1753,
+ b as c1754,
+ b as c1755,
+ b as c1756,
+ b as c1757,
+ b as c1758,
+ b as c1759,
+ b as c1760,
+ b as c1761,
+ b as c1762,
+ b as c1763,
+ b as c1764,
+ b as c1765,
+ b as c1766,
+ b as c1767,
+ b as c1768,
+ b as c1769,
+ b as c1770,
+ b as c1771,
+ b as c1772,
+ b as c1773,
+ b as c1774,
+ b as c1775,
+ b as c1776,
+ b as c1777,
+ b as c1778,
+ b as c1779,
+ b as c1780,
+ b as c1781,
+ b as c1782,
+ b as c1783,
+ b as c1784,
+ b as c1785,
+ b as c1786,
+ b as c1787,
+ b as c1788,
+ b as c1789,
+ b as c1790,
+ b as c1791,
+ b as c1792,
+ b as c1793,
+ b as c1794,
+ b as c1795,
+ b as c1796,
+ b as c1797,
+ b as c1798,
+ b as c1799,
+ b as c1800,
+ b as c1801,
+ b as c1802,
+ b as c1803,
+ b as c1804,
+ b as c1805,
+ b as c1806,
+ b as c1807,
+ b as c1808,
+ b as c1809,
+ b as c1810,
+ b as c1811,
+ b as c1812,
+ b as c1813,
+ b as c1814,
+ b as c1815,
+ b as c1816,
+ b as c1817,
+ b as c1818,
+ b as c1819,
+ b as c1820,
+ b as c1821,
+ b as c1822,
+ b as c1823,
+ b as c1824,
+ b as c1825,
+ b as c1826,
+ b as c1827,
+ b as c1828,
+ b as c1829,
+ b as c1830,
+ b as c1831,
+ b as c1832,
+ b as c1833,
+ b as c1834,
+ b as c1835,
+ b as c1836,
+ b as c1837,
+ b as c1838,
+ b as c1839,
+ b as c1840,
+ b as c1841,
+ b as c1842,
+ b as c1843,
+ b as c1844,
+ b as c1845,
+ b as c1846,
+ b as c1847,
+ b as c1848,
+ b as c1849,
+ b as c1850,
+ b as c1851,
+ b as c1852,
+ b as c1853,
+ b as c1854,
+ b as c1855,
+ b as c1856,
+ b as c1857,
+ b as c1858,
+ b as c1859,
+ b as c1860,
+ b as c1861,
+ b as c1862,
+ b as c1863,
+ b as c1864,
+ b as c1865,
+ b as c1866,
+ b as c1867,
+ b as c1868,
+ b as c1869,
+ b as c1870,
+ b as c1871,
+ b as c1872,
+ b as c1873,
+ b as c1874,
+ b as c1875,
+ b as c1876,
+ b as c1877,
+ b as c1878,
+ b as c1879,
+ b as c1880,
+ b as c1881,
+ b as c1882,
+ b as c1883,
+ b as c1884,
+ b as c1885,
+ b as c1886,
+ b as c1887,
+ b as c1888,
+ b as c1889,
+ b as c1890,
+ b as c1891,
+ b as c1892,
+ b as c1893,
+ b as c1894,
+ b as c1895,
+ b as c1896,
+ b as c1897,
+ b as c1898,
+ b as c1899,
+ b as c1900,
+ b as c1901,
+ b as c1902,
+ b as c1903,
+ b as c1904,
+ b as c1905,
+ b as c1906,
+ b as c1907,
+ b as c1908,
+ b as c1909,
+ b as c1910,
+ b as c1911,
+ b as c1912,
+ b as c1913,
+ b as c1914,
+ b as c1915,
+ b as c1916,
+ b as c1917,
+ b as c1918,
+ b as c1919,
+ b as c1920,
+ b as c1921,
+ b as c1922,
+ b as c1923,
+ b as c1924,
+ b as c1925,
+ b as c1926,
+ b as c1927,
+ b as c1928,
+ b as c1929,
+ b as c1930,
+ b as c1931,
+ b as c1932,
+ b as c1933,
+ b as c1934,
+ b as c1935,
+ b as c1936,
+ b as c1937,
+ b as c1938,
+ b as c1939,
+ b as c1940,
+ b as c1941,
+ b as c1942,
+ b as c1943,
+ b as c1944,
+ b as c1945,
+ b as c1946,
+ b as c1947,
+ b as c1948,
+ b as c1949,
+ b as c1950,
+ b as c1951,
+ b as c1952,
+ b as c1953,
+ b as c1954,
+ b as c1955,
+ b as c1956,
+ b as c1957,
+ b as c1958,
+ b as c1959,
+ b as c1960,
+ b as c1961,
+ b as c1962,
+ b as c1963,
+ b as c1964,
+ b as c1965,
+ b as c1966,
+ b as c1967,
+ b as c1968,
+ b as c1969,
+ b as c1970,
+ b as c1971,
+ b as c1972,
+ b as c1973,
+ b as c1974,
+ b as c1975,
+ b as c1976,
+ b as c1977,
+ b as c1978,
+ b as c1979,
+ b as c1980,
+ b as c1981,
+ b as c1982,
+ b as c1983,
+ b as c1984,
+ b as c1985,
+ b as c1986,
+ b as c1987,
+ b as c1988,
+ b as c1989,
+ b as c1990,
+ b as c1991,
+ b as c1992,
+ b as c1993,
+ b as c1994,
+ b as c1995,
+ b as c1996,
+ b as c1997,
+ b as c1998,
+ b as c1999,
+ b as c2000,
+ b as c2001,
+ b as c2002,
+ b as c2003,
+ b as c2004,
+ b as c2005,
+ b as c2006,
+ b as c2007,
+ b as c2008,
+ b as c2009,
+ b as c2010,
+ b as c2011,
+ b as c2012,
+ b as c2013,
+ b as c2014,
+ b as c2015,
+ b as c2016,
+ b as c2017,
+ b as c2018,
+ b as c2019,
+ b as c2020,
+ b as c2021,
+ b as c2022,
+ b as c2023,
+ b as c2024,
+ b as c2025,
+ b as c2026,
+ b as c2027,
+ b as c2028,
+ b as c2029,
+ b as c2030,
+ b as c2031,
+ b as c2032,
+ b as c2033,
+ b as c2034,
+ b as c2035,
+ b as c2036,
+ b as c2037,
+ b as c2038,
+ b as c2039,
+ b as c2040,
+ b as c2041,
+ b as c2042,
+ b as c2043,
+ b as c2044,
+ b as c2045,
+ b as c2046,
+ b as c2047,
+ b as c2048,
+ b as c2049,
+ b as c2050,
+ b as c2051,
+ b as c2052,
+ b as c2053,
+ b as c2054,
+ b as c2055,
+ b as c2056,
+ b as c2057,
+ b as c2058,
+ b as c2059,
+ b as c2060,
+ b as c2061,
+ b as c2062,
+ b as c2063,
+ b as c2064,
+ b as c2065,
+ b as c2066,
+ b as c2067,
+ b as c2068,
+ b as c2069,
+ b as c2070,
+ b as c2071,
+ b as c2072,
+ b as c2073,
+ b as c2074,
+ b as c2075,
+ b as c2076,
+ b as c2077,
+ b as c2078,
+ b as c2079,
+ b as c2080,
+ b as c2081,
+ b as c2082,
+ b as c2083,
+ b as c2084,
+ b as c2085,
+ b as c2086,
+ b as c2087,
+ b as c2088,
+ b as c2089,
+ b as c2090,
+ b as c2091,
+ b as c2092,
+ b as c2093,
+ b as c2094,
+ b as c2095,
+ b as c2096,
+ b as c2097,
+ b as c2098,
+ b as c2099,
+ b as c2100,
+ b as c2101,
+ b as c2102,
+ b as c2103,
+ b as c2104,
+ b as c2105,
+ b as c2106,
+ b as c2107,
+ b as c2108,
+ b as c2109,
+ b as c2110,
+ b as c2111,
+ b as c2112,
+ b as c2113,
+ b as c2114,
+ b as c2115,
+ b as c2116,
+ b as c2117,
+ b as c2118,
+ b as c2119,
+ b as c2120,
+ b as c2121,
+ b as c2122,
+ b as c2123,
+ b as c2124,
+ b as c2125,
+ b as c2126,
+ b as c2127,
+ b as c2128,
+ b as c2129,
+ b as c2130,
+ b as c2131,
+ b as c2132,
+ b as c2133,
+ b as c2134,
+ b as c2135,
+ b as c2136,
+ b as c2137,
+ b as c2138,
+ b as c2139,
+ b as c2140,
+ b as c2141,
+ b as c2142,
+ b as c2143,
+ b as c2144,
+ b as c2145,
+ b as c2146,
+ b as c2147,
+ b as c2148,
+ b as c2149,
+ b as c2150,
+ b as c2151,
+ b as c2152,
+ b as c2153,
+ b as c2154,
+ b as c2155,
+ b as c2156,
+ b as c2157,
+ b as c2158,
+ b as c2159,
+ b as c2160,
+ b as c2161,
+ b as c2162,
+ b as c2163,
+ b as c2164,
+ b as c2165,
+ b as c2166,
+ b as c2167,
+ b as c2168,
+ b as c2169,
+ b as c2170,
+ b as c2171,
+ b as c2172,
+ b as c2173,
+ b as c2174,
+ b as c2175,
+ b as c2176,
+ b as c2177,
+ b as c2178,
+ b as c2179,
+ b as c2180,
+ b as c2181,
+ b as c2182,
+ b as c2183,
+ b as c2184,
+ b as c2185,
+ b as c2186,
+ b as c2187,
+ b as c2188,
+ b as c2189,
+ b as c2190,
+ b as c2191,
+ b as c2192,
+ b as c2193,
+ b as c2194,
+ b as c2195,
+ b as c2196,
+ b as c2197,
+ b as c2198,
+ b as c2199,
+ b as c2200,
+ b as c2201,
+ b as c2202,
+ b as c2203,
+ b as c2204,
+ b as c2205,
+ b as c2206,
+ b as c2207,
+ b as c2208,
+ b as c2209,
+ b as c2210,
+ b as c2211,
+ b as c2212,
+ b as c2213,
+ b as c2214,
+ b as c2215,
+ b as c2216,
+ b as c2217,
+ b as c2218,
+ b as c2219,
+ b as c2220,
+ b as c2221,
+ b as c2222,
+ b as c2223,
+ b as c2224,
+ b as c2225,
+ b as c2226,
+ b as c2227,
+ b as c2228,
+ b as c2229,
+ b as c2230,
+ b as c2231,
+ b as c2232,
+ b as c2233,
+ b as c2234,
+ b as c2235,
+ b as c2236,
+ b as c2237,
+ b as c2238,
+ b as c2239,
+ b as c2240,
+ b as c2241,
+ b as c2242,
+ b as c2243,
+ b as c2244,
+ b as c2245,
+ b as c2246,
+ b as c2247,
+ b as c2248,
+ b as c2249,
+ b as c2250,
+ b as c2251,
+ b as c2252,
+ b as c2253,
+ b as c2254,
+ b as c2255,
+ b as c2256,
+ b as c2257,
+ b as c2258,
+ b as c2259,
+ b as c2260,
+ b as c2261,
+ b as c2262,
+ b as c2263,
+ b as c2264,
+ b as c2265,
+ b as c2266,
+ b as c2267,
+ b as c2268,
+ b as c2269,
+ b as c2270,
+ b as c2271,
+ b as c2272,
+ b as c2273,
+ b as c2274,
+ b as c2275,
+ b as c2276,
+ b as c2277,
+ b as c2278,
+ b as c2279,
+ b as c2280,
+ b as c2281,
+ b as c2282,
+ b as c2283,
+ b as c2284,
+ b as c2285,
+ b as c2286,
+ b as c2287,
+ b as c2288,
+ b as c2289,
+ b as c2290,
+ b as c2291,
+ b as c2292,
+ b as c2293,
+ b as c2294,
+ b as c2295,
+ b as c2296,
+ b as c2297,
+ b as c2298,
+ b as c2299,
+ b as c2300,
+ b as c2301,
+ b as c2302,
+ b as c2303,
+ b as c2304,
+ b as c2305,
+ b as c2306,
+ b as c2307,
+ b as c2308,
+ b as c2309,
+ b as c2310,
+ b as c2311,
+ b as c2312,
+ b as c2313,
+ b as c2314,
+ b as c2315,
+ b as c2316,
+ b as c2317,
+ b as c2318,
+ b as c2319,
+ b as c2320,
+ b as c2321,
+ b as c2322,
+ b as c2323,
+ b as c2324,
+ b as c2325,
+ b as c2326,
+ b as c2327,
+ b as c2328,
+ b as c2329,
+ b as c2330,
+ b as c2331,
+ b as c2332,
+ b as c2333,
+ b as c2334,
+ b as c2335,
+ b as c2336,
+ b as c2337,
+ b as c2338,
+ b as c2339,
+ b as c2340,
+ b as c2341,
+ b as c2342,
+ b as c2343,
+ b as c2344,
+ b as c2345,
+ b as c2346,
+ b as c2347,
+ b as c2348,
+ b as c2349,
+ b as c2350,
+ b as c2351,
+ b as c2352,
+ b as c2353,
+ b as c2354,
+ b as c2355,
+ b as c2356,
+ b as c2357,
+ b as c2358,
+ b as c2359,
+ b as c2360,
+ b as c2361,
+ b as c2362,
+ b as c2363,
+ b as c2364,
+ b as c2365,
+ b as c2366,
+ b as c2367,
+ b as c2368,
+ b as c2369,
+ b as c2370,
+ b as c2371,
+ b as c2372,
+ b as c2373,
+ b as c2374,
+ b as c2375,
+ b as c2376,
+ b as c2377,
+ b as c2378,
+ b as c2379,
+ b as c2380,
+ b as c2381,
+ b as c2382,
+ b as c2383,
+ b as c2384,
+ b as c2385,
+ b as c2386,
+ b as c2387,
+ b as c2388,
+ b as c2389,
+ b as c2390,
+ b as c2391,
+ b as c2392,
+ b as c2393,
+ b as c2394,
+ b as c2395,
+ b as c2396,
+ b as c2397,
+ b as c2398,
+ b as c2399,
+ b as c2400,
+ b as c2401,
+ b as c2402,
+ b as c2403,
+ b as c2404,
+ b as c2405,
+ b as c2406,
+ b as c2407,
+ b as c2408,
+ b as c2409,
+ b as c2410,
+ b as c2411,
+ b as c2412,
+ b as c2413,
+ b as c2414,
+ b as c2415,
+ b as c2416,
+ b as c2417,
+ b as c2418,
+ b as c2419,
+ b as c2420,
+ b as c2421,
+ b as c2422,
+ b as c2423,
+ b as c2424,
+ b as c2425,
+ b as c2426,
+ b as c2427,
+ b as c2428,
+ b as c2429,
+ b as c2430,
+ b as c2431,
+ b as c2432,
+ b as c2433,
+ b as c2434,
+ b as c2435,
+ b as c2436,
+ b as c2437,
+ b as c2438,
+ b as c2439,
+ b as c2440,
+ b as c2441,
+ b as c2442,
+ b as c2443,
+ b as c2444,
+ b as c2445,
+ b as c2446,
+ b as c2447,
+ b as c2448,
+ b as c2449,
+ b as c2450,
+ b as c2451,
+ b as c2452,
+ b as c2453,
+ b as c2454,
+ b as c2455,
+ b as c2456,
+ b as c2457,
+ b as c2458,
+ b as c2459,
+ b as c2460,
+ b as c2461,
+ b as c2462,
+ b as c2463,
+ b as c2464,
+ b as c2465,
+ b as c2466,
+ b as c2467,
+ b as c2468,
+ b as c2469,
+ b as c2470,
+ b as c2471,
+ b as c2472,
+ b as c2473,
+ b as c2474,
+ b as c2475,
+ b as c2476,
+ b as c2477,
+ b as c2478,
+ b as c2479,
+ b as c2480,
+ b as c2481,
+ b as c2482,
+ b as c2483,
+ b as c2484,
+ b as c2485,
+ b as c2486,
+ b as c2487,
+ b as c2488,
+ b as c2489,
+ b as c2490,
+ b as c2491,
+ b as c2492,
+ b as c2493,
+ b as c2494,
+ b as c2495,
+ b as c2496,
+ b as c2497,
+ b as c2498,
+ b as c2499,
+ b as c2500,
+ b as c2501,
+ b as c2503,
+ b as c2504,
+ b as c2505,
+ b as c2506,
+ b as c2507,
+ b as c2508,
+ b as c2509,
+ b as c2510,
+ b as c2511,
+ b as c2512,
+ b as c2513,
+ b as c2514,
+ b as c2515,
+ b as c2516,
+ b as c2517,
+ b as c2518,
+ b as c2519,
+ b as c2520,
+ b as c2521,
+ b as c2522,
+ b as c2523,
+ b as c2524,
+ b as c2525,
+ b as c2526,
+ b as c2527,
+ b as c2528,
+ b as c2529,
+ b as c2530,
+ b as c2531,
+ b as c2532,
+ b as c2533,
+ b as c2534,
+ b as c2535,
+ b as c2536,
+ b as c2537,
+ b as c2538,
+ b as c2539,
+ b as c2540,
+ b as c2541,
+ b as c2542,
+ b as c2543,
+ b as c2544,
+ b as c2545,
+ b as c2546,
+ b as c2547,
+ b as c2548,
+ b as c2549,
+ b as c2550,
+ b as c2551,
+ b as c2552,
+ b as c2553,
+ b as c2554,
+ b as c2555,
+ b as c2556,
+ b as c2557,
+ b as c2558,
+ b as c2559,
+ b as c2560,
+ b as c2561,
+ b as c2562,
+ b as c2563,
+ b as c2564,
+ b as c2565,
+ b as c2566,
+ b as c2567,
+ b as c2568,
+ b as c2569,
+ b as c2570,
+ b as c2571,
+ b as c2572,
+ b as c2573,
+ b as c2574,
+ b as c2575,
+ b as c2576,
+ b as c2577,
+ b as c2578,
+ b as c2579,
+ b as c2580,
+ b as c2581,
+ b as c2582,
+ b as c2583,
+ b as c2584,
+ b as c2585,
+ b as c2586,
+ b as c2587,
+ b as c2588,
+ b as c2589,
+ b as c2590,
+ b as c2591,
+ b as c2592,
+ b as c2593,
+ b as c2594,
+ b as c2595,
+ b as c2596,
+ b as c2597,
+ b as c2598,
+ b as c2599,
+ b as c2600,
+ b as c2601,
+ b as c2602,
+ b as c2603,
+ b as c2604,
+ b as c2605,
+ b as c2606,
+ b as c2607,
+ b as c2608,
+ b as c2609,
+ b as c2610,
+ b as c2611,
+ b as c2612,
+ b as c2613,
+ b as c2614,
+ b as c2615,
+ b as c2616,
+ b as c2617,
+ b as c2618,
+ b as c2619,
+ b as c2620,
+ b as c2621,
+ b as c2622,
+ b as c2623,
+ b as c2624,
+ b as c2626
+ from t1
+ ) as tt1;
+drop table t1;
diff --git a/mysql-test/main/union_innodb.result b/mysql-test/main/union_innodb.result
new file mode 100644
index 00000000000..876897fa865
--- /dev/null
+++ b/mysql-test/main/union_innodb.result
@@ -0,0 +1,34 @@
+#
+# MDEV-25636: Bug report: abortion in sql/sql_parse.cc:6294
+#
+CREATE TABLE t1 (i1 int)engine=innodb;
+INSERT INTO `t1` VALUES (62),(66);
+CREATE TABLE t2 (i1 int) engine=innodb;
+SELECT 1 FROM t1
+WHERE t1.i1 =( SELECT t1.i1 FROM t2
+UNION SELECT i1 FROM (t1 AS dt1 natural JOIN t2)
+window w1 as (partition by t1.i1));
+1
+drop table t1,t2;
+# Another testcase
+CREATE TABLE t1 (i3 int NOT NULL, i1 int , i2 int , i4 int , PRIMARY key(i2));
+INSERT INTO t1 VALUES (6,72,98,98),(46,1,6952,0);
+SELECT i1 FROM t1
+WHERE t1.i3 =
+(SELECT ref_4.i2 FROM t1 AS ref_4
+WHERE t1.i2 > (SELECT i3 FROM t1 ORDER BY i3 LIMIT 1 OFFSET 4)
+UNION
+SELECT ref_6.i2
+FROM (t1 AS ref_5 JOIN t1 AS ref_6 ON ((ref_6.i1 > ref_6.i2) OR (ref_5.i4 < ref_5.i4)))
+WHERE (t1.i2 >= t1.i2));
+i1
+drop table t1;
+#
+# MDEV-25761: Assertion `aggr != __null' failed in sub_select_postjoin_aggr
+#
+CREATE TABLE t1 ( a int NOT NULL PRIMARY KEY) engine=innodb;
+INSERT INTO t1 VALUES (0),(4),(31);
+CREATE TABLE t2 (i int) engine=innodb;
+DELETE FROM t1 WHERE t1.a =
+(SELECT t1.a FROM t2 UNION SELECT DISTINCT 52 FROM t2 r WHERE t1.a = t1.a);
+DROP TABLE t1,t2;
diff --git a/mysql-test/main/union_innodb.test b/mysql-test/main/union_innodb.test
new file mode 100644
index 00000000000..cb805a30bb4
--- /dev/null
+++ b/mysql-test/main/union_innodb.test
@@ -0,0 +1,45 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-25636: Bug report: abortion in sql/sql_parse.cc:6294
+--echo #
+
+CREATE TABLE t1 (i1 int)engine=innodb;
+INSERT INTO `t1` VALUES (62),(66);
+CREATE TABLE t2 (i1 int) engine=innodb;
+
+SELECT 1 FROM t1
+WHERE t1.i1 =( SELECT t1.i1 FROM t2
+ UNION SELECT i1 FROM (t1 AS dt1 natural JOIN t2)
+ window w1 as (partition by t1.i1));
+
+drop table t1,t2;
+
+--echo # Another testcase
+CREATE TABLE t1 (i3 int NOT NULL, i1 int , i2 int , i4 int , PRIMARY key(i2));
+INSERT INTO t1 VALUES (6,72,98,98),(46,1,6952,0);
+
+SELECT i1 FROM t1
+WHERE t1.i3 =
+ (SELECT ref_4.i2 FROM t1 AS ref_4
+ WHERE t1.i2 > (SELECT i3 FROM t1 ORDER BY i3 LIMIT 1 OFFSET 4)
+ UNION
+ SELECT ref_6.i2
+ FROM (t1 AS ref_5 JOIN t1 AS ref_6 ON ((ref_6.i1 > ref_6.i2) OR (ref_5.i4 < ref_5.i4)))
+ WHERE (t1.i2 >= t1.i2));
+
+drop table t1;
+
+--echo #
+--echo # MDEV-25761: Assertion `aggr != __null' failed in sub_select_postjoin_aggr
+--echo #
+
+CREATE TABLE t1 ( a int NOT NULL PRIMARY KEY) engine=innodb;
+INSERT INTO t1 VALUES (0),(4),(31);
+
+CREATE TABLE t2 (i int) engine=innodb;
+
+DELETE FROM t1 WHERE t1.a =
+ (SELECT t1.a FROM t2 UNION SELECT DISTINCT 52 FROM t2 r WHERE t1.a = t1.a);
+
+DROP TABLE t1,t2;
diff --git a/mysql-test/main/win.result b/mysql-test/main/win.result
index 095936f8b82..04251202261 100644
--- a/mysql-test/main/win.result
+++ b/mysql-test/main/win.result
@@ -4199,6 +4199,38 @@ drop procedure sp7;
drop view v1,v2;
drop table t1;
#
+# MDEV-17785: Window functions not working in ONLY_FULL_GROUP_BY mode
+#
+CREATE TABLE t1(a VARCHAR(10), b int);
+INSERT INTO t1 VALUES
+('Maths', 60),('Maths', 60),
+('Maths', 70),('Maths', 55),
+('Biology', 60), ('Biology', 70);
+SET @save_sql_mode= @@sql_mode;
+SET sql_mode = 'ONLY_FULL_GROUP_BY';
+SELECT
+RANK() OVER (PARTITION BY a ORDER BY b) AS rank,
+a, b FROM t1 ORDER BY a, b DESC;
+rank a b
+2 Biology 70
+1 Biology 60
+4 Maths 70
+2 Maths 60
+2 Maths 60
+1 Maths 55
+SET sql_mode= @save_sql_mode;
+DROP TABLE t1;
+CREATE TABLE t1(i int,j int);
+INSERT INTO t1 VALUES (1,1), (1,5),(1,4), (2,2),(2,5), (3,3),(4,4);
+INSERT INTO t1 VALUES (1,1), (1,5),(1,4), (2,2),(2,5), (3,3),(4,4);
+SELECT i, LAST_VALUE(COUNT(i)) OVER (PARTITION BY i ORDER BY j) FROM t1 GROUP BY i;
+i LAST_VALUE(COUNT(i)) OVER (PARTITION BY i ORDER BY j)
+1 6
+2 4
+3 2
+4 2
+DROP TABLE t1;
+#
# End of 10.2 tests
#
#
diff --git a/mysql-test/main/win.test b/mysql-test/main/win.test
index 43133386461..08c894add0a 100644
--- a/mysql-test/main/win.test
+++ b/mysql-test/main/win.test
@@ -2703,6 +2703,33 @@ drop view v1,v2;
drop table t1;
--echo #
+--echo # MDEV-17785: Window functions not working in ONLY_FULL_GROUP_BY mode
+--echo #
+
+CREATE TABLE t1(a VARCHAR(10), b int);
+
+INSERT INTO t1 VALUES
+('Maths', 60),('Maths', 60),
+('Maths', 70),('Maths', 55),
+('Biology', 60), ('Biology', 70);
+
+SET @save_sql_mode= @@sql_mode;
+SET sql_mode = 'ONLY_FULL_GROUP_BY';
+
+SELECT
+ RANK() OVER (PARTITION BY a ORDER BY b) AS rank,
+ a, b FROM t1 ORDER BY a, b DESC;
+
+SET sql_mode= @save_sql_mode;
+DROP TABLE t1;
+
+CREATE TABLE t1(i int,j int);
+INSERT INTO t1 VALUES (1,1), (1,5),(1,4), (2,2),(2,5), (3,3),(4,4);
+INSERT INTO t1 VALUES (1,1), (1,5),(1,4), (2,2),(2,5), (3,3),(4,4);
+SELECT i, LAST_VALUE(COUNT(i)) OVER (PARTITION BY i ORDER BY j) FROM t1 GROUP BY i;
+DROP TABLE t1;
+
+--echo #
--echo # End of 10.2 tests
--echo #
diff --git a/mysql-test/mariadb-test-run.pl b/mysql-test/mariadb-test-run.pl
index 62a70caca40..148fd0fdee4 100755
--- a/mysql-test/mariadb-test-run.pl
+++ b/mysql-test/mariadb-test-run.pl
@@ -1783,7 +1783,7 @@ sub collect_mysqld_features_from_running_server ()
}
mtr_add_arg($args, "--silent"); # Tab separated output
- mtr_add_arg($args, "-e '%s'", "use mysql; SHOW VARIABLES");
+ mtr_add_arg($args, "-e \"use mysql; SHOW VARIABLES\"");
my $cmd= "$mysql " . join(' ', @$args);
mtr_verbose("cmd: $cmd");
diff --git a/mysql-test/suite/encryption/r/tempfiles_encrypted.result b/mysql-test/suite/encryption/r/tempfiles_encrypted.result
index 4cf31200ee2..926a6d7e1df 100644
--- a/mysql-test/suite/encryption/r/tempfiles_encrypted.result
+++ b/mysql-test/suite/encryption/r/tempfiles_encrypted.result
@@ -4205,6 +4205,38 @@ drop procedure sp7;
drop view v1,v2;
drop table t1;
#
+# MDEV-17785: Window functions not working in ONLY_FULL_GROUP_BY mode
+#
+CREATE TABLE t1(a VARCHAR(10), b int);
+INSERT INTO t1 VALUES
+('Maths', 60),('Maths', 60),
+('Maths', 70),('Maths', 55),
+('Biology', 60), ('Biology', 70);
+SET @save_sql_mode= @@sql_mode;
+SET sql_mode = 'ONLY_FULL_GROUP_BY';
+SELECT
+RANK() OVER (PARTITION BY a ORDER BY b) AS rank,
+a, b FROM t1 ORDER BY a, b DESC;
+rank a b
+2 Biology 70
+1 Biology 60
+4 Maths 70
+2 Maths 60
+2 Maths 60
+1 Maths 55
+SET sql_mode= @save_sql_mode;
+DROP TABLE t1;
+CREATE TABLE t1(i int,j int);
+INSERT INTO t1 VALUES (1,1), (1,5),(1,4), (2,2),(2,5), (3,3),(4,4);
+INSERT INTO t1 VALUES (1,1), (1,5),(1,4), (2,2),(2,5), (3,3),(4,4);
+SELECT i, LAST_VALUE(COUNT(i)) OVER (PARTITION BY i ORDER BY j) FROM t1 GROUP BY i;
+i LAST_VALUE(COUNT(i)) OVER (PARTITION BY i ORDER BY j)
+1 6
+2 4
+3 2
+4 2
+DROP TABLE t1;
+#
# End of 10.2 tests
#
#
diff --git a/mysql-test/suite/rpl/t/rpl_relay_max_extension.test b/mysql-test/suite/rpl/t/rpl_relay_max_extension.test
index e1e087f2e0e..acca2f6954c 100644
--- a/mysql-test/suite/rpl/t/rpl_relay_max_extension.test
+++ b/mysql-test/suite/rpl/t/rpl_relay_max_extension.test
@@ -28,6 +28,8 @@
# showed
#
+# MDEV-27721 rpl.rpl_relay_max_extension test is not FreeBSD-compatible
+--source include/linux.inc
--source include/have_innodb.inc
--source include/have_binlog_format_row.inc
--let $rpl_topology=1->2
diff --git a/scripts/wsrep_sst_mariabackup.sh b/scripts/wsrep_sst_mariabackup.sh
index aa9442b0601..471b0e5f5b0 100644
--- a/scripts/wsrep_sst_mariabackup.sh
+++ b/scripts/wsrep_sst_mariabackup.sh
@@ -1,4 +1,7 @@
-#!/bin/bash -ue
+#!/usr/bin/env bash
+
+set -ue
+
# Copyright (C) 2017-2021 MariaDB
# Copyright (C) 2013 Percona Inc
#
diff --git a/scripts/wsrep_sst_mysqldump.sh b/scripts/wsrep_sst_mysqldump.sh
index bed2cac0a9a..1c8fc181328 100644
--- a/scripts/wsrep_sst_mysqldump.sh
+++ b/scripts/wsrep_sst_mysqldump.sh
@@ -1,4 +1,7 @@
-#!/bin/bash -ue
+#!/usr/bin/env bash
+
+set -ue
+
# Copyright (C) 2009-2015 Codership Oy
# Copyright (C) 2017-2021 MariaDB
#
diff --git a/scripts/wsrep_sst_rsync.sh b/scripts/wsrep_sst_rsync.sh
index 28dfed18218..cc73db5da87 100644
--- a/scripts/wsrep_sst_rsync.sh
+++ b/scripts/wsrep_sst_rsync.sh
@@ -1,4 +1,6 @@
-#!/bin/bash -ue
+#!/usr/bin/env bash
+
+set -ue
# Copyright (C) 2017-2021 MariaDB
# Copyright (C) 2010-2014 Codership Oy
@@ -740,7 +742,7 @@ EOF
elif [ "$OS" = 'Linux' ]; then
tmpfile=$(mktemp "--tmpdir=$tmpdir")
else
- tmpfile=$(TMPDIR="$tmpdir"; mktemp '-d')
+ tmpfile=$(TMPDIR="$tmpdir"; mktemp)
fi
wsrep_log_info "Extracting binlog files:"
diff --git a/sql/item_windowfunc.cc b/sql/item_windowfunc.cc
index a9e008b0b92..4fef4fa10b2 100644
--- a/sql/item_windowfunc.cc
+++ b/sql/item_windowfunc.cc
@@ -111,6 +111,8 @@ Item_window_func::fix_fields(THD *thd, Item **ref)
return true;
}
+ window_func()->mark_as_window_func_sum_expr();
+
/*
TODO: why the last parameter is 'ref' in this call? What if window_func
decides to substitute itself for something else and does *ref=.... ?
diff --git a/sql/records.cc b/sql/records.cc
index 09500b3acef..b3b69f19665 100644
--- a/sql/records.cc
+++ b/sql/records.cc
@@ -355,7 +355,7 @@ void end_read_record(READ_RECORD *info)
free_cache(info);
if (info->table)
{
- if (info->table->is_created())
+ if (info->table->db_stat) // if opened
(void) info->table->file->extra(HA_EXTRA_NO_CACHE);
if (info->read_record_func != rr_quick) // otherwise quick_range does it
(void) info->table->file->ha_index_or_rnd_end();
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 18f89eabfe3..0e55ba9816a 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -6457,8 +6457,11 @@ find_field_in_tables(THD *thd, Item_ident *item,
for (SELECT_LEX *sl= current_sel; sl && sl!=last_select;
sl=sl->outer_select())
{
- Item_in_subselect *in_subs=
- sl->master_unit()->item->get_IN_subquery();
+ Item *subs= sl->master_unit()->item;
+ if (!subs)
+ continue;
+
+ Item_in_subselect *in_subs= subs->get_IN_subquery();
if (in_subs &&
in_subs->substype() == Item_subselect::IN_SUBS &&
in_subs->test_strategy(SUBS_SEMI_JOIN))
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index 8c079b23963..3f86f209e6b 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -4965,7 +4965,21 @@ bool st_select_lex::optimize_unflattened_subqueries(bool const_only)
}
if (empty_union_result)
subquery_predicate->no_rows_in_result();
- if (!is_correlated_unit)
+
+ if (is_correlated_unit)
+ {
+ /*
+ Some parts of UNION are not correlated. This means we will need to
+ re-execute the whole UNION every time. Mark all parts of the UNION
+ as correlated so that they are prepared to be executed multiple
+ times (if we don't do that, some part of the UNION may free its
+ execution data at the end of first execution and crash on the second
+ execution)
+ */
+ for (SELECT_LEX *sl= un->first_select(); sl; sl= sl->next_select())
+ sl->uncacheable |= UNCACHEABLE_DEPENDENT;
+ }
+ else
un->uncacheable&= ~UNCACHEABLE_DEPENDENT;
subquery_predicate->is_correlated= is_correlated_unit;
}
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 5d25db296d0..c830064af51 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -11052,9 +11052,6 @@ window_func:
simple_window_func
|
sum_expr
- {
- ((Item_sum *) $1)->mark_as_window_func_sum_expr();
- }
|
function_call_generic
{
@@ -11067,8 +11064,6 @@ window_func:
thd->parse_error();
MYSQL_YYABORT;
}
-
- ((Item_sum *) $1)->mark_as_window_func_sum_expr();
}
;
diff --git a/storage/maria/ha_maria.cc b/storage/maria/ha_maria.cc
index 6ee0dd5af79..1764f76c3d5 100644
--- a/storage/maria/ha_maria.cc
+++ b/storage/maria/ha_maria.cc
@@ -2798,7 +2798,7 @@ int ha_maria::delete_table(const char *name)
void ha_maria::drop_table(const char *name)
{
- DBUG_ASSERT(file->s->temporary);
+ DBUG_ASSERT(!file || file->s->temporary);
(void) ha_close();
(void) maria_delete_table_files(name, 1, MY_WME);
}
diff --git a/storage/maria/ma_create.c b/storage/maria/ma_create.c
index df189c61043..9f18cea1d75 100644
--- a/storage/maria/ma_create.c
+++ b/storage/maria/ma_create.c
@@ -719,9 +719,10 @@ int maria_create(const char *name, enum data_file_type datafile_type,
share.base.extra_options|= MA_EXTRA_OPTIONS_INSERT_ORDER;
}
+ share.state.state.key_file_length= MY_ALIGN(info_length, maria_block_size);
DBUG_PRINT("info", ("info_length: %u", info_length));
/* There are only 16 bits for the total header length. */
- if (info_length > 65535)
+ if (share.state.state.key_file_length > 65535)
{
my_printf_error(HA_WRONG_CREATE_OPTION,
"Aria table '%s' has too many columns and/or "
@@ -778,8 +779,7 @@ int maria_create(const char *name, enum data_file_type datafile_type,
maria_set_all_keys_active(share.state.key_map, keys);
- share.base.keystart = share.state.state.key_file_length=
- MY_ALIGN(info_length, maria_block_size);
+ share.base.keystart = share.state.state.key_file_length;
share.base.max_key_block_length= maria_block_size;
share.base.max_key_length=ALIGN_SIZE(max_key_length+4);
share.base.records=ci->max_rows;
diff --git a/tpool/aio_simulated.cc b/tpool/aio_simulated.cc
index 93b2ae134b2..6b6fe71c8ab 100644
--- a/tpool/aio_simulated.cc
+++ b/tpool/aio_simulated.cc
@@ -72,7 +72,7 @@ struct WinIoInit
static WinIoInit win_io_init;
-int pread(const native_file_handle &h, void *buf, size_t count,
+SSIZE_T pread(const native_file_handle &h, void *buf, size_t count,
unsigned long long offset)
{
OVERLAPPED ov{};
@@ -81,6 +81,8 @@ int pread(const native_file_handle &h, void *buf, size_t count,
ov.Offset= uli.LowPart;
ov.OffsetHigh= uli.HighPart;
ov.hEvent= win_get_syncio_event();
+ if (count > 0xFFFFFFFF)
+ count= 0xFFFFFFFF;
if (ReadFile(h, buf, (DWORD) count, 0, &ov) ||
(GetLastError() == ERROR_IO_PENDING))
@@ -93,7 +95,7 @@ int pread(const native_file_handle &h, void *buf, size_t count,
return -1;
}
-int pwrite(const native_file_handle &h, void *buf, size_t count,
+SSIZE_T pwrite(const native_file_handle &h, void *buf, size_t count,
unsigned long long offset)
{
OVERLAPPED ov{};
@@ -102,7 +104,8 @@ int pwrite(const native_file_handle &h, void *buf, size_t count,
ov.Offset= uli.LowPart;
ov.OffsetHigh= uli.HighPart;
ov.hEvent= win_get_syncio_event();
-
+ if (count > 0xFFFFFFFF)
+ count= 0xFFFFFFFF;
if (WriteFile(h, buf, (DWORD) count, 0, &ov) ||
(GetLastError() == ERROR_IO_PENDING))
{
diff --git a/tpool/tpool.h b/tpool/tpool.h
index 8d14d637914..f857dddd57a 100644
--- a/tpool/tpool.h
+++ b/tpool/tpool.h
@@ -245,9 +245,9 @@ create_thread_pool_win(int min_threads= DEFAULT_MIN_POOL_THREADS,
opened with FILE_FLAG_OVERLAPPED, and bound to completion
port.
*/
-int pwrite(const native_file_handle &h, void *buf, size_t count,
+SSIZE_T pwrite(const native_file_handle &h, void *buf, size_t count,
unsigned long long offset);
-int pread(const native_file_handle &h, void *buf, size_t count,
+SSIZE_T pread(const native_file_handle &h, void *buf, size_t count,
unsigned long long offset);
HANDLE win_get_syncio_event();
#endif