Skip to content

Commit 98eb532

Browse files
committed
Merge branch 'main' into 9056-clean-architecture
2 parents 52196a7 + 0c1ebc0 commit 98eb532

File tree

957 files changed

+26568
-16215
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

957 files changed

+26568
-16215
lines changed

.github/config/muted_ya.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ ydb/tests/olap/ttl_tiering ttl_delete_s3.py.TestDeleteS3Ttl.test_data_unchanged_
172172
ydb/tests/olap/ttl_tiering ttl_delete_s3.py.TestDeleteS3Ttl.test_ttl_delete
173173
ydb/tests/olap/ttl_tiering ttl_unavailable_s3.py.TestUnavailableS3.test
174174
ydb/tests/olap/ttl_tiering unstable_connection.py.TestUnstableConnection.test
175+
ydb/tests/olap sole chunk chunk
176+
ydb/tests/olap test_quota_exhaustion.py.TestYdbWorkload.test_delete
175177
ydb/tests/postgres_integrations/go-libpq [docker_wrapper_test.py] chunk chunk
176178
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[Test64BitErrorChecking]
177179
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestArrayValueBackend]
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
Language: Cpp
2+
AccessModifierOffset: -4
3+
ConstructorInitializerIndentWidth: 4
4+
AlignEscapedNewlinesLeft: false
5+
AlignEscapedNewlines: Left
6+
AlignTrailingComments:
7+
Kind: Always
8+
OverEmptyLines: 0
9+
AllowAllParametersOfDeclarationOnNextLine: true
10+
AllowShortBlocksOnASingleLine: false
11+
AllowShortIfStatementsOnASingleLine: false
12+
AllowShortLoopsOnASingleLine: false
13+
AllowShortFunctionsOnASingleLine: None
14+
AlwaysBreakTemplateDeclarations: true
15+
AlwaysBreakBeforeMultilineStrings: false
16+
BreakBeforeBinaryOperators: false
17+
BreakBeforeTernaryOperators: true
18+
BreakConstructorInitializersBeforeComma: true
19+
BinPackParameters: true
20+
ColumnLimit: 0
21+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
22+
DerivePointerAlignment: false
23+
ExperimentalAutoDetectBinPacking: false
24+
IndentCaseLabels: true
25+
IndentWrappedFunctionNames: false
26+
IndentFunctionDeclarationAfterType: false
27+
MaxEmptyLinesToKeep: 1
28+
KeepEmptyLinesAtTheStartOfBlocks: false
29+
NamespaceIndentation: All
30+
FixNamespaceComments: true
31+
ShortNamespaceLines: 0
32+
ObjCSpaceAfterProperty: false
33+
ObjCSpaceBeforeProtocolList: true
34+
PackConstructorInitializers: Never
35+
PenaltyBreakBeforeFirstCallParameter: 19
36+
PenaltyBreakComment: 300
37+
PenaltyBreakString: 1000
38+
PenaltyBreakFirstLessLess: 120
39+
PenaltyExcessCharacter: 1000000
40+
PenaltyReturnTypeOnItsOwnLine: 60
41+
PointerAlignment: Left
42+
SpacesBeforeTrailingComments: 1
43+
SpacesInSquareBrackets: false
44+
Cpp11BracedListStyle: true
45+
Standard: c++20
46+
IndentWidth: 4
47+
TabWidth: 4
48+
UseTab: Never
49+
BreakBeforeBraces: Attach
50+
InsertBraces: true
51+
52+
# NB: BraceWrapping has no effect unless BreakBeforeBraces is set to Custom
53+
BraceWrapping:
54+
AfterClass: false
55+
AfterControlStatement: false
56+
AfterEnum: false
57+
AfterFunction: false
58+
AfterNamespace: false
59+
AfterObjCDeclaration: false
60+
AfterStruct: false
61+
AfterUnion: false
62+
BeforeCatch: false
63+
BeforeElse: false
64+
IndentBraces: true
65+
66+
SpacesInParentheses: false
67+
SpacesInAngles: false
68+
SpaceInEmptyParentheses: false
69+
SpacesInCStyleCastParentheses: false
70+
SpacesInContainerLiterals: true
71+
SpaceBeforeAssignmentOperators: true
72+
ContinuationIndentWidth: 4
73+
CommentPragmas: '^ IWYU pragma:'
74+
ForEachMacros: [
75+
foreach,
76+
Q_FOREACH,
77+
BOOST_FOREACH,
78+
# Is not a foreach, but correct formatting is achieved
79+
Y_DEFER
80+
]
81+
IfMacros: [
82+
with_lock # Is not an if, but correct formatting is achieved
83+
]
84+
SpaceBeforeParens: ControlStatements
85+
DisableFormat: false
86+
SortIncludes: false
87+
IndentPPDirectives: BeforeHash
88+
89+
SpaceBeforeInheritanceColon: false
90+
NamespaceMacros: [Y_UNIT_TEST_SUITE]
91+
AttributeMacros: [Y_PRINTF_FORMAT, Y_NO_SANITIZE, Y_FORCE_INLINE, Y_NO_INLINE, Y_WARN_UNUSED_RESULT, Y_HIDDEN, Y_PUBLIC, Y_PURE_FUNCTION]
92+
IndentExternBlock: Indent
93+
TypenameMacros: [Y_THREAD, Y_STATIC_THREAD, Y_POD_THREAD, Y_POD_STATIC_THREAD]
94+
StatementAttributeLikeMacros: [ythrow]
95+
SpacesInLineCommentPrefix:
96+
Minimum: 1
97+
Maximum: 1
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"clang_format": "build/config/tests/cpp_style/config.clang-format"
2+
"clang_format": "build/config/tests/cpp_style/.clang-format"
33
}

build/config/tests/cpp_style/ya.make

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
LIBRARY()
22

33
RESOURCE_FILES(
4+
.clang-format
45
config.clang-format
56
)
67

build/config/tests/py_style/default_configs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"black": "build/config/tests/py_style/config.toml",
2+
"black": "build/config/tests/py_style/pyproject.toml",
33
"dummy_linter": "build/config/tests/py_style/dummy_linter_config.json",
44
"flake8": "build/config/tests/flake8/flake8.conf",
55
"py2_flake8": "build/config/tests/flake8/flake8.conf",
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[tool.black]
2+
line-length = 120
3+
skip-string-normalization = true

build/config/tests/py_style/ya.make

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ LIBRARY()
22

33
RESOURCE_FILES(
44
config.toml
5+
pyproject.toml
56
)
67

78
END()
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
{
22
"by_platform": {
33
"darwin": {
4-
"uri": "sbr:8069587979"
4+
"uri": "sbr:8103757184"
55
},
66
"darwin-arm64": {
7-
"uri": "sbr:8069587058"
7+
"uri": "sbr:8103755745"
88
},
99
"linux": {
10-
"uri": "sbr:8069590186"
10+
"uri": "sbr:8103760334"
1111
},
1212
"linux-aarch64": {
13-
"uri": "sbr:8069586009"
13+
"uri": "sbr:8103754551"
1414
},
1515
"win32-clang-cl": {
16-
"uri": "sbr:8069588665"
16+
"uri": "sbr:8103758621"
1717
}
1818
}
1919
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
{
22
"by_platform": {
33
"darwin": {
4-
"uri": "sbr:8069586455"
4+
"uri": "sbr:8103761804"
55
},
66
"darwin-arm64": {
7-
"uri": "sbr:8069585048"
7+
"uri": "sbr:8103760168"
88
},
99
"linux": {
10-
"uri": "sbr:8069588472"
10+
"uri": "sbr:8103765600"
1111
},
1212
"linux-aarch64": {
13-
"uri": "sbr:8069583885"
13+
"uri": "sbr:8103758578"
1414
},
1515
"win32-clang-cl": {
16-
"uri": "sbr:8069587643"
16+
"uri": "sbr:8103763594"
1717
}
1818
}
1919
}

build/mapping.conf.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,22 +213,27 @@
213213
"6635026187": "{registry_endpoint}/6635026187",
214214
"6816406420": "{registry_endpoint}/6816406420",
215215
"7257128993": "{registry_endpoint}/7257128993",
216+
"8110637758": "{registry_endpoint}/8110637758",
216217
"5599877541": "{registry_endpoint}/5599877541",
217218
"6635026071": "{registry_endpoint}/6635026071",
218219
"6816406079": "{registry_endpoint}/6816406079",
219220
"7257127197": "{registry_endpoint}/7257127197",
221+
"8110637457": "{registry_endpoint}/8110637457",
220222
"5599878769": "{registry_endpoint}/5599878769",
221223
"6635026422": "{registry_endpoint}/6635026422",
222224
"6816407233": "{registry_endpoint}/6816407233",
223225
"7257132940": "{registry_endpoint}/7257132940",
226+
"8110638456": "{registry_endpoint}/8110638456",
224227
"5599877008": "{registry_endpoint}/5599877008",
225228
"6635025898": "{registry_endpoint}/6635025898",
226229
"6816405372": "{registry_endpoint}/6816405372",
227230
"7257125308": "{registry_endpoint}/7257125308",
231+
"8110637017": "{registry_endpoint}/8110637017",
228232
"5599878473": "{registry_endpoint}/5599878473",
229233
"6635026287": "{registry_endpoint}/6635026287",
230234
"6816406896": "{registry_endpoint}/6816406896",
231235
"7257131047": "{registry_endpoint}/7257131047",
236+
"8110638108": "{registry_endpoint}/8110638108",
232237
"5841616607": "{registry_endpoint}/5841616607",
233238
"6255592114": "{registry_endpoint}/6255592114",
234239
"6607396810": "{registry_endpoint}/6607396810",
@@ -503,6 +508,7 @@
503508
"8018811524": "{registry_endpoint}/8018811524",
504509
"8029671029": "{registry_endpoint}/8029671029",
505510
"8067063302": "{registry_endpoint}/8067063302",
511+
"8119415565": "{registry_endpoint}/8119415565",
506512
"5486731632": "{registry_endpoint}/5486731632",
507513
"5514350352": "{registry_endpoint}/5514350352",
508514
"5514360398": "{registry_endpoint}/5514360398",
@@ -694,6 +700,7 @@
694700
"7949054326": "{registry_endpoint}/7949054326",
695701
"8000013577": "{registry_endpoint}/8000013577",
696702
"8069587979": "{registry_endpoint}/8069587979",
703+
"8103757184": "{registry_endpoint}/8103757184",
697704
"5766171800": "{registry_endpoint}/5766171800",
698705
"5805430761": "{registry_endpoint}/5805430761",
699706
"5829025456": "{registry_endpoint}/5829025456",
@@ -760,6 +767,7 @@
760767
"7949053519": "{registry_endpoint}/7949053519",
761768
"8000012780": "{registry_endpoint}/8000012780",
762769
"8069587058": "{registry_endpoint}/8069587058",
770+
"8103755745": "{registry_endpoint}/8103755745",
763771
"5766173070": "{registry_endpoint}/5766173070",
764772
"5805432830": "{registry_endpoint}/5805432830",
765773
"5829031598": "{registry_endpoint}/5829031598",
@@ -826,6 +834,7 @@
826834
"7949055512": "{registry_endpoint}/7949055512",
827835
"8000014871": "{registry_endpoint}/8000014871",
828836
"8069590186": "{registry_endpoint}/8069590186",
837+
"8103760334": "{registry_endpoint}/8103760334",
829838
"5766171341": "{registry_endpoint}/5766171341",
830839
"5805430188": "{registry_endpoint}/5805430188",
831840
"5829023352": "{registry_endpoint}/5829023352",
@@ -892,6 +901,7 @@
892901
"7949052736": "{registry_endpoint}/7949052736",
893902
"8000012216": "{registry_endpoint}/8000012216",
894903
"8069586009": "{registry_endpoint}/8069586009",
904+
"8103754551": "{registry_endpoint}/8103754551",
895905
"5766172695": "{registry_endpoint}/5766172695",
896906
"5805432230": "{registry_endpoint}/5805432230",
897907
"5829029743": "{registry_endpoint}/5829029743",
@@ -958,6 +968,7 @@
958968
"7949054892": "{registry_endpoint}/7949054892",
959969
"8000014239": "{registry_endpoint}/8000014239",
960970
"8069588665": "{registry_endpoint}/8069588665",
971+
"8103758621": "{registry_endpoint}/8103758621",
961972
"4307890075": "{registry_endpoint}/4307890075",
962973
"5517245192": "{registry_endpoint}/5517245192",
963974
"4307901240": "{registry_endpoint}/4307901240",
@@ -1119,8 +1130,10 @@
11191130
"5631258091": "{registry_endpoint}/5631258091",
11201131
"6561719783": "{registry_endpoint}/6561719783",
11211132
"6648883615": "{registry_endpoint}/6648883615",
1133+
"8107723363": "{registry_endpoint}/8107723363",
11221134
"6561716686": "{registry_endpoint}/6561716686",
11231135
"6648881012": "{registry_endpoint}/6648881012",
1136+
"8107722414": "{registry_endpoint}/8107722414",
11241137
"6184290684": "{registry_endpoint}/6184290684",
11251138
"6561765464": "{registry_endpoint}/6561765464",
11261139
"6184289846": "{registry_endpoint}/6184289846",
@@ -1454,22 +1467,27 @@
14541467
"6635026187": "contrib/python/black/bin/black for darwin",
14551468
"6816406420": "contrib/python/black/bin/black for darwin",
14561469
"7257128993": "contrib/python/black/bin/black for darwin",
1470+
"8110637758": "contrib/python/black/bin/black for darwin",
14571471
"5599877541": "contrib/python/black/bin/black for darwin-arm64",
14581472
"6635026071": "contrib/python/black/bin/black for darwin-arm64",
14591473
"6816406079": "contrib/python/black/bin/black for darwin-arm64",
14601474
"7257127197": "contrib/python/black/bin/black for darwin-arm64",
1475+
"8110637457": "contrib/python/black/bin/black for darwin-arm64",
14611476
"5599878769": "contrib/python/black/bin/black for linux",
14621477
"6635026422": "contrib/python/black/bin/black for linux",
14631478
"6816407233": "contrib/python/black/bin/black for linux",
14641479
"7257132940": "contrib/python/black/bin/black for linux",
1480+
"8110638456": "contrib/python/black/bin/black for linux",
14651481
"5599877008": "contrib/python/black/bin/black for linux-aarch64",
14661482
"6635025898": "contrib/python/black/bin/black for linux-aarch64",
14671483
"6816405372": "contrib/python/black/bin/black for linux-aarch64",
14681484
"7257125308": "contrib/python/black/bin/black for linux-aarch64",
1485+
"8110637017": "contrib/python/black/bin/black for linux-aarch64",
14691486
"5599878473": "contrib/python/black/bin/black for win32",
14701487
"6635026287": "contrib/python/black/bin/black for win32",
14711488
"6816406896": "contrib/python/black/bin/black for win32",
14721489
"7257131047": "contrib/python/black/bin/black for win32",
1490+
"8110638108": "contrib/python/black/bin/black for win32",
14731491
"5841616607": "contrib/tools/protoc/bin/protoc for linux",
14741492
"6255592114": "contrib/tools/python3/bin/python3 for darwin",
14751493
"6607396810": "contrib/tools/python3/bin/python3 for darwin",
@@ -1744,6 +1762,7 @@
17441762
"8018811524": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
17451763
"8029671029": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
17461764
"8067063302": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
1765+
"8119415565": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
17471766
"5486731632": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
17481767
"5514350352": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
17491768
"5514360398": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
@@ -1935,6 +1954,7 @@
19351954
"7949054326": "devtools/ymake/bin/ymake for darwin",
19361955
"8000013577": "devtools/ymake/bin/ymake for darwin",
19371956
"8069587979": "devtools/ymake/bin/ymake for darwin",
1957+
"8103757184": "devtools/ymake/bin/ymake for darwin",
19381958
"5766171800": "devtools/ymake/bin/ymake for darwin-arm64",
19391959
"5805430761": "devtools/ymake/bin/ymake for darwin-arm64",
19401960
"5829025456": "devtools/ymake/bin/ymake for darwin-arm64",
@@ -2001,6 +2021,7 @@
20012021
"7949053519": "devtools/ymake/bin/ymake for darwin-arm64",
20022022
"8000012780": "devtools/ymake/bin/ymake for darwin-arm64",
20032023
"8069587058": "devtools/ymake/bin/ymake for darwin-arm64",
2024+
"8103755745": "devtools/ymake/bin/ymake for darwin-arm64",
20042025
"5766173070": "devtools/ymake/bin/ymake for linux",
20052026
"5805432830": "devtools/ymake/bin/ymake for linux",
20062027
"5829031598": "devtools/ymake/bin/ymake for linux",
@@ -2067,6 +2088,7 @@
20672088
"7949055512": "devtools/ymake/bin/ymake for linux",
20682089
"8000014871": "devtools/ymake/bin/ymake for linux",
20692090
"8069590186": "devtools/ymake/bin/ymake for linux",
2091+
"8103760334": "devtools/ymake/bin/ymake for linux",
20702092
"5766171341": "devtools/ymake/bin/ymake for linux-aarch64",
20712093
"5805430188": "devtools/ymake/bin/ymake for linux-aarch64",
20722094
"5829023352": "devtools/ymake/bin/ymake for linux-aarch64",
@@ -2133,6 +2155,7 @@
21332155
"7949052736": "devtools/ymake/bin/ymake for linux-aarch64",
21342156
"8000012216": "devtools/ymake/bin/ymake for linux-aarch64",
21352157
"8069586009": "devtools/ymake/bin/ymake for linux-aarch64",
2158+
"8103754551": "devtools/ymake/bin/ymake for linux-aarch64",
21362159
"5766172695": "devtools/ymake/bin/ymake for win32-clang-cl",
21372160
"5805432230": "devtools/ymake/bin/ymake for win32-clang-cl",
21382161
"5829029743": "devtools/ymake/bin/ymake for win32-clang-cl",
@@ -2199,6 +2222,7 @@
21992222
"7949054892": "devtools/ymake/bin/ymake for win32-clang-cl",
22002223
"8000014239": "devtools/ymake/bin/ymake for win32-clang-cl",
22012224
"8069588665": "devtools/ymake/bin/ymake for win32-clang-cl",
2225+
"8103758621": "devtools/ymake/bin/ymake for win32-clang-cl",
22022226
"4307890075": "flake8_linter for linux",
22032227
"5517245192": "flake8_linter for linux",
22042228
"4307901240": "flake8_linter for linux-aarch64",
@@ -2360,8 +2384,10 @@
23602384
"5631258091": "python3.exe for win32",
23612385
"6561719783": "tools/black_linter/bin/black_linter for linux",
23622386
"6648883615": "tools/black_linter/bin/black_linter for linux",
2387+
"8107723363": "tools/black_linter/bin/black_linter for linux",
23632388
"6561716686": "tools/black_linter/bin/black_linter for linux-aarch64",
23642389
"6648881012": "tools/black_linter/bin/black_linter for linux-aarch64",
2390+
"8107722414": "tools/black_linter/bin/black_linter for linux-aarch64",
23652391
"6184290684": "tools/flake8_linter/bin/flake8_linter for linux",
23662392
"6561765464": "tools/flake8_linter/bin/flake8_linter for linux",
23672393
"6184289846": "tools/flake8_linter/bin/flake8_linter for linux-aarch64",
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64)
2-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067054769)
2+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119446934)
33
ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64)
4-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067052570)
4+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119444678)
55
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64)
6-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067059291)
6+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119452256)
77
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64)
8-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067050341)
8+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119442724)
99
ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64)
10-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067056916)
10+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119449312)
1111

1212
ENDIF()
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64)
2-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067059819)
2+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119412037)
33
ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64)
4-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067058189)
4+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119409839)
55
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64)
6-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067063302)
6+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119415565)
77
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64)
8-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067056908)
8+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119408227)
99
ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64)
10-
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8067061637)
10+
DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:8119413751)
1111

1212
ENDIF()

0 commit comments

Comments
 (0)