2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-04-13 11:12:52 -04:00
|
|
|
|
2020-07-16 23:09:45 +08:00
|
|
|
|
2019-10-22 10:03:08 +05:30
|
|
|
|
2019-04-13 11:12:52 -04:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-08-17 23:29:12 +08:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2020-06-01 02:20:57 +08:00
|
|
|
|
2024-04-10 02:34:38 +00:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2022-11-11 09:31:34 +08:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-11 09:31:28 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2023-05-15 15:10:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-15 15:10:21 +08:00
|
|
|
|
2023-05-15 15:10:20 +08:00
|
|
|
|
|
|
|
|
|
2023-05-15 15:10:25 +08:00
|
|
|
|
2023-05-15 15:10:20 +08:00
|
|
|
|
|
|
|
|
|
2023-05-15 15:10:21 +08:00
|
|
|
|
2023-05-15 15:10:20 +08:00
|
|
|
|
|
|
|
|
|
2023-05-15 15:10:25 +08:00
|
|
|
|
2023-05-15 15:10:20 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-15 15:10:22 +08:00
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-08-17 23:29:21 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-16 23:09:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-12-02 15:59:47 +01:00
|
|
|
|
2020-07-16 23:09:45 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
2020-07-16 23:09:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2020-07-16 23:09:47 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-26 20:50:39 +01:00
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2021-07-23 19:54:51 +08:00
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
2020-07-16 23:09:40 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2020-07-16 23:09:45 +08:00
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
2019-08-05 19:55:20 -05:00
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
2021-12-21 15:58:50 -08:00
|
|
|
|
2020-07-16 23:09:45 +08:00
|
|
|
|
2021-04-06 09:01:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-16 23:09:45 +08:00
|
|
|
|
2020-07-16 23:09:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-16 18:23:24 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-16 23:09:47 +08:00
|
|
|
|
2024-10-16 18:23:24 +08:00
|
|
|
|
2020-07-16 23:09:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-10-16 18:23:24 +08:00
|
|
|
|
2020-07-16 23:09:47 +08:00
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-26 20:50:39 +01:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-26 20:50:39 +01:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-08-17 23:29:21 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-08-17 23:29:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-08-17 23:29:21 +08:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-12-02 15:59:47 +01:00
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-12-02 15:59:47 +01:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-12-11 19:45:01 -06:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2024-04-10 02:34:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-01 02:21:02 +08:00
|
|
|
|
2024-10-16 18:23:24 +08:00
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-12-02 15:59:47 +01:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
2020-07-16 23:09:46 +08:00
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-07-16 23:09:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-07-16 23:09:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
2020-07-16 23:09:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-11 13:21:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-16 23:09:46 +08:00
|
|
|
|
|
|
|
|
|
module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-12-02 15:59:47 +01:00
|
|
|
|
2020-07-16 23:09:46 +08:00
|
|
|
|
2017-12-14 11:19:44 +05:30
|
|
|
|
|
|
|
|
|