Deprecated: Return type of RewindableGenerator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/YS6Ze on line 34
Deprecated: Return type of RewindableGenerator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/YS6Ze on line 21
Deprecated: Return type of RewindableGenerator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/YS6Ze on line 30
Deprecated: Return type of RewindableGenerator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/YS6Ze on line 26
Deprecated: Return type of RewindableGenerator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/YS6Ze on line 14
0 0
1 1
2 2
3 3
rewind
0 0
1 1
2 2