pyboy 2.5.1__tar.gz → 2.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyboy-2.5.1/pyboy.egg-info → pyboy-2.5.2}/PKG-INFO +3 -2
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/__main__.py +1 -1
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/rtc.py +4 -4
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/logging/__init__.py +1 -1
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/debug.py +6 -6
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_kirby_dream_land.py +1 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_pokemon_pinball.py +1 -1
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/window_sdl2.py +7 -5
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/pyboy.py +1 -1
- {pyboy-2.5.1 → pyboy-2.5.2/pyboy.egg-info}/PKG-INFO +3 -2
- {pyboy-2.5.1 → pyboy-2.5.2}/pyproject.toml +1 -1
- {pyboy-2.5.1 → pyboy-2.5.2}/LICENSE.md +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/MANIFEST.in +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/README.md +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/__init__.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/__init__.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/constants.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/gameshark.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/gameshark.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/memory_scanner.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/memory_scanner.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/screen.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/screen.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/sound.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/sound.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/sprite.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/sprite.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/tile.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/tile.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/tilemap.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/api/tilemap.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/conftest.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/__init__.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/bootrom.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/bootrom.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/bootrom_cgb.bin +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/bootrom_dmg.bin +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/__init__.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/base_mbc.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/base_mbc.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/cartridge.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/cartridge.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc1.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc1.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc2.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc2.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc3.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc3.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc5.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/mbc5.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cartridge/rtc.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cpu.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/cpu.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/interaction.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/interaction.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/lcd.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/lcd.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/mb.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/mb.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/opcodes.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/opcodes.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/opcodes_gen.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/ram.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/ram.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/sound.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/sound.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/timer.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/core/timer.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/default_rom.gb +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/logging/_logging.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/logging/logging.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/logging/logging.pyx +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/__init__.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/auto_pause.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/auto_pause.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/base_plugin.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/base_plugin.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/debug.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/debug_prompt.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/debug_prompt.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/font.txt +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_kirby_dream_land.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_pokemon_gen1.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_pokemon_gen1.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_pokemon_pinball.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_super_mario_land.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_super_mario_land.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_tetris.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/game_wrapper_tetris.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/manager.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/manager.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/manager_gen.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/record_replay.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/record_replay.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/rewind.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/rewind.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/screen_recorder.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/screen_recorder.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/screenshot_recorder.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/screenshot_recorder.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/window_null.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/window_null.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/window_open_gl.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/window_open_gl.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/plugins/window_sdl2.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/pyboy.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/utils.pxd +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy/utils.py +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy.egg-info/SOURCES.txt +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy.egg-info/dependency_links.txt +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy.egg-info/entry_points.txt +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy.egg-info/not-zip-safe +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy.egg-info/requires.txt +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/pyboy.egg-info/top_level.txt +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/setup.cfg +0 -0
- {pyboy-2.5.1 → pyboy-2.5.2}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyboy
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.2
|
|
4
4
|
Summary: Game Boy emulator written in Python
|
|
5
5
|
Author-email: Mads Ynddal <mads@ynddal.dk>
|
|
6
6
|
License: GNU Lesser General Public License
|
|
@@ -188,6 +188,7 @@ Requires-Dist: pyopengl; extra == "all"
|
|
|
188
188
|
Requires-Dist: markdown; extra == "all"
|
|
189
189
|
Requires-Dist: pdoc3; extra == "all"
|
|
190
190
|
Requires-Dist: gym; extra == "all"
|
|
191
|
+
Dynamic: license-file
|
|
191
192
|
|
|
192
193
|
<p align="center">
|
|
193
194
|
<img src="extras/README/pyboy.svg" width="480">
|
|
@@ -136,7 +136,7 @@ sound_parser.add_argument(
|
|
|
136
136
|
action="store_const",
|
|
137
137
|
const=100,
|
|
138
138
|
dest="sound_volume",
|
|
139
|
-
help="Deprecated setting. Now sets sound volume to 100
|
|
139
|
+
help="Deprecated setting. Now sets sound volume to 100%%. See '--sound-volume'",
|
|
140
140
|
)
|
|
141
141
|
sound_parser.add_argument(
|
|
142
142
|
"--sound-volume",
|
|
@@ -78,7 +78,7 @@ class RTC:
|
|
|
78
78
|
self.latch_rtc()
|
|
79
79
|
self.latch_enabled = True
|
|
80
80
|
else:
|
|
81
|
-
logger.
|
|
81
|
+
logger.debug("Invalid RTC command: %0.2x", value)
|
|
82
82
|
|
|
83
83
|
def getregister(self, register):
|
|
84
84
|
if not self.latch_enabled:
|
|
@@ -98,7 +98,7 @@ class RTC:
|
|
|
98
98
|
day_carry = self.day_carry << 7
|
|
99
99
|
return day_high + halt + day_carry
|
|
100
100
|
else:
|
|
101
|
-
logger.
|
|
101
|
+
logger.debug("Invalid RTC register: %0.4x", register)
|
|
102
102
|
|
|
103
103
|
def setregister(self, register, value):
|
|
104
104
|
if not self.latch_enabled:
|
|
@@ -126,9 +126,9 @@ class RTC:
|
|
|
126
126
|
if self.halt == 0:
|
|
127
127
|
pass # TODO: Start the timer
|
|
128
128
|
else:
|
|
129
|
-
logger.
|
|
129
|
+
logger.debug("Stopping RTC is not implemented!")
|
|
130
130
|
|
|
131
131
|
self.timezero = self.timezero - (t // 3600 // 24) - (day_high << 8)
|
|
132
132
|
self.day_carry = day_carry
|
|
133
133
|
else:
|
|
134
|
-
logger.
|
|
134
|
+
logger.debug("Invalid RTC register: %0.4x %0.2x", register, value)
|
|
@@ -14,7 +14,7 @@ from pyboy.api import Sprite, constants
|
|
|
14
14
|
from pyboy.api.tilemap import TileMap
|
|
15
15
|
from pyboy.plugins.base_plugin import PyBoyWindowPlugin
|
|
16
16
|
from pyboy.plugins.window_sdl2 import sdl2_event_pump
|
|
17
|
-
from pyboy.utils import WindowEvent
|
|
17
|
+
from pyboy.utils import WindowEvent, PyBoyAssertException
|
|
18
18
|
|
|
19
19
|
try:
|
|
20
20
|
import sdl2
|
|
@@ -78,8 +78,8 @@ class Debug(PyBoyWindowPlugin):
|
|
|
78
78
|
return
|
|
79
79
|
|
|
80
80
|
self.sdl2_event_pump = self.pyboy_argv.get("window") != "SDL2"
|
|
81
|
-
if self.sdl2_event_pump:
|
|
82
|
-
sdl2.
|
|
81
|
+
if self.sdl2_event_pump and sdl2.SDL_InitSubSystem(sdl2.SDL_INIT_VIDEO) < 0:
|
|
82
|
+
raise PyBoyAssertException(f"SDL_InitSubSystem video failed: {sdl2.SDL_GetError().decode()}")
|
|
83
83
|
|
|
84
84
|
# self.scale = 2
|
|
85
85
|
window_pos = 0
|
|
@@ -210,7 +210,7 @@ class Debug(PyBoyWindowPlugin):
|
|
|
210
210
|
for _ in range(3): # At least 2 to close
|
|
211
211
|
get_events()
|
|
212
212
|
time.sleep(0.1)
|
|
213
|
-
sdl2.
|
|
213
|
+
sdl2.SDL_QuitSubSystem(sdl2.SDL_INIT_VIDEO)
|
|
214
214
|
|
|
215
215
|
def enabled(self):
|
|
216
216
|
if self.pyboy_argv.get("debug"):
|
|
@@ -742,11 +742,11 @@ class MemoryWindow(BaseDebugWindow):
|
|
|
742
742
|
self.dst.y = y
|
|
743
743
|
for i, c in enumerate(text):
|
|
744
744
|
if not 0 <= c < 256:
|
|
745
|
-
logger.
|
|
745
|
+
logger.debug(f"Invalid character {c} in {bytes(text).decode('cp437')}") # This may error too...
|
|
746
746
|
c = 0
|
|
747
747
|
self.src.y = 16 * c
|
|
748
748
|
if self.dst.x > self.width - 8:
|
|
749
|
-
logger.
|
|
749
|
+
logger.debug(f"Text overrun while printing {bytes(text).decode('cp437')}")
|
|
750
750
|
break
|
|
751
751
|
sdl2.SDL_RenderCopy(self._sdlrenderer, self.font_texture, self.src, self.dst)
|
|
752
752
|
self.dst.x += 8
|
|
@@ -98,6 +98,7 @@ class GameWrapperKirbyDreamLand(PyBoyGameWrapper):
|
|
|
98
98
|
Kwargs:
|
|
99
99
|
* timer_div (int): Replace timer's DIV register with this value. Use `None` to randomize.
|
|
100
100
|
"""
|
|
101
|
+
self._game_over = False
|
|
101
102
|
PyBoyGameWrapper.reset_game(self, timer_div=timer_div)
|
|
102
103
|
|
|
103
104
|
def game_area(self):
|
|
@@ -8,7 +8,7 @@ import time
|
|
|
8
8
|
from ctypes import POINTER, c_ubyte, c_void_p, cast
|
|
9
9
|
|
|
10
10
|
from pyboy.plugins.base_plugin import PyBoyWindowPlugin
|
|
11
|
-
from pyboy.utils import WindowEvent, WindowEventMouse, cython_compiled
|
|
11
|
+
from pyboy.utils import WindowEvent, WindowEventMouse, cython_compiled, PyBoyAssertException
|
|
12
12
|
|
|
13
13
|
try:
|
|
14
14
|
import sdl2
|
|
@@ -162,7 +162,9 @@ class WindowSDL2(PyBoyWindowPlugin):
|
|
|
162
162
|
|
|
163
163
|
if not self.enabled():
|
|
164
164
|
return
|
|
165
|
-
|
|
165
|
+
|
|
166
|
+
if sdl2.SDL_InitSubSystem(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_GAMECONTROLLER) < 0:
|
|
167
|
+
raise PyBoyAssertException("SDL_InitSubSystem video failed: %s", sdl2.SDL_GetError().decode())
|
|
166
168
|
|
|
167
169
|
self._window = sdl2.SDL_CreateWindow(
|
|
168
170
|
b"PyBoy",
|
|
@@ -188,7 +190,7 @@ class WindowSDL2(PyBoyWindowPlugin):
|
|
|
188
190
|
|
|
189
191
|
def init_audio(self, mb):
|
|
190
192
|
if mb.sound.emulate:
|
|
191
|
-
if sdl2.
|
|
193
|
+
if sdl2.SDL_InitSubSystem(sdl2.SDL_INIT_AUDIO) >= 0:
|
|
192
194
|
# NOTE: We have to keep spec variables alive to avoid segfault
|
|
193
195
|
self.spec_want = sdl2.SDL_AudioSpec(self.mb.sound.sample_rate, sdl2.AUDIO_S8, 2, 128)
|
|
194
196
|
self.spec_have = sdl2.SDL_AudioSpec(0, 0, 0, 0)
|
|
@@ -217,7 +219,7 @@ class WindowSDL2(PyBoyWindowPlugin):
|
|
|
217
219
|
logger.warning("SDL_OpenAudioDevice failed: %s", sdl2.SDL_GetError().decode())
|
|
218
220
|
else:
|
|
219
221
|
self.sound_support = False
|
|
220
|
-
logger.warning("
|
|
222
|
+
logger.warning("SDL_InitSubSystem audio failed: %s", sdl2.SDL_GetError().decode())
|
|
221
223
|
else:
|
|
222
224
|
self.sound_support = False
|
|
223
225
|
|
|
@@ -303,4 +305,4 @@ class WindowSDL2(PyBoyWindowPlugin):
|
|
|
303
305
|
for _ in range(3): # At least 2 to close
|
|
304
306
|
get_events()
|
|
305
307
|
time.sleep(0.1)
|
|
306
|
-
sdl2.
|
|
308
|
+
sdl2.SDL_QuitSubSystem(sdl2.SDL_INIT_VIDEO | sdl2.SDL_INIT_GAMECONTROLLER)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyboy
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.2
|
|
4
4
|
Summary: Game Boy emulator written in Python
|
|
5
5
|
Author-email: Mads Ynddal <mads@ynddal.dk>
|
|
6
6
|
License: GNU Lesser General Public License
|
|
@@ -188,6 +188,7 @@ Requires-Dist: pyopengl; extra == "all"
|
|
|
188
188
|
Requires-Dist: markdown; extra == "all"
|
|
189
189
|
Requires-Dist: pdoc3; extra == "all"
|
|
190
190
|
Requires-Dist: gym; extra == "all"
|
|
191
|
+
Dynamic: license-file
|
|
191
192
|
|
|
192
193
|
<p align="center">
|
|
193
194
|
<img src="extras/README/pyboy.svg" width="480">
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|