Skip to content

Commit 4e8acc9

Browse files
author
Steve Kirkland
committed
More instances to remove
1 parent 817ec59 commit 4e8acc9

14 files changed

+0
-70
lines changed

features/default/automatic/automatic_app_start.feature

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Feature: Automatic app start instrumentation spans
88
And I wait to receive a span named "[AppStartPhase/App launching - post main()]"
99
And I wait to receive a span named "[AppStartPhase/UI init]"
1010
Then the trace "Content-Type" header equals "application/json"
11-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
1211
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
1312
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
1413
* every span field "kind" equals 1
@@ -52,7 +51,6 @@ Feature: Automatic app start instrumentation spans
5251
And I wait to receive a span named "[ViewLoadPhase/Subview layout]/Fixture.ViewController"
5352
And I wait to receive a span named "[ViewLoadPhase/viewDidLayoutSubviews]/Fixture.ViewController"
5453
Then the trace "Content-Type" header equals "application/json"
55-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
5654
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
5755
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
5856
* every span field "kind" equals 1
@@ -108,7 +106,6 @@ Feature: Automatic app start instrumentation spans
108106
And I wait to receive a span named "[ViewLoadPhase/viewDidLayoutSubviews]/Fixture.AutoInstrumentAppStartsLoadingScenario_ViewController"
109107
And I wait to receive a span named "[ViewLoadPhase/viewDataLoading]/Fixture.AutoInstrumentAppStartsLoadingScenario_ViewController"
110108
Then the trace "Content-Type" header equals "application/json"
111-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
112109
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
113110
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
114111
* every span field "kind" equals 1

features/default/automatic/automatic_network.feature

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ Feature: Automatic network instrumentation spans
55
And I wait for 2 seconds
66
And I wait to receive at least 2 spans
77
Then the trace "Content-Type" header equals "application/json"
8-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
98
* a span field "parentSpanId" exists
109
* a span field "parentSpanId" is greater than 0
1110
* a span field "parentSpanId" does not exist
@@ -33,7 +32,6 @@ Feature: Automatic network instrumentation spans
3332
And I wait for 2 seconds
3433
And I wait to receive at least 2 spans
3534
Then the trace "Content-Type" header equals "application/json"
36-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
3735
* every span field "parentSpanId" does not exist
3836
* a span field "name" equals "[HTTP/GET]"
3937
* a span string attribute "http.flavor" exists
@@ -58,7 +56,6 @@ Feature: Automatic network instrumentation spans
5856
Given I run "AutoInstrumentNetworkMultiple"
5957
And I wait to receive at least 10 spans
6058
Then the trace "Content-Type" header equals "application/json"
61-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
6259
* every span field "parentSpanId" does not exist
6360
* a span field "name" equals "[HTTP/GET]"
6461
* a span string attribute "http.flavor" exists
@@ -88,7 +85,6 @@ Feature: Automatic network instrumentation spans
8885
Given I run "AutoInstrumentNetworkNullURLScenario"
8986
And I wait to receive at least 1 span
9087
Then the trace "Content-Type" header equals "application/json"
91-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
9288
* every span field "parentSpanId" does not exist
9389
* a span field "name" equals "[HTTP/GET]"
9490
* a span string attribute "http.flavor" exists
@@ -111,7 +107,6 @@ Feature: Automatic network instrumentation spans
111107
And I wait for 2 seconds
112108
And I wait to receive at least 2 spans
113109
Then the trace "Content-Type" header equals "application/json"
114-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
115110
* every span field "parentSpanId" does not exist
116111
* a span field "name" equals "[HTTP/GET]"
117112
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
@@ -135,7 +130,6 @@ Feature: Automatic network instrumentation spans
135130
And I wait for 2 seconds
136131
And I wait to receive 1 span
137132
Then the trace "Content-Type" header equals "application/json"
138-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
139133
* every span field "parentSpanId" does not exist
140134
* a span field "name" equals "[HTTP/GET]"
141135
* a span string attribute "http.flavor" exists
@@ -157,7 +151,6 @@ Feature: Automatic network instrumentation spans
157151
Given I run "AutoInstrumentNetworkSharedSessionInvalidateScenario"
158152
And I wait to receive 1 span
159153
Then the trace "Content-Type" header equals "application/json"
160-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
161154
* every span field "parentSpanId" does not exist
162155
* a span field "name" equals "[HTTP/GET]"
163156
* a span string attribute "http.flavor" exists
@@ -183,7 +176,6 @@ Feature: Automatic network instrumentation spans
183176
Given I run "AutoInstrumentNetworkCallbackScenario"
184177
And I wait to receive 2 spans
185178
Then the trace "Content-Type" header equals "application/json"
186-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
187179
* every span field "name" equals "[HTTP/GET]"
188180
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
189181
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
@@ -200,7 +192,6 @@ Feature: Automatic network instrumentation spans
200192
# There will actually be any number of requests by this point since we're not filtering at all.
201193
And I wait to receive at least 1 span
202194
Then the trace "Content-Type" header equals "application/json"
203-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
204195
* a span field "name" equals "[HTTP/GET]"
205196
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
206197
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"

features/default/automatic/automatic_spans_generic_view_load.feature

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ Feature: Automatic instrumentation spans AutoInstrumentGenericViewLoadScenario
55
Given I run "AutoInstrumentGenericViewLoadScenario"
66
And I wait to receive at least 18 spans
77
Then the trace "Content-Type" header equals "application/json"
8-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
98
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
109
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
1110
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -42,7 +41,6 @@ Feature: Automatic instrumentation spans AutoInstrumentGenericViewLoadScenario
4241
Given I run "AutoInstrumentGenericViewLoadScenario2"
4342
And I wait to receive at least 18 spans
4443
Then the trace "Content-Type" header equals "application/json"
45-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
4644
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
4745
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
4846
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"

features/default/automatic/automatic_swift_ui.feature

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Feature: Automatic swift UI spans
44
Given I run "AutoInstrumentSwiftUIScenario"
55
And I wait to receive at least 3 spans
66
Then the trace "Content-Type" header equals "application/json"
7-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
87
* a span field "name" equals "[ViewLoad/SwiftUI]/My VStack view"
98
* a span field "name" equals "[ViewLoadPhase/body]/My VStack view"
109
* a span field "name" equals "[ViewLoadPhase/body]/My Image view"
@@ -28,7 +27,6 @@ Feature: Automatic swift UI spans
2827
Given I run "AutoInstrumentSwiftUIScenario"
2928
And I wait to receive at least 3 spans
3029
Then the trace "Content-Type" header equals "application/json"
31-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
3230
* a span field "name" equals "[ViewLoad/SwiftUI]/My VStack view"
3331
* a span field "name" equals "[ViewLoadPhase/body]/My VStack view"
3432
* a span field "name" equals "[ViewLoadPhase/body]/My Image view"
@@ -66,7 +64,6 @@ Feature: Automatic swift UI spans
6664
Given I run "AutoInstrumentSwiftUIDeferredScenario"
6765
And I wait to receive at least 2 spans
6866
Then the trace "Content-Type" header equals "application/json"
69-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
7067
* a span field "name" equals "[ViewLoadPhase/body]/vstack1"
7168
* a span field "name" equals "[ViewLoadPhase/body]/text1"
7269
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
@@ -98,7 +95,6 @@ Feature: Automatic swift UI spans
9895
Given I run "AutoInstrumentSwiftUIDeferredScenario"
9996
And I wait to receive at least 2 spans
10097
Then the trace "Content-Type" header equals "application/json"
101-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
10298
* a span field "name" equals "[ViewLoadPhase/body]/vstack1"
10399
* a span field "name" equals "[ViewLoadPhase/body]/text1"
104100
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"

features/default/automatic/automatic_view_load.feature

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Feature: Automatic view load instrumentation spans
44
Given I run "AutoInstrumentViewLoadScenario"
55
And I wait to receive at least 18 spans
66
Then the trace "Content-Type" header equals "application/json"
7-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
87
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
98
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
109
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -42,7 +41,6 @@ Feature: Automatic view load instrumentation spans
4241
And I wait for 2 seconds
4342
And I wait to receive at least 27 spans
4443
Then the trace "Content-Type" header equals "application/json"
45-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
4644
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
4745
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
4846
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -131,7 +129,6 @@ Feature: Automatic view load instrumentation spans
131129
And I wait for 2 seconds
132130
And I wait to receive at least 18 spans
133131
Then the trace "Content-Type" header equals "application/json"
134-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
135132
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
136133
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
137134
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -179,7 +176,6 @@ Feature: Automatic view load instrumentation spans
179176
And I wait for 2 seconds
180177
And I wait to receive at least 18 spans
181178
Then the trace "Content-Type" header equals "application/json"
182-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
183179
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
184180
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
185181
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -226,7 +222,6 @@ Feature: Automatic view load instrumentation spans
226222
Given I run "AutoInstrumentPreLoadedViewLoadScenario"
227223
And I wait to receive at least 19 spans
228224
Then the trace "Content-Type" header equals "application/json"
229-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
230225
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
231226
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
232227
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -279,7 +274,6 @@ Feature: Automatic view load instrumentation spans
279274
And I run the loaded scenario
280275
And I wait to receive at least 17 spans
281276
Then the trace "Content-Type" header equals "application/json"
282-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
283277
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
284278
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
285279
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -319,7 +313,6 @@ Feature: Automatic view load instrumentation spans
319313
And I run the loaded scenario
320314
And I wait to receive at least 18 spans
321315
Then the trace "Content-Type" header equals "application/json"
322-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
323316
* a span field "name" equals "[ViewLoad/UIKit]/Fixture.ViewController"
324317
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
325318
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
@@ -358,7 +351,6 @@ Feature: Automatic view load instrumentation spans
358351
And I wait to receive at least 27 spans
359352
Then the trace "Content-Type" header equals "application/json"
360353
* the trace "Bugsnag-Span-Sampling" header equals "1:27"
361-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
362354
* a span field "name" equals "[ViewLoadPhase/loadView]/Fixture.ViewController"
363355
* a span field "name" equals "[ViewLoadPhase/viewDidLoad]/Fixture.ViewController"
364356
* a span field "name" equals "[ViewLoadPhase/viewWillAppear]/Fixture.ViewController"

features/default/callbacks.feature

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Feature: Setting callbacks
44
Given I run "OnStartCallbackScenario"
55
And I wait for exactly 1 span
66
* the trace "Bugsnag-Span-Sampling" header equals "1:1"
7-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
87
* a span field "name" equals "OnStartCallbackScenario"
98
* a span bool attribute "start_callback_1" is true
109
* a span bool attribute "start_callback_2" is true
@@ -13,5 +12,4 @@ Feature: Setting callbacks
1312
Given I run "OnEndCallbackScenario"
1413
And I wait for exactly 1 span
1514
* the trace "Bugsnag-Span-Sampling" header equals "1:1"
16-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
1715
* a span field "name" equals "OnEndCallbackScenario"

features/default/conditions.feature

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ Feature: Conditions
66
Then the trace "Content-Type" header equals "application/json"
77
* the trace "Bugsnag-Integrity" header matches the regex "^sha1 [A-Fa-f0-9]{40}$"
88
* the trace "Bugsnag-Span-Sampling" header equals "1:1"
9-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
109
* every span field "name" equals "ConditionsBasicScenario"
1110
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
1211
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
@@ -23,7 +22,6 @@ Feature: Conditions
2322
Then the trace "Content-Type" header equals "application/json"
2423
* the trace "Bugsnag-Integrity" header matches the regex "^sha1 [A-Fa-f0-9]{40}$"
2524
* the trace "Bugsnag-Span-Sampling" header equals "1:1"
26-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
2725
* every span field "name" equals "ConditionsBlockingBlockedEndedSpanScenario"
2826
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
2927
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
@@ -40,7 +38,6 @@ Feature: Conditions
4038
Then the trace "Content-Type" header equals "application/json"
4139
* the trace "Bugsnag-Integrity" header matches the regex "^sha1 [A-Fa-f0-9]{40}$"
4240
* the trace "Bugsnag-Span-Sampling" header equals "1:1"
43-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
4441
* every span field "name" equals "ConditionsOverrideEndTimeBackwardsScenario"
4542
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
4643
* every span field "traceId" matches the regex "^[A-Fa-f0-9]{32}$"
@@ -56,7 +53,6 @@ Feature: Conditions
5653
And I wait to receive at least 2 spans
5754
Then the trace "Content-Type" header equals "application/json"
5855
* the trace "Bugsnag-Span-Sampling" header equals "1:2"
59-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
6056
* a span field "name" equals "SpanConditionsSimpleConditionScenarioSpan1"
6157
* a span field "name" equals "SpanConditionsSimpleConditionScenarioSpan2"
6258
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
@@ -72,7 +68,6 @@ Feature: Conditions
7268
And I wait to receive at least 2 spans
7369
Then the trace "Content-Type" header equals "application/json"
7470
* the trace "Bugsnag-Span-Sampling" header equals "1:2"
75-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
7671
* a span field "name" equals "SpanConditionsConditionTimedOutScenarioSpan1"
7772
* a span field "name" equals "SpanConditionsConditionTimedOutScenarioSpan2"
7873
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"
@@ -87,7 +82,6 @@ Feature: Conditions
8782
And I wait to receive at least 3 spans
8883
Then the trace "Content-Type" header equals "application/json"
8984
* the trace "Bugsnag-Span-Sampling" header equals "1:3"
90-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
9185
* a span field "name" equals "SpanConditionsMultipleConditionsScenarioSpan1"
9286
* a span field "name" equals "SpanConditionsMultipleConditionsScenarioSpan2"
9387
* a span field "name" equals "SpanConditionsMultipleConditionsScenarioSpan3"
@@ -104,7 +98,6 @@ Feature: Conditions
10498
And I wait to receive at least 1 span
10599
Then the trace "Content-Type" header equals "application/json"
106100
* the trace "Bugsnag-Span-Sampling" header equals "1:2"
107-
* the trace "Bugsnag-Sent-At" header matches the regex "^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ$"
108101
* a span field "name" equals "SpanConditionsBlockedSpanScenarioSpan1"
109102
* a span field "name" equals "SpanConditionsBlockedSpanScenarioSpan2"
110103
* every span field "spanId" matches the regex "^[A-Fa-f0-9]{16}$"

0 commit comments

Comments
 (0)