2023-01-25 21:00:44 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-10-21 10:06:40 -04:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-22 22:42:37 +02:00
|
|
|
|
2014-10-09 18:43:25 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-03 10:22:42 +01:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:07:57 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2014-05-20 13:38:33 -04:00
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-09-17 10:17:39 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-14 17:55:44 -08:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2018-12-11 13:31:40 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2012-07-27 15:08:03 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2016-03-10 11:31:35 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2018-05-22 18:26:20 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2014-05-09 15:59:38 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
2015-07-03 10:22:42 +01:00
|
|
|
|
2018-05-22 18:26:20 -04:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2018-12-11 13:31:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-07 23:15:36 +01:00
|
|
|
|
2018-12-11 13:31:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-28 20:58:45 -04:00
|
|
|
|
|
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-23 13:35:55 -04:00
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-24 15:48:03 -08:00
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-24 15:48:03 -08:00
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-06 15:40:57 +01:00
|
|
|
|
2016-06-05 14:31:41 -05:00
|
|
|
|
2016-05-02 20:16:21 -04:00
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-22 14:32:51 -04:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2014-05-22 14:32:51 -04:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2016-03-10 11:31:35 -05:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2016-03-10 11:31:35 -05:00
|
|
|
|
|
|
|
|
|
2014-05-22 14:32:51 -04:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-05-22 14:32:51 -04:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-05 21:17:20 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-10-19 07:52:44 -04:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
|
|
|
|
|
2014-10-19 07:52:44 -04:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
|
|
|
|
|
2014-10-19 07:52:44 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-03 15:46:42 +00:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2024-03-28 09:41:46 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-19 07:52:44 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2024-03-28 09:41:46 +01:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-10-19 07:52:44 -04:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-21 13:20:46 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-21 13:20:46 -04:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2015-07-21 13:20:46 -04:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:45 +00:00
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2013-03-01 22:45:45 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:03 +01:00
|
|
|
|
2013-03-01 22:45:45 +00:00
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2017-08-23 19:10:32 +02:00
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
2013-03-01 22:45:45 +00:00
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2017-08-23 19:10:32 +02:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:14 +01:00
|
|
|
|
|
|
|
|
|
2017-01-27 08:30:47 -07:00
|
|
|
|
2012-07-27 15:08:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-05 14:32:04 -05:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2022-03-10 11:45:58 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-12-17 13:43:31 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-06-13 13:57:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 13:57:09 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 13:57:09 +01:00
|
|
|
|
2013-12-11 14:01:20 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 13:57:09 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2015-05-13 17:53:13 -04:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-22 13:34:49 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-03-22 13:34:49 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-03-22 13:34:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-18 09:50:38 +08:00
|
|
|
|
2023-03-22 13:34:49 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-27 08:30:47 -07:00
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2015-05-13 17:53:13 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2012-07-27 15:08:05 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2012-07-27 15:08:05 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
2014-10-10 15:27:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:05 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-01 23:42:29 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2019-01-15 13:27:01 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-15 13:27:01 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2019-01-15 13:27:01 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-15 13:27:01 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2019-01-15 13:27:01 -05:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-24 15:48:03 -08:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-18 15:27:06 +08:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-23 18:53:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2017-06-23 18:53:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-24 10:11:05 +01:00
|
|
|
|
2022-01-24 10:10:53 +01:00
|
|
|
|
|
|
|
|
|
2023-01-25 23:31:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-24 10:10:53 +01:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
2022-01-24 10:10:53 +01:00
|
|
|
|
2025-11-24 15:48:03 -08:00
|
|
|
|
|
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
2016-05-04 14:12:42 -04:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-17 13:19:11 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 13:19:11 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-12-17 13:19:11 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-31 17:27:02 -04:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
2014-10-09 19:20:21 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2014-10-09 19:20:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2014-10-09 19:20:21 -04:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-09 19:20:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2018-07-31 17:27:02 -04:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-06-13 13:57:09 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-14 11:28:37 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2015-05-14 11:28:37 -04:00
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2015-05-14 11:28:37 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-15 13:31:21 -05:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-12-11 11:12:19 +00:00
|
|
|
|
|
|
|
|
|
2018-06-26 12:04:23 -04:00
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-12-11 11:12:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-26 12:04:23 -04:00
|
|
|
|
2014-12-11 11:12:19 +00:00
|
|
|
|
2018-06-26 12:04:23 -04:00
|
|
|
|
|
|
|
|
|
2014-12-11 11:12:19 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2013-12-04 19:16:11 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-08-22 09:56:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-22 09:56:18 -04:00
|
|
|
|
|
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
|
|
|
|
|
2013-08-22 09:56:18 -04:00
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
2013-08-22 09:56:18 -04:00
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-03 12:20:57 -05:00
|
|
|
|
2018-06-26 12:04:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-03 12:20:57 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-05 15:47:24 -05:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2014-05-22 14:32:51 -04:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
|
|
|
|
|
2013-12-20 18:09:02 -05:00
|
|
|
|
2013-12-05 15:47:24 -05:00
|
|
|
|
|
|
|
|
|
2013-12-05 16:03:33 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-05-22 14:32:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-19 08:23:09 -04:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
|
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2023-03-25 17:52:01 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 17:40:11 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-05 16:03:33 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:34 +00:00
|
|
|
|
|
|
|
|
|
2013-08-21 17:40:11 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-27 08:30:47 -07:00
|
|
|
|
|
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
2018-01-17 15:09:25 +00:00
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-05 16:03:33 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:34 +00:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-15 14:46:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2013-03-01 22:45:50 +00:00
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:34 +00:00
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2013-12-05 15:47:24 -05:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-05 15:47:24 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:34 +00:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
|
|
|
|
|
2014-05-22 22:42:37 +02:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
|
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2016-06-05 14:32:04 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-10-06 15:28:30 +01:00
|
|
|
|
|
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2014-10-06 15:28:30 +01:00
|
|
|
|
|
|
|
|
|
2023-02-16 15:29:44 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-05 14:32:04 -05:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2023-02-16 15:29:44 -05:00
|
|
|
|
2014-10-10 16:42:10 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-07 15:24:58 -08:00
|
|
|
|
|
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
2014-02-06 06:08:56 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dm thin: Flush data device before committing metadata
The thin provisioning target maintains per thin device mappings that map
virtual blocks to data blocks in the data device.
When we write to a shared block, in case of internal snapshots, or
provision a new block, in case of external snapshots, we copy the shared
block to a new data block (COW), update the mapping for the relevant
virtual block and then issue the write to the new data block.
Suppose the data device has a volatile write-back cache and the
following sequence of events occur:
1. We write to a shared block
2. A new data block is allocated
3. We copy the shared block to the new data block using kcopyd (COW)
4. We insert the new mapping for the virtual block in the btree for that
thin device.
5. The commit timeout expires and we commit the metadata, that now
includes the new mapping from step (4).
6. The system crashes and the data device's cache has not been flushed,
meaning that the COWed data are lost.
The next time we read that virtual block of the thin device we read it
from the data block allocated in step (2), since the metadata have been
successfully committed. The data are lost due to the crash, so we read
garbage instead of the old, shared data.
This has the following implications:
1. In case of writes to shared blocks, with size smaller than the pool's
block size (which means we first copy the whole block and then issue
the smaller write), we corrupt data that the user never touched.
2. In case of writes to shared blocks, with size equal to the device's
logical block size, we fail to provide atomic sector writes. When the
system recovers the user will read garbage from that sector instead
of the old data or the new data.
3. Even for writes to shared blocks, with size equal to the pool's block
size (overwrites), after the system recovers, the written sectors
will contain garbage instead of a random mix of sectors containing
either old data or new data, thus we fail again to provide atomic
sectors writes.
4. Even when the user flushes the thin device, because we first commit
the metadata and then pass down the flush, the same risk for
corruption exists (if the system crashes after the metadata have been
committed but before the flush is passed down to the data device.)
The only case which is unaffected is that of writes with size equal to
the pool's block size and with the FUA flag set. But, because FUA writes
trigger metadata commits, this case can trigger the corruption
indirectly.
Moreover, apart from internal and external snapshots, the same issue
exists for newly provisioned blocks, when block zeroing is enabled.
After the system recovers the provisioned blocks might contain garbage
instead of zeroes.
To solve this and avoid the potential data corruption we flush the
pool's data device **before** committing its metadata.
This ensures that the data blocks of any newly inserted mappings are
properly written to non-volatile storage and won't be lost in case of a
crash.
Cc: stable@vger.kernel.org
Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2019-12-04 16:07:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-10 11:45:58 -05:00
|
|
|
|
dm thin: Flush data device before committing metadata
The thin provisioning target maintains per thin device mappings that map
virtual blocks to data blocks in the data device.
When we write to a shared block, in case of internal snapshots, or
provision a new block, in case of external snapshots, we copy the shared
block to a new data block (COW), update the mapping for the relevant
virtual block and then issue the write to the new data block.
Suppose the data device has a volatile write-back cache and the
following sequence of events occur:
1. We write to a shared block
2. A new data block is allocated
3. We copy the shared block to the new data block using kcopyd (COW)
4. We insert the new mapping for the virtual block in the btree for that
thin device.
5. The commit timeout expires and we commit the metadata, that now
includes the new mapping from step (4).
6. The system crashes and the data device's cache has not been flushed,
meaning that the COWed data are lost.
The next time we read that virtual block of the thin device we read it
from the data block allocated in step (2), since the metadata have been
successfully committed. The data are lost due to the crash, so we read
garbage instead of the old, shared data.
This has the following implications:
1. In case of writes to shared blocks, with size smaller than the pool's
block size (which means we first copy the whole block and then issue
the smaller write), we corrupt data that the user never touched.
2. In case of writes to shared blocks, with size equal to the device's
logical block size, we fail to provide atomic sector writes. When the
system recovers the user will read garbage from that sector instead
of the old data or the new data.
3. Even for writes to shared blocks, with size equal to the pool's block
size (overwrites), after the system recovers, the written sectors
will contain garbage instead of a random mix of sectors containing
either old data or new data, thus we fail again to provide atomic
sectors writes.
4. Even when the user flushes the thin device, because we first commit
the metadata and then pass down the flush, the same risk for
corruption exists (if the system crashes after the metadata have been
committed but before the flush is passed down to the data device.)
The only case which is unaffected is that of writes with size equal to
the pool's block size and with the FUA flag set. But, because FUA writes
trigger metadata commits, this case can trigger the corruption
indirectly.
Moreover, apart from internal and external snapshots, the same issue
exists for newly provisioned blocks, when block zeroing is enabled.
After the system recovers the provisioned blocks might contain garbage
instead of zeroes.
To solve this and avoid the potential data corruption we flush the
pool's data device **before** committing its metadata.
This ensures that the data blocks of any newly inserted mappings are
properly written to non-volatile storage and won't be lost in case of a
crash.
Cc: stable@vger.kernel.org
Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2019-12-04 16:07:42 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2014-10-06 15:28:30 +01:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-01 23:42:29 +01:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-09 15:59:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-15 16:52:04 -04:00
|
|
|
|
2014-05-09 15:59:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-15 16:52:04 -04:00
|
|
|
|
|
|
|
|
|
2018-12-11 13:31:40 -05:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2015-07-15 16:52:04 -04:00
|
|
|
|
2014-05-09 15:59:38 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-06 09:03:12 +08:00
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2023-02-01 23:42:29 +01:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2023-02-01 23:42:29 +01:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-13 16:14:14 -04:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-16 17:21:24 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-20 14:27:28 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-02-14 18:10:55 -05:00
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
|
|
|
|
|
locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE()
Please do not apply this to mainline directly, instead please re-run the
coccinelle script shown below and apply its output.
For several reasons, it is desirable to use {READ,WRITE}_ONCE() in
preference to ACCESS_ONCE(), and new code is expected to use one of the
former. So far, there's been no reason to change most existing uses of
ACCESS_ONCE(), as these aren't harmful, and changing them results in
churn.
However, for some features, the read/write distinction is critical to
correct operation. To distinguish these cases, separate read/write
accessors must be used. This patch migrates (most) remaining
ACCESS_ONCE() instances to {READ,WRITE}_ONCE(), using the following
coccinelle script:
----
// Convert trivial ACCESS_ONCE() uses to equivalent READ_ONCE() and
// WRITE_ONCE()
// $ make coccicheck COCCI=/home/mark/once.cocci SPFLAGS="--include-headers" MODE=patch
virtual patch
@ depends on patch @
expression E1, E2;
@@
- ACCESS_ONCE(E1) = E2
+ WRITE_ONCE(E1, E2)
@ depends on patch @
expression E;
@@
- ACCESS_ONCE(E)
+ READ_ONCE(E)
----
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: davem@davemloft.net
Cc: linux-arch@vger.kernel.org
Cc: mpe@ellerman.id.au
Cc: shuah@kernel.org
Cc: snitzer@redhat.com
Cc: thor.thayer@linux.intel.com
Cc: tj@kernel.org
Cc: viro@zeniv.linux.org.uk
Cc: will.deacon@arm.com
Link: http://lkml.kernel.org/r/1508792849-3115-19-git-send-email-paulmck@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-23 14:07:29 -07:00
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-20 14:27:28 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-04 16:30:01 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-03-10 11:31:35 -05:00
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2014-05-09 15:59:38 +01:00
|
|
|
|
2014-05-20 13:38:33 -04:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-02 16:18:24 +08:00
|
|
|
|
|
|
|
|
|
2016-03-10 11:31:35 -05:00
|
|
|
|
2015-11-06 10:53:01 -05:00
|
|
|
|
2013-12-04 16:58:19 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2013-12-20 14:27:28 -05:00
|
|
|
|
|
|
|
|
|
2014-02-14 18:10:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-11 13:31:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:41 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
2015-07-20 15:29:37 +02:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-27 08:30:47 -07:00
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 09:41:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-10-10 09:41:09 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2012-12-21 20:23:33 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2013-03-20 17:21:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2023-06-16 17:21:24 -04:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
|
|
|
|
|
2024-10-29 15:19:37 +01:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
|
|
|
|
|
2022-04-15 06:52:55 +02:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-01 10:38:15 +02:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-04 16:58:19 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-20 14:27:28 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-05-19 01:01:01 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-03 10:22:42 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2022-11-29 10:48:47 +08:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2024-08-30 11:16:42 +08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2014-10-06 16:30:06 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:49 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-06 15:45:59 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2014-05-09 15:59:38 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2019-02-14 20:38:47 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2016-07-01 14:00:02 +01:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2016-03-10 11:31:35 -05:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
treewide: Use array_size() in vmalloc()
The vmalloc() function has no 2-factor argument form, so multiplication
factors need to be wrapped in array_size(). This patch replaces cases of:
vmalloc(a * b)
with:
vmalloc(array_size(a, b))
as well as handling cases of:
vmalloc(a * b * c)
with:
vmalloc(array3_size(a, b, c))
This does, however, attempt to ignore constant size factors like:
vmalloc(4 * 1024)
though any constants defined via macros get caught up in the conversion.
Any factors with a sizeof() of "unsigned char", "char", and "u8" were
dropped, since they're redundant.
The Coccinelle script used for this was:
// Fix redundant parens around sizeof().
@@
type TYPE;
expression THING, E;
@@
(
vmalloc(
- (sizeof(TYPE)) * E
+ sizeof(TYPE) * E
, ...)
|
vmalloc(
- (sizeof(THING)) * E
+ sizeof(THING) * E
, ...)
)
// Drop single-byte sizes and redundant parens.
@@
expression COUNT;
typedef u8;
typedef __u8;
@@
(
vmalloc(
- sizeof(u8) * (COUNT)
+ COUNT
, ...)
|
vmalloc(
- sizeof(__u8) * (COUNT)
+ COUNT
, ...)
|
vmalloc(
- sizeof(char) * (COUNT)
+ COUNT
, ...)
|
vmalloc(
- sizeof(unsigned char) * (COUNT)
+ COUNT
, ...)
|
vmalloc(
- sizeof(u8) * COUNT
+ COUNT
, ...)
|
vmalloc(
- sizeof(__u8) * COUNT
+ COUNT
, ...)
|
vmalloc(
- sizeof(char) * COUNT
+ COUNT
, ...)
|
vmalloc(
- sizeof(unsigned char) * COUNT
+ COUNT
, ...)
)
// 2-factor product with sizeof(type/expression) and identifier or constant.
@@
type TYPE;
expression THING;
identifier COUNT_ID;
constant COUNT_CONST;
@@
(
vmalloc(
- sizeof(TYPE) * (COUNT_ID)
+ array_size(COUNT_ID, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(TYPE) * COUNT_ID
+ array_size(COUNT_ID, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(TYPE) * (COUNT_CONST)
+ array_size(COUNT_CONST, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(TYPE) * COUNT_CONST
+ array_size(COUNT_CONST, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(THING) * (COUNT_ID)
+ array_size(COUNT_ID, sizeof(THING))
, ...)
|
vmalloc(
- sizeof(THING) * COUNT_ID
+ array_size(COUNT_ID, sizeof(THING))
, ...)
|
vmalloc(
- sizeof(THING) * (COUNT_CONST)
+ array_size(COUNT_CONST, sizeof(THING))
, ...)
|
vmalloc(
- sizeof(THING) * COUNT_CONST
+ array_size(COUNT_CONST, sizeof(THING))
, ...)
)
// 2-factor product, only identifiers.
@@
identifier SIZE, COUNT;
@@
vmalloc(
- SIZE * COUNT
+ array_size(COUNT, SIZE)
, ...)
// 3-factor product with 1 sizeof(type) or sizeof(expression), with
// redundant parens removed.
@@
expression THING;
identifier STRIDE, COUNT;
type TYPE;
@@
(
vmalloc(
- sizeof(TYPE) * (COUNT) * (STRIDE)
+ array3_size(COUNT, STRIDE, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(TYPE) * (COUNT) * STRIDE
+ array3_size(COUNT, STRIDE, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(TYPE) * COUNT * (STRIDE)
+ array3_size(COUNT, STRIDE, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(TYPE) * COUNT * STRIDE
+ array3_size(COUNT, STRIDE, sizeof(TYPE))
, ...)
|
vmalloc(
- sizeof(THING) * (COUNT) * (STRIDE)
+ array3_size(COUNT, STRIDE, sizeof(THING))
, ...)
|
vmalloc(
- sizeof(THING) * (COUNT) * STRIDE
+ array3_size(COUNT, STRIDE, sizeof(THING))
, ...)
|
vmalloc(
- sizeof(THING) * COUNT * (STRIDE)
+ array3_size(COUNT, STRIDE, sizeof(THING))
, ...)
|
vmalloc(
- sizeof(THING) * COUNT * STRIDE
+ array3_size(COUNT, STRIDE, sizeof(THING))
, ...)
)
// 3-factor product with 2 sizeof(variable), with redundant parens removed.
@@
expression THING1, THING2;
identifier COUNT;
type TYPE1, TYPE2;
@@
(
vmalloc(
- sizeof(TYPE1) * sizeof(TYPE2) * COUNT
+ array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
, ...)
|
vmalloc(
- sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+ array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
, ...)
|
vmalloc(
- sizeof(THING1) * sizeof(THING2) * COUNT
+ array3_size(COUNT, sizeof(THING1), sizeof(THING2))
, ...)
|
vmalloc(
- sizeof(THING1) * sizeof(THING2) * (COUNT)
+ array3_size(COUNT, sizeof(THING1), sizeof(THING2))
, ...)
|
vmalloc(
- sizeof(TYPE1) * sizeof(THING2) * COUNT
+ array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
, ...)
|
vmalloc(
- sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+ array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
, ...)
)
// 3-factor product, only identifiers, with redundant parens removed.
@@
identifier STRIDE, SIZE, COUNT;
@@
(
vmalloc(
- (COUNT) * STRIDE * SIZE
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- COUNT * (STRIDE) * SIZE
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- COUNT * STRIDE * (SIZE)
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- (COUNT) * (STRIDE) * SIZE
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- COUNT * (STRIDE) * (SIZE)
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- (COUNT) * STRIDE * (SIZE)
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- (COUNT) * (STRIDE) * (SIZE)
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
|
vmalloc(
- COUNT * STRIDE * SIZE
+ array3_size(COUNT, STRIDE, SIZE)
, ...)
)
// Any remaining multi-factor products, first at least 3-factor products
// when they're not all constants...
@@
expression E1, E2, E3;
constant C1, C2, C3;
@@
(
vmalloc(C1 * C2 * C3, ...)
|
vmalloc(
- E1 * E2 * E3
+ array3_size(E1, E2, E3)
, ...)
)
// And then all remaining 2 factors products when they're not all constants.
@@
expression E1, E2;
constant C1, C2;
@@
(
vmalloc(C1 * C2, ...)
|
vmalloc(
- E1 * E2
+ array_size(E1, E2)
, ...)
)
Signed-off-by: Kees Cook <keescook@chromium.org>
2018-06-12 14:27:11 -07:00
|
|
|
|
2025-08-06 20:27:04 +08:00
|
|
|
|
|
|
|
|
|
2015-07-03 10:22:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-03 10:22:42 +01:00
|
|
|
|
2018-05-20 18:25:53 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:07:59 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:07:59 +01:00
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2012-07-27 15:07:59 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:07:59 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2017-06-22 11:32:45 -07:00
|
|
|
|
2014-01-15 19:07:58 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dm thin: Flush data device before committing metadata
The thin provisioning target maintains per thin device mappings that map
virtual blocks to data blocks in the data device.
When we write to a shared block, in case of internal snapshots, or
provision a new block, in case of external snapshots, we copy the shared
block to a new data block (COW), update the mapping for the relevant
virtual block and then issue the write to the new data block.
Suppose the data device has a volatile write-back cache and the
following sequence of events occur:
1. We write to a shared block
2. A new data block is allocated
3. We copy the shared block to the new data block using kcopyd (COW)
4. We insert the new mapping for the virtual block in the btree for that
thin device.
5. The commit timeout expires and we commit the metadata, that now
includes the new mapping from step (4).
6. The system crashes and the data device's cache has not been flushed,
meaning that the COWed data are lost.
The next time we read that virtual block of the thin device we read it
from the data block allocated in step (2), since the metadata have been
successfully committed. The data are lost due to the crash, so we read
garbage instead of the old, shared data.
This has the following implications:
1. In case of writes to shared blocks, with size smaller than the pool's
block size (which means we first copy the whole block and then issue
the smaller write), we corrupt data that the user never touched.
2. In case of writes to shared blocks, with size equal to the device's
logical block size, we fail to provide atomic sector writes. When the
system recovers the user will read garbage from that sector instead
of the old data or the new data.
3. Even for writes to shared blocks, with size equal to the pool's block
size (overwrites), after the system recovers, the written sectors
will contain garbage instead of a random mix of sectors containing
either old data or new data, thus we fail again to provide atomic
sectors writes.
4. Even when the user flushes the thin device, because we first commit
the metadata and then pass down the flush, the same risk for
corruption exists (if the system crashes after the metadata have been
committed but before the flush is passed down to the data device.)
The only case which is unaffected is that of writes with size equal to
the pool's block size and with the FUA flag set. But, because FUA writes
trigger metadata commits, this case can trigger the corruption
indirectly.
Moreover, apart from internal and external snapshots, the same issue
exists for newly provisioned blocks, when block zeroing is enabled.
After the system recovers the provisioned blocks might contain garbage
instead of zeroes.
To solve this and avoid the potential data corruption we flush the
pool's data device **before** committing its metadata.
This ensures that the data blocks of any newly inserted mappings are
properly written to non-volatile storage and won't be lost in case of a
crash.
Cc: stable@vger.kernel.org
Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2019-12-04 16:07:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-13 15:41:53 -05:00
|
|
|
|
dm thin: Flush data device before committing metadata
The thin provisioning target maintains per thin device mappings that map
virtual blocks to data blocks in the data device.
When we write to a shared block, in case of internal snapshots, or
provision a new block, in case of external snapshots, we copy the shared
block to a new data block (COW), update the mapping for the relevant
virtual block and then issue the write to the new data block.
Suppose the data device has a volatile write-back cache and the
following sequence of events occur:
1. We write to a shared block
2. A new data block is allocated
3. We copy the shared block to the new data block using kcopyd (COW)
4. We insert the new mapping for the virtual block in the btree for that
thin device.
5. The commit timeout expires and we commit the metadata, that now
includes the new mapping from step (4).
6. The system crashes and the data device's cache has not been flushed,
meaning that the COWed data are lost.
The next time we read that virtual block of the thin device we read it
from the data block allocated in step (2), since the metadata have been
successfully committed. The data are lost due to the crash, so we read
garbage instead of the old, shared data.
This has the following implications:
1. In case of writes to shared blocks, with size smaller than the pool's
block size (which means we first copy the whole block and then issue
the smaller write), we corrupt data that the user never touched.
2. In case of writes to shared blocks, with size equal to the device's
logical block size, we fail to provide atomic sector writes. When the
system recovers the user will read garbage from that sector instead
of the old data or the new data.
3. Even for writes to shared blocks, with size equal to the pool's block
size (overwrites), after the system recovers, the written sectors
will contain garbage instead of a random mix of sectors containing
either old data or new data, thus we fail again to provide atomic
sectors writes.
4. Even when the user flushes the thin device, because we first commit
the metadata and then pass down the flush, the same risk for
corruption exists (if the system crashes after the metadata have been
committed but before the flush is passed down to the data device.)
The only case which is unaffected is that of writes with size equal to
the pool's block size and with the FUA flag set. But, because FUA writes
trigger metadata commits, this case can trigger the corruption
indirectly.
Moreover, apart from internal and external snapshots, the same issue
exists for newly provisioned blocks, when block zeroing is enabled.
After the system recovers the provisioned blocks might contain garbage
instead of zeroes.
To solve this and avoid the potential data corruption we flush the
pool's data device **before** committing its metadata.
This ensures that the data blocks of any newly inserted mappings are
properly written to non-volatile storage and won't be lost in case of a
crash.
Cc: stable@vger.kernel.org
Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2019-12-04 16:07:42 +02:00
|
|
|
|
2022-01-24 10:10:56 +01:00
|
|
|
|
dm thin: Flush data device before committing metadata
The thin provisioning target maintains per thin device mappings that map
virtual blocks to data blocks in the data device.
When we write to a shared block, in case of internal snapshots, or
provision a new block, in case of external snapshots, we copy the shared
block to a new data block (COW), update the mapping for the relevant
virtual block and then issue the write to the new data block.
Suppose the data device has a volatile write-back cache and the
following sequence of events occur:
1. We write to a shared block
2. A new data block is allocated
3. We copy the shared block to the new data block using kcopyd (COW)
4. We insert the new mapping for the virtual block in the btree for that
thin device.
5. The commit timeout expires and we commit the metadata, that now
includes the new mapping from step (4).
6. The system crashes and the data device's cache has not been flushed,
meaning that the COWed data are lost.
The next time we read that virtual block of the thin device we read it
from the data block allocated in step (2), since the metadata have been
successfully committed. The data are lost due to the crash, so we read
garbage instead of the old, shared data.
This has the following implications:
1. In case of writes to shared blocks, with size smaller than the pool's
block size (which means we first copy the whole block and then issue
the smaller write), we corrupt data that the user never touched.
2. In case of writes to shared blocks, with size equal to the device's
logical block size, we fail to provide atomic sector writes. When the
system recovers the user will read garbage from that sector instead
of the old data or the new data.
3. Even for writes to shared blocks, with size equal to the pool's block
size (overwrites), after the system recovers, the written sectors
will contain garbage instead of a random mix of sectors containing
either old data or new data, thus we fail again to provide atomic
sectors writes.
4. Even when the user flushes the thin device, because we first commit
the metadata and then pass down the flush, the same risk for
corruption exists (if the system crashes after the metadata have been
committed but before the flush is passed down to the data device.)
The only case which is unaffected is that of writes with size equal to
the pool's block size and with the FUA flag set. But, because FUA writes
trigger metadata commits, this case can trigger the corruption
indirectly.
Moreover, apart from internal and external snapshots, the same issue
exists for newly provisioned blocks, when block zeroing is enabled.
After the system recovers the provisioned blocks might contain garbage
instead of zeroes.
To solve this and avoid the potential data corruption we flush the
pool's data device **before** committing its metadata.
This ensures that the data blocks of any newly inserted mappings are
properly written to non-volatile storage and won't be lost in case of a
crash.
Cc: stable@vger.kernel.org
Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2019-12-04 16:07:42 +02:00
|
|
|
|
|
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
2021-10-18 12:11:05 +02:00
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
2022-03-01 10:38:15 +02:00
|
|
|
|
|
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-01 23:42:29 +01:00
|
|
|
|
2013-05-10 14:37:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-08 13:02:55 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-20 22:39:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-08 13:02:55 +02:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-06-08 13:02:55 +02:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-13 15:04:37 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2013-03-01 22:45:47 +00:00
|
|
|
|
2023-02-27 23:23:17 +08:00
|
|
|
|
2012-09-26 23:45:46 +01:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:47 +00:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:08 +01:00
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-14 19:28:25 +08:00
|
|
|
|
|
|
|
|
|
2015-10-13 12:04:28 -04:00
|
|
|
|
2022-07-14 19:28:25 +08:00
|
|
|
|
2013-05-10 14:37:21 +01:00
|
|
|
|
2020-01-13 15:41:53 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:41 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2017-08-23 19:10:32 +02:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-05-15 16:21:38 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-04 10:25:53 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-19 18:57:50 +01:00
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-14 11:58:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-12 23:58:15 -05:00
|
|
|
|
2013-12-04 10:25:53 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
2013-12-04 19:51:33 -05:00
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-30 10:09:45 +08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-05-10 14:37:18 +01:00
|
|
|
|
|
|
|
|
|
2022-11-30 10:09:45 +08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
2022-11-30 10:09:45 +08:00
|
|
|
|
2013-05-10 14:37:19 +01:00
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2022-11-30 10:09:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2022-11-30 10:09:45 +08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-10-28 20:58:45 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-28 20:58:45 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2013-12-04 20:16:12 -05:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2012-03-28 18:41:27 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-10-28 20:58:45 -04:00
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-28 20:58:45 -04:00
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-17 18:03:35 +02:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2012-06-03 00:30:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2012-07-03 12:55:31 +01:00
|
|
|
|
2012-06-03 00:30:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2012-06-03 00:30:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:01 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2015-01-26 11:38:21 +00:00
|
|
|
|
|
|
|
|
|
2015-06-09 12:31:26 -04:00
|
|
|
|
2015-01-26 11:38:21 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-15 11:40:24 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2013-12-04 15:05:36 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-06-03 00:30:01 +01:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2013-08-21 17:30:40 -04:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
|
|
|
|
|
2014-03-03 16:03:26 +00:00
|
|
|
|
2018-09-10 16:50:09 +01:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:32 +00:00
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
2012-12-21 20:23:32 +00:00
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
2013-12-06 16:21:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2015-07-15 11:40:24 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dm thin: include metadata_low_watermark threshold in pool status
The metadata low watermark threshold is set by the kernel. But the
kernel depends on userspace to extend the thinpool metadata device when
the threshold is crossed.
Since the metadata low watermark threshold is not visible to userspace,
upon receiving an event, userspace cannot tell that the kernel wants the
metadata device extended, instead of some other eventing condition.
Making it visible (but not settable) enables userspace to affirmatively
know the kernel is asking for a metadata device extension, by comparing
metadata_low_watermark against nr_free_blocks_metadata, also reported in
status.
Current solutions like dmeventd have their own thresholds for extending
the data and metadata devices, and both devices are checked against
their thresholds on each event. This lessens the value of the kernel-set
threshold, since userspace will either extend the metadata device sooner,
when receiving another event; or will receive the metadata lowater event
and do nothing, if dmeventd's threshold is less than the kernel's.
(This second case is dangerous. The metadata lowater event will not be
re-sent, so no further event will be generated before the metadata
device is out if space, unless some other event causes userspace to
recheck its thresholds.)
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2018-07-27 15:51:57 -07:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2021-07-12 17:49:03 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-09 18:43:25 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-20 18:07:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-09 18:43:25 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-08-20 15:02:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-09 18:43:25 -04:00
|
|
|
|
|
|
|
|
|
2024-07-03 15:12:08 +02:00
|
|
|
|
2014-10-09 18:43:25 -04:00
|
|
|
|
2024-07-03 15:12:08 +02:00
|
|
|
|
|
|
|
|
|
2013-08-20 15:02:41 -04:00
|
|
|
|
2012-09-26 23:45:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-31 13:49:47 -04:00
|
|
|
|
|
|
|
|
|
2023-06-16 17:21:24 -04:00
|
|
|
|
|
|
|
|
|
2024-05-20 13:34:06 -04:00
|
|
|
|
2023-05-31 13:49:47 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-19 18:49:11 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-30 14:17:19 +08:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-26 15:48:30 +01:00
|
|
|
|
|
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
2018-08-23 13:35:55 -04:00
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-23 13:35:55 -04:00
|
|
|
|
2014-04-08 11:29:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2014-11-05 17:00:13 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-28 20:58:45 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2014-10-10 13:43:14 +01:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
2014-03-21 18:33:41 -04:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2019-01-20 22:39:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-08 13:02:55 +02:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2014-02-19 20:32:33 -05:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:00 +01:00
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2012-07-27 15:08:00 +01:00
|
|
|
|
2013-03-01 22:45:47 +00:00
|
|
|
|
2023-02-27 23:23:17 +08:00
|
|
|
|
2012-07-27 15:08:07 +01:00
|
|
|
|
2022-03-08 17:18:07 -05:00
|
|
|
|
2016-01-31 13:28:26 -05:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:08 +01:00
|
|
|
|
2013-03-01 22:45:47 +00:00
|
|
|
|
2023-03-02 09:35:37 +00:00
|
|
|
|
2012-03-28 18:41:29 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-23 13:35:55 -04:00
|
|
|
|
2014-12-17 07:59:59 -05:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
2019-10-15 08:16:29 -04:00
|
|
|
|
2014-03-20 21:17:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2014-02-19 20:32:33 -05:00
|
|
|
|
2014-11-07 15:09:46 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:41 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2013-10-11 15:44:27 -07:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-12-21 20:23:41 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:06 +02:00
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2012-12-21 20:23:40 +00:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-13 13:57:09 +01:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2012-10-12 21:02:10 +01:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-11 14:01:20 -05:00
|
|
|
|
2012-12-21 20:23:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-03 09:38:03 +02:00
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
|
|
|
|
|
2025-10-08 23:04:31 -04:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2023-01-25 21:14:58 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
2012-07-27 15:08:16 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2021-07-12 17:49:03 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-01 22:45:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
2012-07-27 15:08:02 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-09-08 08:56:13 -04:00
|
|
|
|
2023-05-31 13:49:47 -04:00
|
|
|
|
|
|
|
|
|
2024-05-20 13:34:06 -04:00
|
|
|
|
2023-05-31 13:49:47 -04:00
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2025-07-30 14:17:19 +08:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 18:41:28 +01:00
|
|
|
|
2014-06-13 14:47:24 +01:00
|
|
|
|
2014-03-03 15:52:28 +00:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 12:58:35 +01:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-25 01:43:50 +08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-25 01:43:50 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
2017-11-25 01:43:50 +08:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-25 01:43:50 +08:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-25 01:43:50 +08:00
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
2017-11-25 01:43:50 +08:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-03 00:30:00 +01:00
|
|
|
|
|
|
|
|
|
2018-01-05 21:17:20 -05:00
|
|
|
|
|
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-06 23:58:05 +01:00
|
|
|
|
2014-05-20 13:38:33 -04:00
|
|
|
|
|
|
|
|
|
2012-05-12 01:43:19 +01:00
|
|
|
|
2024-02-07 15:51:24 -05:00
|
|
|
|
2011-10-31 20:21:18 +00:00
|
|
|
|