diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..8ad74f7
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/Punk n Spray.csproj b/Punk n Spray.csproj
new file mode 100644
index 0000000..08aa7c7
--- /dev/null
+++ b/Punk n Spray.csproj
@@ -0,0 +1,7 @@
+
+
+ net8.0
+ true
+ PunknSpray
+
+
\ No newline at end of file
diff --git a/Punk n Spray.csproj.old b/Punk n Spray.csproj.old
new file mode 100644
index 0000000..856b9cc
--- /dev/null
+++ b/Punk n Spray.csproj.old
@@ -0,0 +1,9 @@
+
+
+ net6.0
+ net7.0
+ net8.0
+ true
+ PunknSpray
+
+
\ No newline at end of file
diff --git a/Punk n Spray.sln b/Punk n Spray.sln
new file mode 100644
index 0000000..98d625e
--- /dev/null
+++ b/Punk n Spray.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35327.3
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Punk n Spray", "Punk n Spray.csproj", "{C005D5B4-4AA9-4AB5-9302-5894E8C09077}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ ExportDebug|Any CPU = ExportDebug|Any CPU
+ ExportRelease|Any CPU = ExportRelease|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C005D5B4-4AA9-4AB5-9302-5894E8C09077}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C005D5B4-4AA9-4AB5-9302-5894E8C09077}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C005D5B4-4AA9-4AB5-9302-5894E8C09077}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
+ {C005D5B4-4AA9-4AB5-9302-5894E8C09077}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
+ {C005D5B4-4AA9-4AB5-9302-5894E8C09077}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
+ {C005D5B4-4AA9-4AB5-9302-5894E8C09077}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C89C68FE-281F-4E10-BB9F-924C53E19E35}
+ EndGlobalSection
+EndGlobal
diff --git a/art/icons/icon.svg b/art/icons/icon.svg
new file mode 100644
index 0000000..166c3d9
--- /dev/null
+++ b/art/icons/icon.svg
@@ -0,0 +1,32 @@
+
diff --git a/art/icons/icon.svg.import b/art/icons/icon.svg.import
new file mode 100644
index 0000000..c0dfdfc
--- /dev/null
+++ b/art/icons/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhuvglbn08hsv"
+path="res://.godot/imported/icon.svg-15d7e0c3d7b78d6209069300cf608aba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/icons/icon.svg"
+dest_files=["res://.godot/imported/icon.svg-15d7e0c3d7b78d6209069300cf608aba.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/art/sprites/Player Crouch-Idle 48x48.png b/art/sprites/Player Crouch-Idle 48x48.png
new file mode 100644
index 0000000..fe7b4ad
Binary files /dev/null and b/art/sprites/Player Crouch-Idle 48x48.png differ
diff --git a/art/sprites/Player Crouch-Idle 48x48.png.import b/art/sprites/Player Crouch-Idle 48x48.png.import
new file mode 100644
index 0000000..da4b216
--- /dev/null
+++ b/art/sprites/Player Crouch-Idle 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cks3q4o02s7gt"
+path="res://.godot/imported/Player Crouch-Idle 48x48.png-2db05b226fdfe4176e3f04ceff9d952e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/Player Crouch-Idle 48x48.png"
+dest_files=["res://.godot/imported/Player Crouch-Idle 48x48.png-2db05b226fdfe4176e3f04ceff9d952e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/Player Idle 48x48.png b/art/sprites/Player Idle 48x48.png
new file mode 100644
index 0000000..b618511
Binary files /dev/null and b/art/sprites/Player Idle 48x48.png differ
diff --git a/art/sprites/Player Idle 48x48.png.import b/art/sprites/Player Idle 48x48.png.import
new file mode 100644
index 0000000..7a23311
--- /dev/null
+++ b/art/sprites/Player Idle 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://wyisbm2pjg2l"
+path="res://.godot/imported/Player Idle 48x48.png-e51f8cf98fd6bb46ff4ddcf7384b5208.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/Player Idle 48x48.png"
+dest_files=["res://.godot/imported/Player Idle 48x48.png-e51f8cf98fd6bb46ff4ddcf7384b5208.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/PlayerWalk 48x48.png b/art/sprites/PlayerWalk 48x48.png
new file mode 100644
index 0000000..653bd2f
Binary files /dev/null and b/art/sprites/PlayerWalk 48x48.png differ
diff --git a/art/sprites/PlayerWalk 48x48.png.import b/art/sprites/PlayerWalk 48x48.png.import
new file mode 100644
index 0000000..4d497ed
--- /dev/null
+++ b/art/sprites/PlayerWalk 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://5j6cf0fssina"
+path="res://.godot/imported/PlayerWalk 48x48.png-2a0d3a3308bedabe0cbc50ffff9493a3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/PlayerWalk 48x48.png"
+dest_files=["res://.godot/imported/PlayerWalk 48x48.png-2a0d3a3308bedabe0cbc50ffff9493a3.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/player crouch-walk 48x48.png b/art/sprites/player crouch-walk 48x48.png
new file mode 100644
index 0000000..902ef2a
Binary files /dev/null and b/art/sprites/player crouch-walk 48x48.png differ
diff --git a/art/sprites/player crouch-walk 48x48.png.import b/art/sprites/player crouch-walk 48x48.png.import
new file mode 100644
index 0000000..043b57b
--- /dev/null
+++ b/art/sprites/player crouch-walk 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0l6m8kd0a36m"
+path="res://.godot/imported/player crouch-walk 48x48.png-46ea8ec46171c903770aab4f46bd7940.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/player crouch-walk 48x48.png"
+dest_files=["res://.godot/imported/player crouch-walk 48x48.png-46ea8ec46171c903770aab4f46bd7940.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/player land 48x48.png b/art/sprites/player land 48x48.png
new file mode 100644
index 0000000..2c24d6f
Binary files /dev/null and b/art/sprites/player land 48x48.png differ
diff --git a/art/sprites/player land 48x48.png.import b/art/sprites/player land 48x48.png.import
new file mode 100644
index 0000000..bee6aef
--- /dev/null
+++ b/art/sprites/player land 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://j5lj70ywebv1"
+path="res://.godot/imported/player land 48x48.png-49e414010d88de2b6c2bd61e2eb30d0c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/player land 48x48.png"
+dest_files=["res://.godot/imported/player land 48x48.png-49e414010d88de2b6c2bd61e2eb30d0c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/player new jump 48x48.png b/art/sprites/player new jump 48x48.png
new file mode 100644
index 0000000..2551816
Binary files /dev/null and b/art/sprites/player new jump 48x48.png differ
diff --git a/art/sprites/player new jump 48x48.png.import b/art/sprites/player new jump 48x48.png.import
new file mode 100644
index 0000000..8f48817
--- /dev/null
+++ b/art/sprites/player new jump 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bva7lbaacnj7a"
+path="res://.godot/imported/player new jump 48x48.png-92ebea596c2b8cc6b5849612a4986943.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/player new jump 48x48.png"
+dest_files=["res://.godot/imported/player new jump 48x48.png-92ebea596c2b8cc6b5849612a4986943.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/player run 48x48.png b/art/sprites/player run 48x48.png
new file mode 100644
index 0000000..aca5b55
Binary files /dev/null and b/art/sprites/player run 48x48.png differ
diff --git a/art/sprites/player run 48x48.png.import b/art/sprites/player run 48x48.png.import
new file mode 100644
index 0000000..6c21c03
--- /dev/null
+++ b/art/sprites/player run 48x48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmi2lvb6o4hbr"
+path="res://.godot/imported/player run 48x48.png-f48d7fd4157521c00ac4b1fb363b5984.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/player run 48x48.png"
+dest_files=["res://.godot/imported/player run 48x48.png-f48d7fd4157521c00ac4b1fb363b5984.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/tilemap-backgrounds.png b/art/sprites/tilemap-backgrounds.png
new file mode 100644
index 0000000..3e13040
Binary files /dev/null and b/art/sprites/tilemap-backgrounds.png differ
diff --git a/art/sprites/tilemap-backgrounds.png.import b/art/sprites/tilemap-backgrounds.png.import
new file mode 100644
index 0000000..ccbcfa5
--- /dev/null
+++ b/art/sprites/tilemap-backgrounds.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1vngsv0sphea"
+path="res://.godot/imported/tilemap-backgrounds.png-bee4dc998082a2ae6f5fd03b537ce46e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/tilemap-backgrounds.png"
+dest_files=["res://.godot/imported/tilemap-backgrounds.png-bee4dc998082a2ae6f5fd03b537ce46e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/tilemap-characters.png b/art/sprites/tilemap-characters.png
new file mode 100644
index 0000000..8b1285a
Binary files /dev/null and b/art/sprites/tilemap-characters.png differ
diff --git a/art/sprites/tilemap-characters.png.import b/art/sprites/tilemap-characters.png.import
new file mode 100644
index 0000000..e6d50be
--- /dev/null
+++ b/art/sprites/tilemap-characters.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b86ypj12qw38q"
+path="res://.godot/imported/tilemap-characters.png-e0de1ac861e6a21076b55ecb5ed06f78.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/tilemap-characters.png"
+dest_files=["res://.godot/imported/tilemap-characters.png-e0de1ac861e6a21076b55ecb5ed06f78.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/art/sprites/tilemap.png b/art/sprites/tilemap.png
new file mode 100644
index 0000000..798044f
Binary files /dev/null and b/art/sprites/tilemap.png differ
diff --git a/art/sprites/tilemap.png.import b/art/sprites/tilemap.png.import
new file mode 100644
index 0000000..95b119e
--- /dev/null
+++ b/art/sprites/tilemap.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cd58nu5mmatvc"
+path="res://.godot/imported/tilemap.png-6038b8e4ef25bceda96c5f544ea406f4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://art/sprites/tilemap.png"
+dest_files=["res://.godot/imported/tilemap.png-6038b8e4ef25bceda96c5f544ea406f4.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/fonts/CyberpunkRegular.ttf b/fonts/CyberpunkRegular.ttf
new file mode 100644
index 0000000..91b2512
Binary files /dev/null and b/fonts/CyberpunkRegular.ttf differ
diff --git a/fonts/CyberpunkRegular.ttf.import b/fonts/CyberpunkRegular.ttf.import
new file mode 100644
index 0000000..3809d82
--- /dev/null
+++ b/fonts/CyberpunkRegular.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c5gdximibdn8d"
+path="res://.godot/imported/CyberpunkRegular.ttf-1047bb36d19c55a67afa277079201533.fontdata"
+
+[deps]
+
+source_file="res://fonts/CyberpunkRegular.ttf"
+dest_files=["res://.godot/imported/CyberpunkRegular.ttf-1047bb36d19c55a67afa277079201533.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/fonts/CyberpunkTitles.ttf b/fonts/CyberpunkTitles.ttf
new file mode 100644
index 0000000..8d0d966
Binary files /dev/null and b/fonts/CyberpunkTitles.ttf differ
diff --git a/fonts/CyberpunkTitles.ttf.import b/fonts/CyberpunkTitles.ttf.import
new file mode 100644
index 0000000..82947f8
--- /dev/null
+++ b/fonts/CyberpunkTitles.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bdyntrp1j2lux"
+path="res://.godot/imported/CyberpunkTitles.ttf-c41249a54df0a82b7535a9a7d82c0a31.fontdata"
+
+[deps]
+
+source_file="res://fonts/CyberpunkTitles.ttf"
+dest_files=["res://.godot/imported/CyberpunkTitles.ttf-c41249a54df0a82b7535a9a7d82c0a31.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/project.godot b/project.godot
new file mode 100644
index 0000000..e93124e
--- /dev/null
+++ b/project.godot
@@ -0,0 +1,70 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+config/name="Punk n Spray"
+run/main_scene="res://scenes/Main.tscn"
+config/features=PackedStringArray("4.4", "C#", "Forward Plus")
+config/icon="res://art/icons/icon.svg"
+
+[dotnet]
+
+project/assembly_name="Punk n Spray"
+
+[input]
+
+move_left={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":true,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
+]
+}
+move_right={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":true,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
+]
+}
+jump={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
+]
+}
+crouch={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
+]
+}
+sprint={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null)
+]
+}
+run={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null)
+]
+}
+
+[layer_names]
+
+2d_physics/layer_1="World"
+2d_physics/layer_2="Platforms"
+2d_physics/layer_3="Player"
+2d_physics/layer_4="Enemies"
diff --git a/scenes/Level1.tscn b/scenes/Level1.tscn
new file mode 100644
index 0000000..8eaf910
--- /dev/null
+++ b/scenes/Level1.tscn
@@ -0,0 +1,265 @@
+[gd_scene load_steps=9 format=4 uid="uid://glgyen0w4614"]
+
+[ext_resource type="Texture2D" uid="uid://cd58nu5mmatvc" path="res://art/sprites/tilemap.png" id="1_wo5tp"]
+[ext_resource type="Texture2D" uid="uid://b1vngsv0sphea" path="res://art/sprites/tilemap-backgrounds.png" id="2_frbtj"]
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_m4vx4"]
+texture = ExtResource("2_frbtj")
+separation = Vector2i(1, 1)
+texture_region_size = Vector2i(24, 24)
+0:0/0 = 0
+1:0/0 = 0
+2:0/0 = 0
+3:0/0 = 0
+4:0/0 = 0
+5:0/0 = 0
+6:0/0 = 0
+7:0/0 = 0
+0:1/0 = 0
+1:1/0 = 0
+2:1/0 = 0
+3:1/0 = 0
+4:1/0 = 0
+5:1/0 = 0
+6:1/0 = 0
+7:1/0 = 0
+0:2/0 = 0
+1:2/0 = 0
+2:2/0 = 0
+3:2/0 = 0
+4:2/0 = 0
+5:2/0 = 0
+6:2/0 = 0
+7:2/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_mxcxl"]
+tile_size = Vector2i(24, 24)
+sources/1 = SubResource("TileSetAtlasSource_m4vx4")
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_t7s7n"]
+texture = ExtResource("1_wo5tp")
+separation = Vector2i(1, 1)
+texture_region_size = Vector2i(18, 18)
+0:0/0 = 0
+1:0/0 = 0
+2:0/0 = 0
+3:0/0 = 0
+4:0/0 = 0
+5:0/0 = 0
+6:0/0 = 0
+7:0/0 = 0
+8:0/0 = 0
+9:0/0 = 0
+10:0/0 = 0
+11:0/0 = 0
+12:0/0 = 0
+13:0/0 = 0
+14:0/0 = 0
+15:0/0 = 0
+16:0/0 = 0
+17:0/0 = 0
+18:0/0 = 0
+19:0/0 = 0
+0:1/0 = 0
+1:1/0 = 0
+2:1/0 = 0
+3:1/0 = 0
+4:1/0 = 0
+5:1/0 = 0
+6:1/0 = 0
+7:1/0 = 0
+8:1/0 = 0
+9:1/0 = 0
+10:1/0 = 0
+11:1/0 = 0
+12:1/0 = 0
+13:1/0 = 0
+14:1/0 = 0
+15:1/0 = 0
+16:1/0 = 0
+17:1/0 = 0
+18:1/0 = 0
+19:1/0 = 0
+0:2/0 = 0
+1:2/0 = 0
+2:2/0 = 0
+3:2/0 = 0
+4:2/0 = 0
+5:2/0 = 0
+6:2/0 = 0
+7:2/0 = 0
+8:2/0 = 0
+9:2/0 = 0
+10:2/0 = 0
+11:2/0 = 0
+12:2/0 = 0
+13:2/0 = 0
+14:2/0 = 0
+15:2/0 = 0
+16:2/0 = 0
+17:2/0 = 0
+18:2/0 = 0
+19:2/0 = 0
+0:3/0 = 0
+1:3/0 = 0
+2:3/0 = 0
+3:3/0 = 0
+4:3/0 = 0
+5:3/0 = 0
+6:3/0 = 0
+7:3/0 = 0
+8:3/0 = 0
+9:3/0 = 0
+10:3/0 = 0
+11:3/0 = 0
+12:3/0 = 0
+13:3/0 = 0
+14:3/0 = 0
+15:3/0 = 0
+16:3/0 = 0
+17:3/0 = 0
+18:3/0 = 0
+19:3/0 = 0
+0:4/0 = 0
+1:4/0 = 0
+2:4/0 = 0
+3:4/0 = 0
+4:4/0 = 0
+5:4/0 = 0
+6:4/0 = 0
+7:4/0 = 0
+8:4/0 = 0
+9:4/0 = 0
+10:4/0 = 0
+11:4/0 = 0
+12:4/0 = 0
+13:4/0 = 0
+14:4/0 = 0
+15:4/0 = 0
+16:4/0 = 0
+17:4/0 = 0
+18:4/0 = 0
+19:4/0 = 0
+0:5/0 = 0
+1:5/0 = 0
+2:5/0 = 0
+3:5/0 = 0
+4:5/0 = 0
+5:5/0 = 0
+6:5/0 = 0
+7:5/0 = 0
+8:5/0 = 0
+9:5/0 = 0
+10:5/0 = 0
+11:5/0 = 0
+12:5/0 = 0
+13:5/0 = 0
+14:5/0 = 0
+15:5/0 = 0
+16:5/0 = 0
+17:5/0 = 0
+18:5/0 = 0
+19:5/0 = 0
+0:6/0 = 0
+1:6/0 = 0
+2:6/0 = 0
+3:6/0 = 0
+4:6/0 = 0
+5:6/0 = 0
+6:6/0 = 0
+7:6/0 = 0
+8:6/0 = 0
+9:6/0 = 0
+10:6/0 = 0
+11:6/0 = 0
+12:6/0 = 0
+13:6/0 = 0
+14:6/0 = 0
+15:6/0 = 0
+16:6/0 = 0
+17:6/0 = 0
+18:6/0 = 0
+19:6/0 = 0
+0:7/0 = 0
+1:7/0 = 0
+2:7/0 = 0
+3:7/0 = 0
+4:7/0 = 0
+5:7/0 = 0
+6:7/0 = 0
+7:7/0 = 0
+8:7/0 = 0
+9:7/0 = 0
+10:7/0 = 0
+11:7/0 = 0
+12:7/0 = 0
+13:7/0 = 0
+14:7/0 = 0
+15:7/0 = 0
+16:7/0 = 0
+17:7/0 = 0
+18:7/0 = 0
+19:7/0 = 0
+0:8/0 = 0
+1:8/0 = 0
+2:8/0 = 0
+3:8/0 = 0
+4:8/0 = 0
+5:8/0 = 0
+6:8/0 = 0
+7:8/0 = 0
+8:8/0 = 0
+9:8/0 = 0
+10:8/0 = 0
+11:8/0 = 0
+12:8/0 = 0
+13:8/0 = 0
+14:8/0 = 0
+15:8/0 = 0
+16:8/0 = 0
+17:8/0 = 0
+18:8/0 = 0
+19:8/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_lrrmr"]
+tile_size = Vector2i(18, 18)
+sources/0 = SubResource("TileSetAtlasSource_t7s7n")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_r834c"]
+size = Vector2(1152, 10)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_j8vi2"]
+size = Vector2(54, 5)
+
+[node name="Level1" type="Node2D"]
+
+[node name="Background" type="TileMapLayer" parent="."]
+tile_map_data = PackedByteArray("AAAAABQAAQAAAAEAAAABABQAAQABAAEAAAACABQAAQACAAEAAAADABQAAQACAAEAAAAEABQAAQACAAEAAAAFABQAAQADAAEAAAAAABMAAQAAAAAAAAABABMAAQAAAAAAAAACABMAAQAAAAAAAAADABMAAQAAAAAAAAAEABMAAQAAAAAAAAAFABMAAQAAAAAAAAAGABQAAQACAAEAAAAHABQAAQACAAEAAAAIABQAAQACAAEAAAAJABQAAQABAAEAAAAKABQAAQABAAEAAAAMABQAAQAAAAEAAAALABQAAQAAAAEAAAANABQAAQAAAAEAAAAOABQAAQAAAAEAAAAPABQAAQACAAEAAAAQABQAAQADAAEAAAARABQAAQADAAEAAAASABQAAQADAAEAAAATABQAAQADAAEAAAAUABQAAQADAAEAAAAVABQAAQACAAEAAAAWABQAAQACAAEAAAAXABQAAQACAAEAAAAcABQAAQAAAAEAAAAaABQAAQABAAEAAAAbABQAAQABAAEAAAAdABQAAQACAAEAAAAeABQAAQACAAEAAAAfABQAAQACAAEAAAAgABQAAQACAAEAAAAhABQAAQACAAEAAAAiABQAAQADAAEAAAAkABQAAQADAAEAAAAjABQAAQADAAEAAAAlABQAAQACAAEAAAAmABQAAQACAAEAAAAnABQAAQACAAEAAAAoABQAAQACAAEAAAApABQAAQACAAEAAAAqABQAAQACAAEAAAArABQAAQACAAEAAAAsABQAAQACAAEAAAAtABQAAQACAAEAAAAuABQAAQACAAEAAAAvABQAAQACAAEAAAAvABMAAQAAAAAAAAAuABMAAQAAAAAAAAAtABMAAQAAAAAAAAAsABMAAQAAAAAAAAArABMAAQAAAAAAAAAqABMAAQAAAAAAAAApABMAAQAAAAAAAAAoABMAAQAAAAAAAAAnABMAAQAAAAAAAAAmABMAAQAAAAAAAAAlABMAAQAAAAAAAAAkABMAAQAAAAAAAAAjABMAAQAAAAAAAAAiABMAAQAAAAAAAAAhABMAAQAAAAAAAAAgABMAAQAAAAAAAAAfABMAAQAAAAAAAAAeABMAAQAAAAAAAAAdABMAAQAAAAAAAAAcABMAAQAAAAAAAAAbABMAAQAAAAAAAAAaABMAAQAAAAAAAAAXABMAAQAAAAAAAAAWABMAAQAAAAAAAAAVABMAAQAAAAAAAAAUABMAAQAAAAAAAAATABMAAQAAAAAAAAASABMAAQAAAAAAAAARABMAAQAAAAAAAAAQABMAAQAAAAAAAAAPABMAAQAAAAAAAAAOABMAAQAAAAAAAAANABMAAQAAAAAAAAAMABMAAQAAAAAAAAAGABMAAQAAAAAAAAAHABMAAQAAAAAAAAAIABMAAQAAAAAAAAAJABMAAQAAAAAAAAAKABMAAQAAAAAAAAALABMAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAEAAQAAAAAAAAAAAAIAAQAAAAAAAAAAAAMAAQAAAAAAAAAAAAQAAQAAAAAAAAAAAAUAAQAAAAAAAAAAAAYAAQAAAAAAAAAAAAcAAQAAAAAAAAAAAAgAAQAAAAAAAAAAAAkAAQAAAAAAAAAAAAoAAQAAAAAAAAAAAAsAAQAAAAAAAAAAAAwAAQAAAAAAAAAAAA0AAQAAAAAAAAAAAA4AAQAAAAAAAAAAAA8AAQAAAAAAAAAAABAAAQAAAAAAAAAAABEAAQAAAAAAAAAAABIAAQAAAAAAAAABAAAAAQAAAAAAAAABAAEAAQAAAAAAAAABAAIAAQAAAAAAAAABAAMAAQAAAAAAAAABAAQAAQAAAAAAAAABAAUAAQAAAAAAAAABAAYAAQAAAAAAAAABAAcAAQAAAAAAAAABAAgAAQAAAAAAAAABAAkAAQAAAAAAAAABAAoAAQAAAAAAAAABAAsAAQAAAAAAAAABAAwAAQAAAAAAAAABAA0AAQAAAAAAAAABAA4AAQAAAAAAAAABAA8AAQAAAAAAAAABABAAAQAAAAAAAAABABEAAQAAAAAAAAABABIAAQAAAAAAAAACAAAAAQAAAAAAAAACAAEAAQAAAAAAAAACAAIAAQAAAAAAAAACAAMAAQAAAAAAAAACAAQAAQAAAAAAAAACAAUAAQAAAAAAAAACAAYAAQAAAAAAAAACAAcAAQAAAAAAAAACAAgAAQAAAAAAAAACAAkAAQAAAAAAAAACAAoAAQAAAAAAAAACAAsAAQAAAAAAAAACAAwAAQAAAAAAAAACAA0AAQAAAAAAAAACAA4AAQAAAAAAAAACAA8AAQAAAAAAAAACABAAAQAAAAAAAAACABEAAQAAAAAAAAACABIAAQAAAAAAAAADAAAAAQAAAAAAAAADAAEAAQAAAAAAAAADAAIAAQAAAAAAAAADAAMAAQAAAAAAAAADAAQAAQAAAAAAAAADAAUAAQAAAAAAAAADAAYAAQAAAAAAAAADAAcAAQAAAAAAAAADAAgAAQAAAAAAAAADAAkAAQAAAAAAAAADAAoAAQAAAAAAAAADAAsAAQAAAAAAAAADAAwAAQAAAAAAAAADAA0AAQAAAAAAAAADAA4AAQAAAAAAAAADAA8AAQAAAAAAAAADABAAAQAAAAAAAAADABEAAQAAAAAAAAADABIAAQAAAAAAAAAEAAAAAQAAAAAAAAAEAAEAAQAAAAAAAAAEAAIAAQAAAAAAAAAEAAMAAQAAAAAAAAAEAAQAAQAAAAAAAAAEAAUAAQAAAAAAAAAEAAYAAQAAAAAAAAAEAAcAAQAAAAAAAAAEAAgAAQAAAAAAAAAEAAkAAQAAAAAAAAAEAAoAAQAAAAAAAAAEAAsAAQAAAAAAAAAEAAwAAQAAAAAAAAAEAA0AAQAAAAAAAAAEAA4AAQAAAAAAAAAEAA8AAQAAAAAAAAAEABAAAQAAAAAAAAAEABEAAQAAAAAAAAAEABIAAQAAAAAAAAAFAAAAAQAAAAAAAAAFAAEAAQAAAAAAAAAFAAIAAQAAAAAAAAAFAAMAAQAAAAAAAAAFAAQAAQAAAAAAAAAFAAUAAQAAAAAAAAAFAAYAAQAAAAAAAAAFAAcAAQAAAAAAAAAFAAgAAQAAAAAAAAAFAAkAAQAAAAAAAAAFAAoAAQAAAAAAAAAFAAsAAQAAAAAAAAAFAAwAAQAAAAAAAAAFAA0AAQAAAAAAAAAFAA4AAQAAAAAAAAAFAA8AAQAAAAAAAAAFABAAAQAAAAAAAAAFABEAAQAAAAAAAAAFABIAAQAAAAAAAAAGAAAAAQAAAAAAAAAGAAEAAQAAAAAAAAAGAAIAAQAAAAAAAAAGAAMAAQAAAAAAAAAGAAQAAQAAAAAAAAAGAAUAAQAAAAAAAAAGAAYAAQAAAAAAAAAGAAcAAQAAAAAAAAAGAAgAAQAAAAAAAAAGAAkAAQAAAAAAAAAGAAoAAQAAAAAAAAAGAAsAAQAAAAAAAAAGAAwAAQAAAAAAAAAGAA0AAQAAAAAAAAAGAA4AAQAAAAAAAAAGAA8AAQAAAAAAAAAGABAAAQAAAAAAAAAGABEAAQAAAAAAAAAGABIAAQAAAAAAAAAHAAAAAQAAAAAAAAAHAAEAAQAAAAAAAAAHAAIAAQAAAAAAAAAHAAMAAQAAAAAAAAAHAAQAAQAAAAAAAAAHAAUAAQAAAAAAAAAHAAYAAQAAAAAAAAAHAAcAAQAAAAAAAAAHAAgAAQAAAAAAAAAHAAkAAQAAAAAAAAAHAAoAAQAAAAAAAAAHAAsAAQAAAAAAAAAHAAwAAQAAAAAAAAAHAA0AAQAAAAAAAAAHAA4AAQAAAAAAAAAHAA8AAQAAAAAAAAAHABAAAQAAAAAAAAAHABEAAQAAAAAAAAAHABIAAQAAAAAAAAAIAAAAAQAAAAAAAAAIAAEAAQAAAAAAAAAIAAIAAQAAAAAAAAAIAAMAAQAAAAAAAAAIAAQAAQAAAAAAAAAIAAUAAQAAAAAAAAAIAAYAAQAAAAAAAAAIAAcAAQAAAAAAAAAIAAgAAQAAAAAAAAAIAAkAAQAAAAAAAAAIAAoAAQAAAAAAAAAIAAsAAQAAAAAAAAAIAAwAAQAAAAAAAAAIAA0AAQAAAAAAAAAIAA4AAQAAAAAAAAAIAA8AAQAAAAAAAAAIABAAAQAAAAAAAAAIABEAAQAAAAAAAAAIABIAAQAAAAAAAAAJAAAAAQAAAAAAAAAJAAEAAQAAAAAAAAAJAAIAAQAAAAAAAAAJAAMAAQAAAAAAAAAJAAQAAQAAAAAAAAAJAAUAAQAAAAAAAAAJAAYAAQAAAAAAAAAJAAcAAQAAAAAAAAAJAAgAAQAAAAAAAAAJAAkAAQAAAAAAAAAJAAoAAQAAAAAAAAAJAAsAAQAAAAAAAAAJAAwAAQAAAAAAAAAJAA0AAQAAAAAAAAAJAA4AAQAAAAAAAAAJAA8AAQAAAAAAAAAJABAAAQAAAAAAAAAJABEAAQAAAAAAAAAJABIAAQAAAAAAAAAKAAAAAQAAAAAAAAAKAAEAAQAAAAAAAAAKAAIAAQAAAAAAAAAKAAMAAQAAAAAAAAAKAAQAAQAAAAAAAAAKAAUAAQAAAAAAAAAKAAYAAQAAAAAAAAAKAAcAAQAAAAAAAAAKAAgAAQAAAAAAAAAKAAkAAQAAAAAAAAAKAAoAAQAAAAAAAAAKAAsAAQAAAAAAAAAKAAwAAQAAAAAAAAAKAA0AAQAAAAAAAAAKAA4AAQAAAAAAAAAKAA8AAQAAAAAAAAAKABAAAQAAAAAAAAAKABEAAQAAAAAAAAAKABIAAQAAAAAAAAALAAAAAQAAAAAAAAALAAEAAQAAAAAAAAALAAIAAQAAAAAAAAALAAMAAQAAAAAAAAALAAQAAQAAAAAAAAALAAUAAQAAAAAAAAALAAYAAQAAAAAAAAALAAcAAQAAAAAAAAALAAgAAQAAAAAAAAALAAkAAQAAAAAAAAALAAoAAQAAAAAAAAALAAsAAQAAAAAAAAALAAwAAQAAAAAAAAALAA0AAQAAAAAAAAALAA4AAQAAAAAAAAALAA8AAQAAAAAAAAALABAAAQAAAAAAAAALABEAAQAAAAAAAAALABIAAQAAAAAAAAAMAAAAAQAAAAAAAAAMAAEAAQAAAAAAAAAMAAIAAQAAAAAAAAAMAAMAAQAAAAAAAAAMAAQAAQAAAAAAAAAMAAUAAQAAAAAAAAAMAAYAAQAAAAAAAAAMAAcAAQAAAAAAAAAMAAgAAQAAAAAAAAAMAAkAAQAAAAAAAAAMAAoAAQAAAAAAAAAMAAsAAQAAAAAAAAAMAAwAAQAAAAAAAAAMAA0AAQAAAAAAAAAMAA4AAQAAAAAAAAAMAA8AAQAAAAAAAAAMABAAAQAAAAAAAAAMABEAAQAAAAAAAAAMABIAAQAAAAAAAAANAAAAAQAAAAAAAAANAAEAAQAAAAAAAAANAAIAAQAAAAAAAAANAAMAAQAAAAAAAAANAAQAAQAAAAAAAAANAAUAAQAAAAAAAAANAAYAAQAAAAAAAAANAAcAAQAAAAAAAAANAAgAAQAAAAAAAAANAAkAAQAAAAAAAAANAAoAAQAAAAAAAAANAAsAAQAAAAAAAAANAAwAAQAAAAAAAAANAA0AAQAAAAAAAAANAA4AAQAAAAAAAAANAA8AAQAAAAAAAAANABAAAQAAAAAAAAANABEAAQAAAAAAAAANABIAAQAAAAAAAAAOAAAAAQAAAAAAAAAOAAEAAQAAAAAAAAAOAAIAAQAAAAAAAAAOAAMAAQAAAAAAAAAOAAQAAQAAAAAAAAAOAAUAAQAAAAAAAAAOAAYAAQAAAAAAAAAOAAcAAQAAAAAAAAAOAAgAAQAAAAAAAAAOAAkAAQAAAAAAAAAOAAoAAQAAAAAAAAAOAAsAAQAAAAAAAAAOAAwAAQAAAAAAAAAOAA0AAQAAAAAAAAAOAA4AAQAAAAAAAAAOAA8AAQAAAAAAAAAOABAAAQAAAAAAAAAOABEAAQAAAAAAAAAOABIAAQAAAAAAAAAPAAAAAQAAAAAAAAAPAAEAAQAAAAAAAAAPAAIAAQAAAAAAAAAPAAMAAQAAAAAAAAAPAAQAAQAAAAAAAAAPAAUAAQAAAAAAAAAPAAYAAQAAAAAAAAAPAAcAAQAAAAAAAAAPAAgAAQAAAAAAAAAPAAkAAQAAAAAAAAAPAAoAAQAAAAAAAAAPAAsAAQAAAAAAAAAPAAwAAQAAAAAAAAAPAA0AAQAAAAAAAAAPAA4AAQAAAAAAAAAPAA8AAQAAAAAAAAAPABAAAQAAAAAAAAAPABEAAQAAAAAAAAAPABIAAQAAAAAAAAAQAAAAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAMAAQAAAAAAAAAQAAQAAQAAAAAAAAAQAAUAAQAAAAAAAAAQAAYAAQAAAAAAAAAQAAcAAQAAAAAAAAAQAAgAAQAAAAAAAAAQAAkAAQAAAAAAAAAQAAoAAQAAAAAAAAAQAAsAAQAAAAAAAAAQAAwAAQAAAAAAAAAQAA0AAQAAAAAAAAAQAA4AAQAAAAAAAAAQAA8AAQAAAAAAAAAQABAAAQAAAAAAAAAQABEAAQAAAAAAAAAQABIAAQAAAAAAAAARAAAAAQAAAAAAAAARAAEAAQAAAAAAAAARAAIAAQAAAAAAAAARAAMAAQAAAAAAAAARAAQAAQAAAAAAAAARAAUAAQAAAAAAAAARAAYAAQAAAAAAAAARAAcAAQAAAAAAAAARAAgAAQAAAAAAAAARAAkAAQAAAAAAAAARAAoAAQAAAAAAAAARAAsAAQAAAAAAAAARAAwAAQAAAAAAAAARAA0AAQAAAAAAAAARAA4AAQAAAAAAAAARAA8AAQAAAAAAAAARABAAAQAAAAAAAAARABEAAQAAAAAAAAARABIAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAAAAAAAAASAAkAAQAAAAAAAAASAAoAAQAAAAAAAAASAAsAAQAAAAAAAAASAAwAAQAAAAAAAAASAA0AAQAAAAAAAAASAA4AAQAAAAAAAAASAA8AAQAAAAAAAAASABAAAQAAAAAAAAASABEAAQAAAAAAAAASABIAAQAAAAAAAAATAAAAAQAAAAAAAAATAAEAAQAAAAAAAAATAAIAAQAAAAAAAAATAAMAAQAAAAAAAAATAAQAAQAAAAAAAAATAAUAAQAAAAAAAAATAAYAAQAAAAAAAAATAAcAAQAAAAAAAAATAAgAAQAAAAAAAAATAAkAAQAAAAAAAAATAAoAAQAAAAAAAAATAAsAAQAAAAAAAAATAAwAAQAAAAAAAAATAA0AAQAAAAAAAAATAA4AAQAAAAAAAAATAA8AAQAAAAAAAAATABAAAQAAAAAAAAATABEAAQAAAAAAAAATABIAAQAAAAAAAAAUAAAAAQAAAAAAAAAUAAEAAQAAAAAAAAAUAAIAAQAAAAAAAAAUAAMAAQAAAAAAAAAUAAQAAQAAAAAAAAAUAAUAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAcAAQAAAAAAAAAUAAgAAQAAAAAAAAAUAAkAAQAAAAAAAAAUAAoAAQAAAAAAAAAUAAsAAQAAAAAAAAAUAAwAAQAAAAAAAAAUAA0AAQAAAAAAAAAUAA4AAQAAAAAAAAAUAA8AAQAAAAAAAAAUABAAAQAAAAAAAAAUABEAAQAAAAAAAAAUABIAAQAAAAAAAAAVAAAAAQAAAAAAAAAVAAEAAQAAAAAAAAAVAAIAAQAAAAAAAAAVAAMAAQAAAAAAAAAVAAQAAQAAAAAAAAAVAAUAAQAAAAAAAAAVAAYAAQAAAAAAAAAVAAcAAQAAAAAAAAAVAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAVAAoAAQAAAAAAAAAVAAsAAQAAAAAAAAAVAAwAAQAAAAAAAAAVAA0AAQAAAAAAAAAVAA4AAQAAAAAAAAAVAA8AAQAAAAAAAAAVABAAAQAAAAAAAAAVABEAAQAAAAAAAAAVABIAAQAAAAAAAAAWAAAAAQAAAAAAAAAWAAEAAQAAAAAAAAAWAAIAAQAAAAAAAAAWAAMAAQAAAAAAAAAWAAQAAQAAAAAAAAAWAAUAAQAAAAAAAAAWAAYAAQAAAAAAAAAWAAcAAQAAAAAAAAAWAAgAAQAAAAAAAAAWAAkAAQAAAAAAAAAWAAoAAQAAAAAAAAAWAAsAAQAAAAAAAAAWAAwAAQAAAAAAAAAWAA0AAQAAAAAAAAAWAA4AAQAAAAAAAAAWAA8AAQAAAAAAAAAWABAAAQAAAAAAAAAWABEAAQAAAAAAAAAWABIAAQAAAAAAAAAXAAAAAQAAAAAAAAAXAAEAAQAAAAAAAAAXAAIAAQAAAAAAAAAXAAMAAQAAAAAAAAAXAAQAAQAAAAAAAAAXAAUAAQAAAAAAAAAXAAYAAQAAAAAAAAAXAAcAAQAAAAAAAAAXAAgAAQAAAAAAAAAXAAkAAQAAAAAAAAAXAAoAAQAAAAAAAAAXAAsAAQAAAAAAAAAXAAwAAQAAAAAAAAAXAA0AAQAAAAAAAAAXAA4AAQAAAAAAAAAXAA8AAQAAAAAAAAAXABAAAQAAAAAAAAAXABEAAQAAAAAAAAAXABIAAQAAAAAAAAAYAAAAAQAAAAAAAAAYAAEAAQAAAAAAAAAYAAIAAQAAAAAAAAAYAAMAAQAAAAAAAAAYAAQAAQAAAAAAAAAYAAUAAQAAAAAAAAAYAAYAAQAAAAAAAAAYAAcAAQAAAAAAAAAYAAgAAQAAAAAAAAAYAAkAAQAAAAAAAAAYAAoAAQAAAAAAAAAYAAsAAQAAAAAAAAAYAAwAAQAAAAAAAAAYAA0AAQAAAAAAAAAYAA4AAQAAAAAAAAAYAA8AAQAAAAAAAAAYABAAAQAAAAAAAAAYABEAAQAAAAAAAAAYABIAAQAAAAAAAAAZAAAAAQAAAAAAAAAZAAEAAQAAAAAAAAAZAAIAAQAAAAAAAAAZAAMAAQAAAAAAAAAZAAQAAQAAAAAAAAAZAAUAAQAAAAAAAAAZAAYAAQAAAAAAAAAZAAcAAQAAAAAAAAAZAAgAAQAAAAAAAAAZAAkAAQAAAAAAAAAZAAoAAQAAAAAAAAAZAAsAAQAAAAAAAAAZAAwAAQAAAAAAAAAZAA0AAQAAAAAAAAAZAA4AAQAAAAAAAAAZAA8AAQAAAAAAAAAZABAAAQAAAAAAAAAZABEAAQAAAAAAAAAZABIAAQAAAAAAAAAaAAAAAQAAAAAAAAAaAAEAAQAAAAAAAAAaAAIAAQAAAAAAAAAaAAMAAQAAAAAAAAAaAAQAAQAAAAAAAAAaAAUAAQAAAAAAAAAaAAYAAQAAAAAAAAAaAAcAAQAAAAAAAAAaAAgAAQAAAAAAAAAaAAkAAQAAAAAAAAAaAAoAAQAAAAAAAAAaAAsAAQAAAAAAAAAaAAwAAQAAAAAAAAAaAA0AAQAAAAAAAAAaAA4AAQAAAAAAAAAaAA8AAQAAAAAAAAAaABAAAQAAAAAAAAAaABEAAQAAAAAAAAAaABIAAQAAAAAAAAAbAAAAAQAAAAAAAAAbAAEAAQAAAAAAAAAbAAIAAQAAAAAAAAAbAAMAAQAAAAAAAAAbAAQAAQAAAAAAAAAbAAUAAQAAAAAAAAAbAAYAAQAAAAAAAAAbAAcAAQAAAAAAAAAbAAgAAQAAAAAAAAAbAAkAAQAAAAAAAAAbAAoAAQAAAAAAAAAbAAsAAQAAAAAAAAAbAAwAAQAAAAAAAAAbAA0AAQAAAAAAAAAbAA4AAQAAAAAAAAAbAA8AAQAAAAAAAAAbABAAAQAAAAAAAAAbABEAAQAAAAAAAAAbABIAAQAAAAAAAAAcAAAAAQAAAAAAAAAcAAEAAQAAAAAAAAAcAAIAAQAAAAAAAAAcAAMAAQAAAAAAAAAcAAQAAQAAAAAAAAAcAAUAAQAAAAAAAAAcAAYAAQAAAAAAAAAcAAcAAQAAAAAAAAAcAAgAAQAAAAAAAAAcAAkAAQAAAAAAAAAcAAoAAQAAAAAAAAAcAAsAAQAAAAAAAAAcAAwAAQAAAAAAAAAcAA0AAQAAAAAAAAAcAA4AAQAAAAAAAAAcAA8AAQAAAAAAAAAcABAAAQAAAAAAAAAcABEAAQAAAAAAAAAcABIAAQAAAAAAAAAdAAAAAQAAAAAAAAAdAAEAAQAAAAAAAAAdAAIAAQAAAAAAAAAdAAMAAQAAAAAAAAAdAAQAAQAAAAAAAAAdAAUAAQAAAAAAAAAdAAYAAQAAAAAAAAAdAAcAAQAAAAAAAAAdAAgAAQAAAAAAAAAdAAkAAQAAAAAAAAAdAAoAAQAAAAAAAAAdAAsAAQAAAAAAAAAdAAwAAQAAAAAAAAAdAA0AAQAAAAAAAAAdAA4AAQAAAAAAAAAdAA8AAQAAAAAAAAAdABAAAQAAAAAAAAAdABEAAQAAAAAAAAAdABIAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAEAAQAAAAAAAAAeAAIAAQAAAAAAAAAeAAMAAQAAAAAAAAAeAAQAAQAAAAAAAAAeAAUAAQAAAAAAAAAeAAYAAQAAAAAAAAAeAAcAAQAAAAAAAAAeAAgAAQAAAAAAAAAeAAkAAQAAAAAAAAAeAAoAAQAAAAAAAAAeAAsAAQAAAAAAAAAeAAwAAQAAAAAAAAAeAA0AAQAAAAAAAAAeAA4AAQAAAAAAAAAeAA8AAQAAAAAAAAAeABAAAQAAAAAAAAAeABEAAQAAAAAAAAAeABIAAQAAAAAAAAAfAAAAAQAAAAAAAAAfAAEAAQAAAAAAAAAfAAIAAQAAAAAAAAAfAAMAAQAAAAAAAAAfAAQAAQAAAAAAAAAfAAUAAQAAAAAAAAAfAAYAAQAAAAAAAAAfAAcAAQAAAAAAAAAfAAgAAQAAAAAAAAAfAAkAAQAAAAAAAAAfAAoAAQAAAAAAAAAfAAsAAQAAAAAAAAAfAAwAAQAAAAAAAAAfAA0AAQAAAAAAAAAfAA4AAQAAAAAAAAAfAA8AAQAAAAAAAAAfABAAAQAAAAAAAAAfABEAAQAAAAAAAAAfABIAAQAAAAAAAAAgAAAAAQAAAAAAAAAgAAEAAQAAAAAAAAAgAAIAAQAAAAAAAAAgAAMAAQAAAAAAAAAgAAQAAQAAAAAAAAAgAAUAAQAAAAAAAAAgAAYAAQAAAAAAAAAgAAcAAQAAAAAAAAAgAAgAAQAAAAAAAAAgAAkAAQAAAAAAAAAgAAoAAQAAAAAAAAAgAAsAAQAAAAAAAAAgAAwAAQAAAAAAAAAgAA0AAQAAAAAAAAAgAA4AAQAAAAAAAAAgAA8AAQAAAAAAAAAgABAAAQAAAAAAAAAgABEAAQAAAAAAAAAgABIAAQAAAAAAAAAhAAAAAQAAAAAAAAAhAAEAAQAAAAAAAAAhAAIAAQAAAAAAAAAhAAMAAQAAAAAAAAAhAAQAAQAAAAAAAAAhAAUAAQAAAAAAAAAhAAYAAQAAAAAAAAAhAAcAAQAAAAAAAAAhAAgAAQAAAAAAAAAhAAkAAQAAAAAAAAAhAAoAAQAAAAAAAAAhAAsAAQAAAAAAAAAhAAwAAQAAAAAAAAAhAA0AAQAAAAAAAAAhAA4AAQAAAAAAAAAhAA8AAQAAAAAAAAAhABAAAQAAAAAAAAAhABEAAQAAAAAAAAAhABIAAQAAAAAAAAAiAAAAAQAAAAAAAAAiAAEAAQAAAAAAAAAiAAIAAQAAAAAAAAAiAAMAAQAAAAAAAAAiAAQAAQAAAAAAAAAiAAUAAQAAAAAAAAAiAAYAAQAAAAAAAAAiAAcAAQAAAAAAAAAiAAgAAQAAAAAAAAAiAAkAAQAAAAAAAAAiAAoAAQAAAAAAAAAiAAsAAQAAAAAAAAAiAAwAAQAAAAAAAAAiAA0AAQAAAAAAAAAiAA4AAQAAAAAAAAAiAA8AAQAAAAAAAAAiABAAAQAAAAAAAAAiABEAAQAAAAAAAAAiABIAAQAAAAAAAAAjAAAAAQAAAAAAAAAjAAEAAQAAAAAAAAAjAAIAAQAAAAAAAAAjAAMAAQAAAAAAAAAjAAQAAQAAAAAAAAAjAAUAAQAAAAAAAAAjAAYAAQAAAAAAAAAjAAcAAQAAAAAAAAAjAAgAAQAAAAAAAAAjAAkAAQAAAAAAAAAjAAoAAQAAAAAAAAAjAAsAAQAAAAAAAAAjAAwAAQAAAAAAAAAjAA0AAQAAAAAAAAAjAA4AAQAAAAAAAAAjAA8AAQAAAAAAAAAjABAAAQAAAAAAAAAjABEAAQAAAAAAAAAjABIAAQAAAAAAAAAkAAAAAQAAAAAAAAAkAAEAAQAAAAAAAAAkAAIAAQAAAAAAAAAkAAMAAQAAAAAAAAAkAAQAAQAAAAAAAAAkAAUAAQAAAAAAAAAkAAYAAQAAAAAAAAAkAAcAAQAAAAAAAAAkAAgAAQAAAAAAAAAkAAkAAQAAAAAAAAAkAAoAAQAAAAAAAAAkAAsAAQAAAAAAAAAkAAwAAQAAAAAAAAAkAA0AAQAAAAAAAAAkAA4AAQAAAAAAAAAkAA8AAQAAAAAAAAAkABAAAQAAAAAAAAAkABEAAQAAAAAAAAAkABIAAQAAAAAAAAAlAAAAAQAAAAAAAAAlAAEAAQAAAAAAAAAlAAIAAQAAAAAAAAAlAAMAAQAAAAAAAAAlAAQAAQAAAAAAAAAlAAUAAQAAAAAAAAAlAAYAAQAAAAAAAAAlAAcAAQAAAAAAAAAlAAgAAQAAAAAAAAAlAAkAAQAAAAAAAAAlAAoAAQAAAAAAAAAlAAsAAQAAAAAAAAAlAAwAAQAAAAAAAAAlAA0AAQAAAAAAAAAlAA4AAQAAAAAAAAAlAA8AAQAAAAAAAAAlABAAAQAAAAAAAAAlABEAAQAAAAAAAAAlABIAAQAAAAAAAAAmAAAAAQAAAAAAAAAmAAEAAQAAAAAAAAAmAAIAAQAAAAAAAAAmAAMAAQAAAAAAAAAmAAQAAQAAAAAAAAAmAAUAAQAAAAAAAAAmAAYAAQAAAAAAAAAmAAcAAQAAAAAAAAAmAAgAAQAAAAAAAAAmAAkAAQAAAAAAAAAmAAoAAQAAAAAAAAAmAAsAAQAAAAAAAAAmAAwAAQAAAAAAAAAmAA0AAQAAAAAAAAAmAA4AAQAAAAAAAAAmAA8AAQAAAAAAAAAmABAAAQAAAAAAAAAmABEAAQAAAAAAAAAmABIAAQAAAAAAAAAnAAAAAQAAAAAAAAAnAAEAAQAAAAAAAAAnAAIAAQAAAAAAAAAnAAMAAQAAAAAAAAAnAAQAAQAAAAAAAAAnAAUAAQAAAAAAAAAnAAYAAQAAAAAAAAAnAAcAAQAAAAAAAAAnAAgAAQAAAAAAAAAnAAkAAQAAAAAAAAAnAAoAAQAAAAAAAAAnAAsAAQAAAAAAAAAnAAwAAQAAAAAAAAAnAA0AAQAAAAAAAAAnAA4AAQAAAAAAAAAnAA8AAQAAAAAAAAAnABAAAQAAAAAAAAAnABEAAQAAAAAAAAAnABIAAQAAAAAAAAAoAAAAAQAAAAAAAAAoAAEAAQAAAAAAAAAoAAIAAQAAAAAAAAAoAAMAAQAAAAAAAAAoAAQAAQAAAAAAAAAoAAUAAQAAAAAAAAAoAAYAAQAAAAAAAAAoAAcAAQAAAAAAAAAoAAgAAQAAAAAAAAAoAAkAAQAAAAAAAAAoAAoAAQAAAAAAAAAoAAsAAQAAAAAAAAAoAAwAAQAAAAAAAAAoAA0AAQAAAAAAAAAoAA4AAQAAAAAAAAAoAA8AAQAAAAAAAAAoABAAAQAAAAAAAAAoABEAAQAAAAAAAAAoABIAAQAAAAAAAAApAAAAAQAAAAAAAAApAAEAAQAAAAAAAAApAAIAAQAAAAAAAAApAAMAAQAAAAAAAAApAAQAAQAAAAAAAAApAAUAAQAAAAAAAAApAAYAAQAAAAAAAAApAAcAAQAAAAAAAAApAAgAAQAAAAAAAAApAAkAAQAAAAAAAAApAAoAAQAAAAAAAAApAAsAAQAAAAAAAAApAAwAAQAAAAAAAAApAA0AAQAAAAAAAAApAA4AAQAAAAAAAAApAA8AAQAAAAAAAAApABAAAQAAAAAAAAApABEAAQAAAAAAAAApABIAAQAAAAAAAAAqAAAAAQAAAAAAAAAqAAEAAQAAAAAAAAAqAAIAAQAAAAAAAAAqAAMAAQAAAAAAAAAqAAQAAQAAAAAAAAAqAAUAAQAAAAAAAAAqAAYAAQAAAAAAAAAqAAcAAQAAAAAAAAAqAAgAAQAAAAAAAAAqAAkAAQAAAAAAAAAqAAoAAQAAAAAAAAAqAAsAAQAAAAAAAAAqAAwAAQAAAAAAAAAqAA0AAQAAAAAAAAAqAA4AAQAAAAAAAAAqAA8AAQAAAAAAAAAqABAAAQAAAAAAAAAqABEAAQAAAAAAAAAqABIAAQAAAAAAAAArAAAAAQAAAAAAAAArAAEAAQAAAAAAAAArAAIAAQAAAAAAAAArAAMAAQAAAAAAAAArAAQAAQAAAAAAAAArAAUAAQAAAAAAAAArAAYAAQAAAAAAAAArAAcAAQAAAAAAAAArAAgAAQAAAAAAAAArAAkAAQAAAAAAAAArAAoAAQAAAAAAAAArAAsAAQAAAAAAAAArAAwAAQAAAAAAAAArAA0AAQAAAAAAAAArAA4AAQAAAAAAAAArAA8AAQAAAAAAAAArABAAAQAAAAAAAAArABEAAQAAAAAAAAArABIAAQAAAAAAAAAsAAAAAQAAAAAAAAAsAAEAAQAAAAAAAAAsAAIAAQAAAAAAAAAsAAMAAQAAAAAAAAAsAAQAAQAAAAAAAAAsAAUAAQAAAAAAAAAsAAYAAQAAAAAAAAAsAAcAAQAAAAAAAAAsAAgAAQAAAAAAAAAsAAkAAQAAAAAAAAAsAAoAAQAAAAAAAAAsAAsAAQAAAAAAAAAsAAwAAQAAAAAAAAAsAA0AAQAAAAAAAAAsAA4AAQAAAAAAAAAsAA8AAQAAAAAAAAAsABAAAQAAAAAAAAAsABEAAQAAAAAAAAAsABIAAQAAAAAAAAAtAAAAAQAAAAAAAAAtAAEAAQAAAAAAAAAtAAIAAQAAAAAAAAAtAAMAAQAAAAAAAAAtAAQAAQAAAAAAAAAtAAUAAQAAAAAAAAAtAAYAAQAAAAAAAAAtAAcAAQAAAAAAAAAtAAgAAQAAAAAAAAAtAAkAAQAAAAAAAAAtAAoAAQAAAAAAAAAtAAsAAQAAAAAAAAAtAAwAAQAAAAAAAAAtAA0AAQAAAAAAAAAtAA4AAQAAAAAAAAAtAA8AAQAAAAAAAAAtABAAAQAAAAAAAAAtABEAAQAAAAAAAAAtABIAAQAAAAAAAAAuAAAAAQAAAAAAAAAuAAEAAQAAAAAAAAAuAAIAAQAAAAAAAAAuAAMAAQAAAAAAAAAuAAQAAQAAAAAAAAAuAAUAAQAAAAAAAAAuAAYAAQAAAAAAAAAuAAcAAQAAAAAAAAAuAAgAAQAAAAAAAAAuAAkAAQAAAAAAAAAuAAoAAQAAAAAAAAAuAAsAAQAAAAAAAAAuAAwAAQAAAAAAAAAuAA0AAQAAAAAAAAAuAA4AAQAAAAAAAAAuAA8AAQAAAAAAAAAuABAAAQAAAAAAAAAuABEAAQAAAAAAAAAuABIAAQAAAAAAAAAvAAAAAQAAAAAAAAAvAAEAAQAAAAAAAAAvAAIAAQAAAAAAAAAvAAMAAQAAAAAAAAAvAAQAAQAAAAAAAAAvAAUAAQAAAAAAAAAvAAYAAQAAAAAAAAAvAAcAAQAAAAAAAAAvAAgAAQAAAAAAAAAvAAkAAQAAAAAAAAAvAAoAAQAAAAAAAAAvAAsAAQAAAAAAAAAvAAwAAQAAAAAAAAAvAA0AAQAAAAAAAAAvAA4AAQAAAAAAAAAvAA8AAQAAAAAAAAAvABAAAQAAAAAAAAAvABEAAQAAAAAAAAAvABIAAQAAAAAAAAAZABMAAQAAAAAAAAAYABMAAQAAAAAAAAAZABQAAQAAAAEAAAAYABQAAQAAAAEAAAAGABUAAQAAAAIAAAAHABUAAQAAAAIAAAAIABUAAQAAAAIAAAAJABUAAQAAAAIAAAAKABUAAQAAAAIAAAALABUAAQAAAAIAAAAMABUAAQAAAAIAAAANABUAAQAAAAIAAAAOABUAAQAAAAIAAAAPABUAAQAAAAIAAAAQABUAAQAAAAIAAAARABUAAQAAAAIAAAASABUAAQAAAAIAAAATABUAAQAAAAIAAAAUABUAAQAAAAIAAAAVABUAAQAAAAIAAAAWABUAAQAAAAIAAAAWABYAAQAAAAIAAAAVABYAAQAAAAIAAAAUABYAAQAAAAIAAAATABYAAQAAAAIAAAASABYAAQAAAAIAAAARABYAAQAAAAIAAAAQABYAAQAAAAIAAAAXABYAAQAAAAIAAAAYABYAAQAAAAIAAAAYABUAAQAAAAIAAAAXABUAAQAAAAIAAAAZABUAAQAAAAIAAAAZABYAAQAAAAIAAAAaABYAAQAAAAIAAAAaABUAAQAAAAIAAAAbABUAAQAAAAIAAAAcABUAAQAAAAIAAAAdABUAAQAAAAIAAAAeABUAAQAAAAIAAAAfABUAAQAAAAIAAAAgABUAAQAAAAIAAAAhABUAAQAAAAIAAAAiABUAAQAAAAIAAAAjABUAAQAAAAIAAAAkABUAAQAAAAIAAAAiABYAAQAAAAIAAAAhABYAAQAAAAIAAAAgABYAAQAAAAIAAAAfABYAAQAAAAIAAAAeABYAAQAAAAIAAAAdABYAAQAAAAIAAAAcABYAAQAAAAIAAAAbABYAAQAAAAIAAAAjABYAAQAAAAIAAAAkABYAAQAAAAIAAAAlABYAAQAAAAIAAAAmABYAAQAAAAIAAAAnABYAAQAAAAIAAAAoABYAAQAAAAIAAAApABYAAQAAAAIAAAApABUAAQAAAAIAAAAqABUAAQAAAAIAAAArABUAAQAAAAIAAAAsABUAAQAAAAIAAAAtABUAAQAAAAIAAAAuABUAAQAAAAIAAAAvABUAAQAAAAIAAAAvABYAAQAAAAIAAAAuABYAAQAAAAIAAAAtABYAAQAAAAIAAAAsABYAAQAAAAIAAAArABYAAQAAAAIAAAAqABYAAQAAAAIAAAAoABUAAQAAAAIAAAAnABUAAQAAAAIAAAAmABUAAQAAAAIAAAAlABUAAQAAAAIAAAAvABcAAQAAAAIAAAAuABcAAQAAAAIAAAAtABcAAQAAAAIAAAAsABcAAQAAAAIAAAArABcAAQAAAAIAAAAqABcAAQAAAAIAAAApABcAAQAAAAIAAAAoABcAAQAAAAIAAAAkABcAAQAAAAIAAAAlABcAAQAAAAIAAAAmABcAAQAAAAIAAAAnABcAAQAAAAIAAAAjABcAAQAAAAIAAAAiABcAAQAAAAIAAAAhABcAAQAAAAIAAAAgABcAAQAAAAIAAAAfABcAAQAAAAIAAAAeABcAAQAAAAIAAAAdABcAAQAAAAIAAAAcABcAAQAAAAIAAAAbABcAAQAAAAIAAAAaABcAAQAAAAIAAAAZABcAAQAAAAIAAAAYABcAAQAAAAIAAAAXABcAAQAAAAIAAAAWABcAAQAAAAIAAAAVABcAAQAAAAIAAAAUABcAAQAAAAIAAAATABcAAQAAAAIAAAASABcAAQAAAAIAAAARABcAAQAAAAIAAAAQABcAAQAAAAIAAAAPABcAAQAAAAIAAAAOABcAAQAAAAIAAAANABcAAQAAAAIAAAAMABcAAQAAAAIAAAALABcAAQAAAAIAAAAKABcAAQAAAAIAAAAKABYAAQAAAAIAAAAJABYAAQAAAAIAAAAIABYAAQAAAAIAAAAHABYAAQAAAAIAAAAGABYAAQAAAAIAAAAHABcAAQAAAAIAAAAIABcAAQAAAAIAAAAJABcAAQAAAAIAAAAMABYAAQAAAAIAAAANABYAAQAAAAIAAAAOABYAAQAAAAIAAAAPABYAAQAAAAIAAAALABYAAQAAAAIAAAAGABcAAQAAAAIAAAAAABcAAQAAAAIAAAABABcAAQAAAAIAAAACABcAAQAAAAIAAAADABcAAQAAAAIAAAAEABcAAQAAAAIAAAAFABcAAQAAAAIAAAAFABYAAQAAAAIAAAAFABUAAQAAAAIAAAAEABUAAQAAAAIAAAADABUAAQAAAAIAAAACABUAAQAAAAIAAAABABUAAQAAAAIAAAAAABUAAQAAAAIAAAAAABYAAQAAAAIAAAABABYAAQAAAAIAAAACABYAAQAAAAIAAAADABYAAQAAAAIAAAAEABYAAQAAAAIAAAA=")
+tile_set = SubResource("TileSet_mxcxl")
+
+[node name="TerrainAndMisc" type="TileMapLayer" parent="."]
+position = Vector2(-1, 0)
+tile_map_data = PackedByteArray("AAASACMAAAACAAYAAAATACMAAAACAAYAAAAUACMAAAACAAYAAAAVACMAAAACAAYAAAAWACMAAAACAAYAAAAXACMAAAACAAYAAAAYACMAAAACAAYAAAAZACMAAAACAAYAAAAaACMAAAACAAYAAAAbACMAAAACAAYAAAAcACMAAAACAAYAAAAdACMAAAACAAYAAAAeACMAAAACAAYAAAAfACMAAAACAAYAAAAgACMAAAACAAYAAAAhACMAAAACAAYAAAAiACMAAAACAAYAAAAjACMAAAACAAYAAAAvACMAAAACAAYAAAAwACMAAAACAAYAAAAxACMAAAACAAYAAAAyACMAAAACAAYAAAAkACMAAAACAAYAAAAlACMAAAACAAYAAAAmACMAAAACAAYAAAAnACMAAAACAAYAAAAoACMAAAACAAYAAAApACMAAAACAAYAAAAqACMAAAACAAYAAAArACMAAAACAAYAAAAsACMAAAACAAYAAAAtACMAAAACAAYAAAAuACMAAAACAAYAAAAzACMAAAACAAYAAAA0ACMAAAACAAYAAAA1ACMAAAACAAYAAAA2ACMAAAACAAYAAAA3ACMAAAACAAYAAAA4ACMAAAACAAYAAAA5ACMAAAACAAYAAAA6ACMAAAACAAYAAAA7ACMAAAACAAYAAAA8ACMAAAACAAYAAAA9ACMAAAACAAYAAAA+ACMAAAACAAYAAAA/ACMAAAACAAYAAAA/ACIAAAACAAYAAAA/ACEAAAACAAYAAAA/ACAAAAACAAYAAAA+ACAAAAACAAYAAAA+ACEAAAACAAYAAAA+ACIAAAACAAYAAAA9ACIAAAACAAYAAAA8ACIAAAACAAYAAAA7ACIAAAACAAYAAAA6ACIAAAACAAYAAAA5ACIAAAACAAYAAAA4ACIAAAACAAYAAAA3ACIAAAACAAYAAAA2ACIAAAACAAYAAAA1ACIAAAACAAYAAAA0ACIAAAACAAYAAAAzACIAAAACAAYAAAAyACIAAAACAAYAAAAxACIAAAACAAYAAAAwACIAAAACAAYAAAAvACIAAAACAAYAAAAuACIAAAACAAYAAAAtACIAAAACAAYAAAAsACIAAAACAAYAAAArACIAAAACAAYAAAAqACIAAAACAAYAAAApACIAAAACAAYAAAAoACIAAAACAAYAAAAnACIAAAACAAYAAAAmACIAAAACAAYAAAAlACIAAAACAAYAAAAkACIAAAACAAYAAAAjACIAAAACAAYAAAAiACIAAAACAAYAAAAhACIAAAACAAYAAAAgACIAAAACAAYAAAAfACIAAAACAAYAAAAeACIAAAACAAYAAAAdACIAAAACAAYAAAAcACIAAAACAAYAAAAbACIAAAACAAYAAAAaACIAAAACAAYAAAAZACIAAAACAAYAAAAYACIAAAACAAYAAAAXACIAAAACAAYAAAAWACIAAAACAAYAAAAVACIAAAACAAYAAAAUACIAAAACAAYAAAATACIAAAACAAYAAAASACIAAAACAAYAAAARACIAAAACAAYAAAAQACIAAAACAAYAAAAPACIAAAACAAYAAAAOACIAAAACAAYAAAANACIAAAACAAYAAAAMACIAAAACAAYAAAALACIAAAACAAYAAAAKACIAAAACAAYAAAAJACIAAAACAAYAAAAIACIAAAACAAYAAAAHACIAAAACAAYAAAAGACIAAAACAAYAAAAFACIAAAACAAYAAAAEACIAAAACAAYAAAADACIAAAACAAYAAAACACIAAAACAAYAAAABACIAAAACAAYAAAABACEAAAACAAYAAAABACAAAAACAAYAAAA9ACAAAAACAAYAAAA9ACEAAAACAAYAAAA8ACEAAAACAAYAAAA7ACEAAAACAAYAAAA6ACEAAAACAAYAAAA5ACEAAAACAAYAAAA4ACEAAAACAAYAAAA3ACEAAAACAAYAAAA2ACEAAAACAAYAAAA1ACEAAAACAAYAAAA0ACEAAAACAAYAAAAzACEAAAACAAYAAAAyACEAAAACAAYAAAAxACEAAAACAAYAAAAwACEAAAACAAYAAAAvACEAAAACAAYAAAAuACEAAAACAAYAAAAtACEAAAACAAYAAAAsACEAAAACAAYAAAArACEAAAACAAYAAAAqACEAAAACAAYAAAApACEAAAACAAYAAAAoACEAAAACAAYAAAAnACEAAAACAAYAAAAmACEAAAACAAYAAAAlACEAAAACAAYAAAAkACEAAAACAAYAAAAjACEAAAACAAYAAAAiACEAAAACAAYAAAAhACEAAAACAAYAAAAgACEAAAACAAYAAAAVACEAAAACAAYAAAAUACEAAAACAAYAAAATACEAAAACAAYAAAASACEAAAACAAYAAAARACEAAAACAAYAAAAQACEAAAACAAYAAAAPACEAAAACAAYAAAAOACEAAAACAAYAAAANACEAAAACAAYAAAAMACEAAAACAAYAAAALACEAAAACAAYAAAAKACEAAAACAAYAAAAJACEAAAACAAYAAAAIACEAAAACAAYAAAAHACEAAAACAAYAAAAGACEAAAACAAYAAAAFACEAAAACAAYAAAAEACEAAAACAAYAAAADACEAAAACAAYAAAADACAAAAACAAYAAAACACAAAAACAAYAAAA8ACAAAAACAAYAAAA7ACAAAAACAAYAAAA6ACAAAAACAAYAAAA5ACAAAAACAAYAAAA4ACAAAAACAAYAAAA3ACAAAAACAAYAAAA2ACAAAAACAAYAAAA1ACAAAAACAAYAAAA0ACAAAAACAAYAAAAzACAAAAACAAYAAAAyACAAAAACAAYAAAAxACAAAAACAAYAAAAwACAAAAACAAYAAAAvACAAAAACAAYAAAAuACAAAAACAAYAAAAtACAAAAACAAYAAAAsACAAAAACAAYAAAArACAAAAACAAYAAAAqACAAAAACAAYAAAApACAAAAACAAYAAAAoACAAAAACAAYAAAAnACAAAAACAAYAAAAmACAAAAACAAYAAAAlACAAAAACAAYAAAAkACAAAAACAAYAAAAjACAAAAACAAYAAAAiACAAAAACAAYAAAAhACAAAAACAAYAAAAgACAAAAACAAYAAAAfACAAAAACAAYAAAAeACAAAAACAAYAAAAdACAAAAACAAYAAAAcACAAAAACAAYAAAAbACAAAAACAAYAAAAaACAAAAACAAYAAAAZACAAAAACAAYAAAAYACAAAAACAAYAAAAXACAAAAACAAYAAAAWACAAAAACAAYAAAAVACAAAAACAAYAAAAUACAAAAACAAYAAAATACAAAAACAAYAAAASACAAAAACAAYAAAARACAAAAACAAYAAAAQACAAAAACAAYAAAAPACAAAAACAAYAAAAOACAAAAACAAYAAAANACAAAAACAAYAAAAMACAAAAACAAYAAAALACAAAAACAAYAAAAKACAAAAACAAYAAAAJACAAAAACAAYAAAAIACAAAAACAAYAAAAHACAAAAACAAYAAAAGACAAAAACAAYAAAAFACAAAAACAAYAAAAEACAAAAACAAYAAAACACEAAAACAAYAAAAWACEAAAACAAYAAAAXACEAAAACAAYAAAAYACEAAAACAAYAAAAZACEAAAACAAYAAAAaACEAAAACAAYAAAAbACEAAAACAAYAAAAcACEAAAACAAYAAAAdACEAAAACAAYAAAAeACEAAAACAAYAAAAfACEAAAACAAYAAAAgABgAAAANAAcAAAAhABgAAAAOAAcAAAAiABgAAAAPAAcAAAAhABQAAAAOAAcAAAAgABQAAAANAAcAAAAiABQAAAAPAAcAAAARACMAAAACAAYAAAAQACMAAAACAAYAAAAPACMAAAACAAYAAAAOACMAAAACAAYAAAANACMAAAACAAYAAAAMACMAAAACAAYAAAALACMAAAACAAYAAAAKACMAAAACAAYAAAAJACMAAAACAAYAAAAIACMAAAACAAYAAAAHACMAAAACAAYAAAAGACMAAAACAAYAAAAFACMAAAACAAYAAAAEACMAAAACAAYAAAADACMAAAACAAYAAAACACMAAAACAAYAAAABACMAAAACAAYAAAAAACMAAAACAAYAAAAAACIAAAACAAYAAAAAACEAAAACAAYAAAAAACAAAAACAAYAAAA/AB8AAAACAAYAAAA+AB8AAAACAAYAAAA9AB8AAAACAAYAAAA8AB8AAAACAAYAAAA7AB8AAAACAAYAAAA6AB8AAAACAAYAAAA5AB8AAAACAAYAAAA4AB8AAAACAAYAAAA3AB8AAAACAAYAAAA2AB8AAAACAAYAAAA1AB8AAAACAAYAAAA0AB8AAAACAAYAAAAzAB8AAAACAAYAAAAyAB8AAAACAAYAAAAxAB8AAAACAAYAAAAwAB8AAAACAAYAAAAvAB8AAAACAAYAAAAuAB8AAAACAAYAAAAtAB8AAAACAAYAAAAsAB8AAAACAAYAAAArAB8AAAACAAYAAAAqAB8AAAACAAYAAAApAB8AAAACAAYAAAAoAB8AAAACAAYAAAAnAB8AAAACAAYAAAAmAB8AAAACAAYAAAAlAB8AAAACAAYAAAAkAB8AAAACAAYAAAAjAB8AAAACAAYAAAAiAB8AAAACAAYAAAAhAB8AAAACAAYAAAAgAB8AAAACAAYAAAAfAB8AAAACAAYAAAAeAB8AAAACAAYAAAAdAB8AAAACAAYAAAAcAB8AAAACAAYAAAAbAB8AAAACAAYAAAAaAB8AAAACAAYAAAAZAB8AAAACAAYAAAAYAB8AAAACAAYAAAAXAB8AAAACAAYAAAAWAB8AAAACAAYAAAAVAB8AAAACAAYAAAAUAB8AAAACAAYAAAATAB8AAAACAAYAAAASAB8AAAACAAYAAAARAB8AAAACAAYAAAAQAB8AAAACAAYAAAAPAB8AAAACAAYAAAAOAB8AAAACAAYAAAANAB8AAAACAAYAAAAMAB8AAAACAAYAAAALAB8AAAACAAYAAAAKAB8AAAACAAYAAAAJAB8AAAACAAYAAAAIAB8AAAACAAYAAAAHAB8AAAACAAYAAAAGAB8AAAACAAYAAAAFAB8AAAACAAYAAAAEAB8AAAACAAYAAAADAB8AAAACAAYAAAACAB8AAAACAAYAAAABAB8AAAACAAYAAAAAAB8AAAACAAYAAAAfAB0AAAACAAEAAAAeAB0AAAACAAEAAAAdAB0AAAACAAEAAAAcAB0AAAACAAEAAAAgAB0AAAACAAEAAAAbAB0AAAACAAEAAAAaAB0AAAACAAEAAAAZAB0AAAACAAEAAAAYAB0AAAACAAEAAAAXAB0AAAACAAEAAAAWAB0AAAACAAEAAAAVAB0AAAACAAEAAAAUAB0AAAACAAEAAAATAB0AAAACAAEAAAASAB0AAAACAAEAAAAAAB0AAAACAAEAAAABAB0AAAACAAEAAAACAB0AAAACAAEAAAADAB0AAAACAAEAAAAEAB0AAAACAAEAAAAFAB0AAAACAAEAAAAGAB0AAAACAAEAAAAHAB0AAAACAAEAAAAIAB0AAAACAAEAAAAJAB0AAAACAAEAAAAKAB0AAAACAAEAAAALAB0AAAACAAEAAAAMAB0AAAACAAEAAAANAB0AAAACAAEAAAAOAB0AAAACAAEAAAAPAB0AAAACAAEAAAAQAB0AAAACAAEAAAARAB0AAAACAAEAAAA/AB0AAAACAAEAAAA+AB0AAAACAAEAAAA9AB0AAAACAAEAAAA8AB0AAAACAAEAAAA7AB0AAAACAAEAAAA6AB0AAAACAAEAAAA5AB0AAAACAAEAAAA4AB0AAAACAAEAAAA3AB0AAAACAAEAAAA2AB0AAAACAAEAAAA1AB0AAAACAAEAAAA0AB0AAAACAAEAAAAzAB0AAAACAAEAAAAyAB0AAAACAAEAAAAxAB0AAAACAAEAAAAwAB0AAAACAAEAAAAvAB0AAAACAAEAAAAuAB0AAAACAAEAAAAtAB0AAAACAAEAAAAsAB0AAAACAAEAAAArAB0AAAACAAEAAAAqAB0AAAACAAEAAAApAB0AAAACAAEAAAAoAB0AAAACAAEAAAAnAB0AAAACAAEAAAAmAB0AAAACAAEAAAAlAB0AAAACAAEAAAAkAB0AAAACAAEAAAAjAB0AAAACAAEAAAAiAB0AAAACAAEAAAAhAB0AAAACAAEAAAAOAB4AAAACAAYAAAAPAB4AAAACAAYAAAAQAB4AAAACAAYAAAARAB4AAAACAAYAAAASAB4AAAACAAYAAAATAB4AAAACAAYAAAAUAB4AAAACAAYAAAAVAB4AAAACAAYAAAAWAB4AAAACAAYAAAAXAB4AAAACAAYAAAAYAB4AAAACAAYAAAAZAB4AAAACAAYAAAAaAB4AAAACAAYAAAAbAB4AAAACAAYAAAAcAB4AAAACAAYAAAAdAB4AAAACAAYAAAAeAB4AAAACAAYAAAAfAB4AAAACAAYAAAAgAB4AAAACAAYAAAAhAB4AAAACAAYAAAAiAB4AAAACAAYAAAAjAB4AAAACAAYAAAAkAB4AAAACAAYAAAAlAB4AAAACAAYAAAAmAB4AAAACAAYAAAAnAB4AAAACAAYAAAAoAB4AAAACAAYAAAApAB4AAAACAAYAAAAqAB4AAAACAAYAAAArAB4AAAACAAYAAAAsAB4AAAACAAYAAAAtAB4AAAACAAYAAAAuAB4AAAACAAYAAAAvAB4AAAACAAYAAAAwAB4AAAACAAYAAAAxAB4AAAACAAYAAAAyAB4AAAACAAYAAAAzAB4AAAACAAYAAAA0AB4AAAACAAYAAAA1AB4AAAACAAYAAAA2AB4AAAACAAYAAAA3AB4AAAACAAYAAAA4AB4AAAACAAYAAAA5AB4AAAACAAYAAAA6AB4AAAACAAYAAAA7AB4AAAACAAYAAAA8AB4AAAACAAYAAAA9AB4AAAACAAYAAAA+AB4AAAACAAYAAAA/AB4AAAACAAYAAAAAAB4AAAACAAYAAAABAB4AAAACAAYAAAACAB4AAAACAAYAAAADAB4AAAACAAYAAAAEAB4AAAACAAYAAAAFAB4AAAACAAYAAAAGAB4AAAACAAYAAAAHAB4AAAACAAYAAAAIAB4AAAACAAYAAAAJAB4AAAACAAYAAAAKAB4AAAACAAYAAAALAB4AAAACAAYAAAAMAB4AAAACAAYAAAANAB4AAAACAAYAAAA=")
+tile_set = SubResource("TileSet_lrrmr")
+
+[node name="Floor_StaticBody2D" type="StaticBody2D" parent="."]
+
+[node name="Floor_CollisionShape2D" type="CollisionShape2D" parent="Floor_StaticBody2D"]
+position = Vector2(575, 529)
+shape = SubResource("RectangleShape2D_r834c")
+
+[node name="TestPlatform_StaticBody2D" type="StaticBody2D" parent="."]
+collision_layer = 2
+
+[node name="TestPlatform_CollisionShape2D" type="CollisionShape2D" parent="TestPlatform_StaticBody2D"]
+position = Vector2(602, 435)
+shape = SubResource("RectangleShape2D_j8vi2")
+one_way_collision = true
+
+[node name="TestPlatform_StaticBody2D2" type="StaticBody2D" parent="."]
+collision_layer = 2
+
+[node name="TestPlatform_CollisionShape2D" type="CollisionShape2D" parent="TestPlatform_StaticBody2D2"]
+position = Vector2(602, 363)
+shape = SubResource("RectangleShape2D_j8vi2")
+one_way_collision = true
diff --git a/scenes/Main.tscn b/scenes/Main.tscn
new file mode 100644
index 0000000..1be6679
--- /dev/null
+++ b/scenes/Main.tscn
@@ -0,0 +1,17 @@
+[gd_scene load_steps=4 format=3 uid="uid://dssr27iktcld"]
+
+[ext_resource type="PackedScene" uid="uid://glgyen0w4614" path="res://scenes/Level1.tscn" id="1_7a2cc"]
+[ext_resource type="PackedScene" uid="uid://c5v4a4xjhe832" path="res://scenes/Player.tscn" id="2_ron50"]
+[ext_resource type="Script" uid="uid://uvuk2xh0skdi" path="res://src/entities/player/Player.cs" id="3_0bbpv"]
+
+[node name="Main" type="Node"]
+
+[node name="Level1" parent="." instance=ExtResource("1_7a2cc")]
+
+[node name="Player" parent="." instance=ExtResource("2_ron50")]
+position = Vector2(143, 492)
+script = ExtResource("3_0bbpv")
+
+[node name="Camera2D" type="Camera2D" parent="Player"]
+position = Vector2(144, -6)
+zoom = Vector2(2.5, 2.5)
diff --git a/scenes/Player.tscn b/scenes/Player.tscn
new file mode 100644
index 0000000..be8f6a6
--- /dev/null
+++ b/scenes/Player.tscn
@@ -0,0 +1,548 @@
+[gd_scene load_steps=73 format=3 uid="uid://c5v4a4xjhe832"]
+
+[ext_resource type="Texture2D" uid="uid://5j6cf0fssina" path="res://art/sprites/PlayerWalk 48x48.png" id="2_1hyc4"]
+[ext_resource type="Texture2D" uid="uid://bmi2lvb6o4hbr" path="res://art/sprites/player run 48x48.png" id="2_dcgkk"]
+[ext_resource type="Texture2D" uid="uid://cks3q4o02s7gt" path="res://art/sprites/Player Crouch-Idle 48x48.png" id="2_gos5p"]
+[ext_resource type="Texture2D" uid="uid://0l6m8kd0a36m" path="res://art/sprites/player crouch-walk 48x48.png" id="3_qgfgr"]
+[ext_resource type="Texture2D" uid="uid://wyisbm2pjg2l" path="res://art/sprites/Player Idle 48x48.png" id="4_jn0em"]
+[ext_resource type="Texture2D" uid="uid://bva7lbaacnj7a" path="res://art/sprites/player new jump 48x48.png" id="5_83okp"]
+[ext_resource type="Texture2D" uid="uid://j5lj70ywebv1" path="res://art/sprites/player land 48x48.png" id="6_xc5vd"]
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_wmiyk"]
+radius = 9.0
+height = 34.0
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_j0imd"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wii8i"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_p5oe0"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_y7d15"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_j76b8"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1vjds"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_daorg"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(288, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ig7od"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(336, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_q7ljo"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(384, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lo3b1"]
+atlas = ExtResource("2_gos5p")
+region = Rect2(432, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_fwma2"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k5jcu"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_en7bm"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_o0x6w"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_t0gwy"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ec8uj"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ha12i"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(288, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qr6jk"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(336, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ar6mq"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(384, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_74g0w"]
+atlas = ExtResource("3_qgfgr")
+region = Rect2(432, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rk3bd"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ej1y8"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_am4c6"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nimqo"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nn78r"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xhu8g"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_755mi"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(288, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_uupc3"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(336, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ncjm3"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(384, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jrt43"]
+atlas = ExtResource("4_jn0em")
+region = Rect2(432, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wykxr"]
+atlas = ExtResource("5_83okp")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5xonh"]
+atlas = ExtResource("5_83okp")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_46rgd"]
+atlas = ExtResource("5_83okp")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vj1v7"]
+atlas = ExtResource("5_83okp")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3ikxd"]
+atlas = ExtResource("5_83okp")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_l7v7a"]
+atlas = ExtResource("5_83okp")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6dqgy"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_maff2"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_seuxt"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lu756"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_bq8ja"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_amwrs"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_iq6my"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(288, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_80aur"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(336, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5yntb"]
+atlas = ExtResource("6_xc5vd")
+region = Rect2(384, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xq23i"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jnjqv"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0fcjb"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_cwtxs"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kn4va"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_l4vds"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_cixgp"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(288, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u0274"]
+atlas = ExtResource("2_dcgkk")
+region = Rect2(336, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gr0nd"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(0, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gatpv"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(48, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8tylp"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(96, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lqdwg"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(144, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1s4kw"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(192, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_inyv3"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(240, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_me01t"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(288, 0, 48, 48)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_d6fg5"]
+atlas = ExtResource("2_1hyc4")
+region = Rect2(336, 0, 48, 48)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_ywr77"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_j0imd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wii8i")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_p5oe0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_y7d15")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_j76b8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1vjds")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_daorg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ig7od")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_q7ljo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lo3b1")
+}],
+"loop": true,
+"name": &"crouch_idle",
+"speed": 6.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_fwma2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k5jcu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_en7bm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_o0x6w")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_t0gwy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ec8uj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ha12i")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qr6jk")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ar6mq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_74g0w")
+}],
+"loop": true,
+"name": &"crouch_walk",
+"speed": 6.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rk3bd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ej1y8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_am4c6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nimqo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nn78r")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xhu8g")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_755mi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_uupc3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ncjm3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jrt43")
+}],
+"loop": true,
+"name": &"idle",
+"speed": 6.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wykxr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5xonh")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_46rgd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vj1v7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3ikxd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_l7v7a")
+}],
+"loop": true,
+"name": &"jump",
+"speed": 6.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6dqgy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_maff2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_seuxt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lu756")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_bq8ja")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_amwrs")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_iq6my")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_80aur")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5yntb")
+}],
+"loop": true,
+"name": &"land",
+"speed": 6.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xq23i")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jnjqv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0fcjb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_cwtxs")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kn4va")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_l4vds")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_cixgp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u0274")
+}],
+"loop": true,
+"name": &"run",
+"speed": 6.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gr0nd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gatpv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8tylp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lqdwg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1s4kw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_inyv3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_me01t")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_d6fg5")
+}],
+"loop": true,
+"name": &"walk",
+"speed": 6.0
+}]
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_yho6t"]
+texture = ExtResource("2_1hyc4")
+texture_region_size = Vector2i(1, 1)
+1:0/0 = 0
+4:0/0 = 0
+7:0/0 = 0
+10:0/0 = 0
+13:0/0 = 0
+16:0/0 = 0
+19:0/0 = 0
+22:0/0 = 0
+1:1/0 = 0
+4:1/0 = 0
+7:1/0 = 0
+8:1/0 = 0
+9:1/0 = 0
+10:1/0 = 0
+11:1/0 = 0
+13:1/0 = 0
+16:1/0 = 0
+18:1/0 = 0
+19:1/0 = 0
+20:1/0 = 0
+21:1/0 = 0
+22:1/0 = 0
+23:1/0 = 0
+1:2/0 = 0
+4:2/0 = 0
+6:2/0 = 0
+7:2/0 = 0
+8:2/0 = 0
+9:2/0 = 0
+10:2/0 = 0
+13:2/0 = 0
+16:2/0 = 0
+18:2/0 = 0
+19:2/0 = 0
+20:2/0 = 0
+21:2/0 = 0
+22:2/0 = 0
+0:0/0 = 0
+2:0/0 = 0
+3:0/0 = 0
+5:0/0 = 0
+6:0/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_etv3c"]
+sources/0 = SubResource("TileSetAtlasSource_yho6t")
+
+[node name="Player" type="CharacterBody2D"]
+collision_layer = 4
+collision_mask = 3
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("CapsuleShape2D_wmiyk")
+
+[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
+sprite_frames = SubResource("SpriteFrames_ywr77")
+animation = &"land"
+frame = 2
+frame_progress = 0.112285
+
+[node name="Area2D" type="Area2D" parent="."]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+shape = SubResource("CapsuleShape2D_wmiyk")
+
+[node name="TileMapLayer" type="TileMapLayer" parent="."]
+tile_set = SubResource("TileSet_etv3c")
diff --git a/src/entities/player/Player.cs b/src/entities/player/Player.cs
new file mode 100644
index 0000000..038a049
--- /dev/null
+++ b/src/entities/player/Player.cs
@@ -0,0 +1,122 @@
+using Godot;
+using System;
+
+public partial class Player : CharacterBody2D
+{
+ // Constantes
+ private const float SPEED = 50.0f;
+ private const float JUMP_VELOCITY = -400.0f;
+
+ // Acciones
+ private bool RUN_ACTION;
+ private bool JUMP_ACTION;
+ private bool WALK_ACTION;
+ private bool WALK_RIGHT;
+ private bool WALK_LEFT;
+ private bool CROUCH_ACTION;
+
+ // Variables varias
+ private Vector2 screenSize;
+ private uint originalCollisionMask;
+
+ public override void _Ready()
+ {
+ screenSize = GetViewportRect().Size;
+ originalCollisionMask = CollisionMask;
+ }
+
+ public override void _Process(double delta)
+ {
+ // Actualizar acciones
+ RUN_ACTION = Input.IsActionPressed("run");
+ JUMP_ACTION = Input.IsActionPressed("jump");
+ WALK_ACTION = Input.IsActionPressed("move_left") || Input.IsActionPressed("move_right");
+ WALK_RIGHT = Input.IsActionPressed("move_right");
+ WALK_LEFT = Input.IsActionPressed("move_left");
+ CROUCH_ACTION = Input.IsActionPressed("crouch");
+
+ var sprite = GetNode("AnimatedSprite2D");
+
+ // Animaciones
+ sprite.Play();
+ sprite.FlipV = false;
+ sprite.FlipH = Velocity.X < 0;
+
+ // Movimiento con animaciones
+ if (Velocity.X != 0)
+ {
+ if (RUN_ACTION)
+ {
+ if (JUMP_ACTION && !IsOnFloor())
+ sprite.Animation = "jump";
+ else
+ sprite.Animation = "run";
+ }
+ else if (WALK_ACTION)
+ {
+ if (CROUCH_ACTION)
+ sprite.Animation = "crouch_walk";
+ else if (JUMP_ACTION && !IsOnFloor())
+ sprite.Animation = "jump";
+ else
+ sprite.Animation = "walk";
+ }
+ }
+ else // Idle
+ {
+ if (CROUCH_ACTION)
+ sprite.Animation = "crouch_idle";
+ else if (JUMP_ACTION && !IsOnFloor())
+ sprite.Animation = "jump";
+ else
+ sprite.Animation = "idle";
+ }
+ }
+
+ public override void _PhysicsProcess(double delta)
+ {
+ // Gravedad
+ if (!IsOnFloor())
+ Velocity += GetGravity() * (float)delta;
+
+ // Saltos
+ if (Input.IsActionJustPressed("jump") && IsOnFloor())
+ {
+ if (Input.IsActionPressed("crouch"))
+ Velocity = new Vector2(Velocity.X, 0.65f * JUMP_VELOCITY);
+ else if (Input.IsActionPressed("run"))
+ Velocity = new Vector2(Velocity.X, 1.15f * JUMP_VELOCITY);
+ else
+ Velocity = new Vector2(Velocity.X, JUMP_VELOCITY);
+ }
+
+ // Movimiento lateral
+ float direction = Input.GetAxis("move_left", "move_right");
+ if (direction != 0)
+ {
+ if (Input.IsActionPressed("run"))
+ Velocity = new Vector2(direction * 3 * SPEED, Velocity.Y);
+ else
+ Velocity = new Vector2(direction * SPEED, Velocity.Y);
+ }
+ else
+ {
+ Velocity = new Vector2(Mathf.MoveToward(Velocity.X, 0, SPEED), Velocity.Y);
+ }
+
+ // Caída de plataformas
+ if (IsOnPlatform() && Input.IsActionJustPressed("crouch"))
+ CollisionMask &= 1;
+
+ if (!Input.IsActionPressed("crouch") && CollisionMask != originalCollisionMask)
+ CollisionMask = originalCollisionMask;
+
+ MoveAndSlide();
+ }
+
+ private bool IsOnPlatform()
+ {
+ // En tu caso los "plataformas" tienen máscara 3
+ return IsOnFloor() && CollisionMask == 3;
+ }
+}
diff --git a/src/entities/player/Player.cs.uid b/src/entities/player/Player.cs.uid
new file mode 100644
index 0000000..1aabf71
--- /dev/null
+++ b/src/entities/player/Player.cs.uid
@@ -0,0 +1 @@
+uid://uvuk2xh0skdi