diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 474c807..4f85499 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1,53 +1,84 @@
name: sorting
on:
push:
- branches: [ main ]
+ branches: [main]
paths:
- - '_sprites/**'
- - 'scripts/**'
+ - "_sprites/**"
+ - "scripts/**"
+
+concurrency:
+ group: sorting-${{ github.ref }}
+ cancel-in-progress: true
permissions:
contents: write
jobs:
run-scripts:
+ if: github.actor != 'github-actions[bot]'
runs-on: ubuntu-latest
-
+
steps:
- - name: checkout
- uses: actions/checkout@v4
-
- - name: setup
- uses: actions/setup-node@v4
- with:
- node-version: '20'
-
- - name: requirments
- run: npm ci
-
- - name: scripts
- working-directory: ./scripts
- run: |
- npx tsx write.ts
- npx tsx sort.ts
- npx tsx unready.ts
-
- - name: commit changes
- run: |
- git config --local user.email "action@github.com"
- git config --local user.name "GitHub Action"
- git add ./_sprites/unready
- git commit -m "updated unready list" || exit 0
- git add ./scripts/data.json
- git commit -m "updated data" || exit 0
- git push
-
- - name: upload
- uses: actions/upload-artifact@v4
- with:
- name: sorted
- path: ./_sprites/sorted
- retention-days: 15
-
- - name: remove temp sorted folder
- run: rm -rf ./_sprites/sorted
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node + npm cache
+ uses: actions/setup-node@v6
+ with:
+ node-version: "20"
+ cache: "npm"
+ cache-dependency-path: ./package-lock.json
+
+ - name: npm ci
+ working-directory: ./scripts
+ run: npm ci --no-audit --no-fund
+
+ - name: setup python + pip cache
+ uses: actions/setup-python@v6
+ with:
+ python-version: "3.13"
+ cache: "pip"
+ cache-dependency-path: ./requirements.txt
+
+ - name: install python deps
+ working-directory: ./scripts
+ run: pip install -r requirements.txt
+
+ - name: scripts
+ working-directory: ./scripts
+ run: |
+ rm -rf ../_sprites/unready
+ npx tsx write.ts
+ npx tsx sort.ts
+ npx tsx unready.ts
+
+ - name: commit changes (exclude sorted)
+ run: |
+ git config --local user.email "action@github.com"
+ git config --local user.name "GitHub Action"
+ git add -A .
+ git reset _sprites/sorted
+ git reset _sprites/sorted-merged
+ git commit -m "actions commit" || exit 0
+ git push
+
+ - name: upload sorted
+ uses: actions/upload-artifact@v4
+ with:
+ name: sorted
+ path: ./_sprites/sorted
+ retention-days: 15
+ compression-level: 0
+
+ - name: upload sorted-merged
+ uses: actions/upload-artifact@v4
+ with:
+ name: sorted-merged
+ path: ./_sprites/sorted-merged
+ retention-days: 15
+ compression-level: 0
+
+ - name: remove temp sorted folder
+ run: |
+ rm -rf ./_sprites/sorted
+ rm -rf ./_sprites/sorted-merged
diff --git a/.gitignore b/.gitignore
index 0bbb00a..9354bd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
*.DS_Store
-.vscode/
\ No newline at end of file
+.vscode/
+node_modules/
\ No newline at end of file
diff --git a/README.md b/README.md
index 988d6ba..61cdf8b 100644
--- a/README.md
+++ b/README.md
@@ -1,38 +1,36 @@
# СПРАЙТОВСКАЯ КОВАЛЬНЯ ПО ДЕЛЬТА-РУНЕ
-Самая умная система перевода спрайтов по Дельта-Руне!
+cамая умная система перевода спрайтов по Дельта-Руне! _да-да_
-## Как что работает?
+[](https://github.com/snusxd/deltasprite/actions/workflows/main.yml)
-Теперь спрайтерам не нужно вообще что-либо сортировать! Всё делается за них, и за Дюдю! :3
+## как что работает?
-Все переведённые спрайты лежат в папке `_sprites/translation`. Говоря «все» я **реально** имею ввиду все.
-Просто скидывайте свой переведённый спрайт в эту папку, и всё! Везде, где этот спрайт будет использоваться, он и окажется потом!
+сортировка спрайтов теперь НЕ НУЖНА! всё делается автоматически! :D
-## Папочки... и для чего они...
+все переведённые спрайты пихайте в `_sprites/translation`. под «все» я **реально** имею ввиду все.
+просто скидывайте переведённый спрайт в эту папку, и всё! везде, где этот спрайт используется в игре, он переведётся!
-Краткий экскурс!
+## папочки... что куда?
----
+краткий экскурс!
-**Что спрайтером нужно:**
+**ОСНОВНОЕ:**
-`_sprites` — общая папка, в которой лежат все картинки
+`_sprites` — общая папка для картинок
-`_sprites/original` — папка, в которой лежат оригинальные спрайты, не переведённые и отсортированные по главам. от того, что находится в них, зависит, что попадёт в отобранную папку
+`_sprites/original` - тут все оригинальные спрайты. от того, как спрайты расположены в этой папке зависит, куда попадут переводённые спрайты после сортировки
-`_sprites/translation` — папка, в которой и лежат все **русские** спрайты
+`_sprites/translation` — тут ВСЕ переведёненые спрайты (в одной куче, да)
-`_sprites/sorted` — та самая папка, в которой уже отобраны все спрайты по главам (в общем, для общих глаз она так-то бессмысленна... наверное :D)
-
-`_sprites/unready` — вообще не переведённые спрайты
+`_sprites/unready` — все спрайты, оставшиеся без перевода!
`_sprites/cut.txt` — вырезня (не идут в учёт непереведённых спрайтов)
-**Что спрайтерам не нужно:**
+**так, для справочки:**
-`node_modules` и `scripts` и все остальные файлы — для общих глазок не нужны, нужны для автоматической системы сортировки
+`_sprites/sorted` — та самая папка, в которой все спрайты лежат в отсортированном виде
----
+`node_modules`, `scripts` и т.д. это просто шла-а-ак...
# :P
diff --git a/_sprites/cut.txt b/_sprites/cut.txt
deleted file mode 100644
index 318e869..0000000
--- a/_sprites/cut.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-Для того, чтобы спрайт не шёл в учёт неготовых нужно написать его название в списке ниже!
-Просто название спрайта, без каких-либо дополнительных символов.
-
-Вырезня:
-spr_ch3_gameshow_round
-spr_ch3_GSA01G_tvtimescreenshot
-spr_mansion_traffic_2fsign
-bg_dw_music_ext_original
-spr_board_tile_quiz
-spr_ch3_chef_specialguestText
-spr_gameshow_halloffame_left
-spr_gameshow_halloffame_right
-spr_gameshow_screen_halloffame
-spr_board_tile_quiz
-spr_dw_green_room_poster_left
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png
old mode 100755
new mode 100644
index e96ee6f..b5915ab
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png
old mode 100755
new mode 100644
index 0da7f4b..ac10246
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_10.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_10.png
deleted file mode 100755
index 4a84321..0000000
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_10.png and /dev/null differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png
old mode 100755
new mode 100644
index 4584cf0..fe5227d
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png
old mode 100755
new mode 100644
index 2024f77..84aff75
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png
old mode 100755
new mode 100644
index 52c12d8..87cfab6
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png
old mode 100755
new mode 100644
index 3207a65..c601a21
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png
old mode 100755
new mode 100644
index c9f4288..e91162e
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png
old mode 100755
new mode 100644
index 2024f77..8c233aa
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png
old mode 100755
new mode 100644
index 22bec95..2254117
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png and b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png differ
diff --git a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_9.png b/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_9.png
deleted file mode 100755
index 60a6dce..0000000
Binary files a/_sprites/original/chapter2/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_9.png and /dev/null differ
diff --git a/_sprites/original/chapter2/bg_building_store.png b/_sprites/original/chapter2/bg_building_store.png
deleted file mode 100755
index a149380..0000000
Binary files a/_sprites/original/chapter2/bg_building_store.png and /dev/null differ
diff --git a/_sprites/original/chapter2/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_0.png b/_sprites/original/chapter2/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_0.png
new file mode 100644
index 0000000..3b06942
Binary files /dev/null and b/_sprites/original/chapter2/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_0.png differ
diff --git a/_sprites/original/chapter2/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_1.png b/_sprites/original/chapter2/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_1.png
new file mode 100644
index 0000000..e90ba3f
Binary files /dev/null and b/_sprites/original/chapter2/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_1.png differ
diff --git a/_sprites/original/chapter2/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_0.png b/_sprites/original/chapter2/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_0.png
new file mode 100644
index 0000000..3559289
Binary files /dev/null and b/_sprites/original/chapter2/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_0.png differ
diff --git a/_sprites/original/chapter2/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_1.png b/_sprites/original/chapter2/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_1.png
new file mode 100644
index 0000000..608a883
Binary files /dev/null and b/_sprites/original/chapter2/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_1.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png
index 1fd8c5b..9bc6de2 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png
index 9480f46..17cfd5a 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png
index 569da7c..92d96f6 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png
index 17d723e..6b63963 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png
index b22aa16..cd21301 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png
index ab8c215..eff41db 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png
index 0a56c5e..8271fcc 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png
index af68ad8..2fe111b 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png
index ac89bc0..95f4e29 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png
index 7794194..5eee393 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png
index 9ed4b21..127a8c7 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png
index b246bd4..c08a637 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png
index 461443c..542a782 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png
index 84b739d..772017d 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png
index f5f1f02..2255fae 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png
index 0c27e30..77f2820 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png
index c27dcf7..c30d55e 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png
index 0c5a9c1..afc3372 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png
index 26d38d9..0754337 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png
index c03f225..ae15655 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png
index 33c75d7..a38e50b 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png
index 5e60941..ff7c319 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png
index f6f0ee9..a91c8df 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png
index 10de077..7d4a253 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png
index c723df8..9e9a894 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png
index 58581dc..69d9503 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png
index 9c32d83..c0d493d 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png
index 8cf2b98..6421306 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png
index 99a6362..eb6a6e7 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png
index d744922..aad1c91 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png
index 5375725..6a4912c 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png
index b75bec5..7356609 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png
index cf784d5..7b2072a 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png
index 0b9d0f0..0f8dd85 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png
index bfa49e0..8031c88 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png
index 8a1adba..db02cbb 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png
index 22273fa..bd3771f 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png differ
diff --git a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png
index 9976000..1685f69 100755
Binary files a/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png and b/_sprites/original/chapter2/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png differ
diff --git a/_sprites/original/chapter2/spr_cutscene_26_plugboy.png b/_sprites/original/chapter2/spr_cutscene_26_plugboy.png
deleted file mode 100755
index 472dabf..0000000
Binary files a/_sprites/original/chapter2/spr_cutscene_26_plugboy.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_0.png b/_sprites/original/chapter2/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_0.png
new file mode 100644
index 0000000..39a7a95
Binary files /dev/null and b/_sprites/original/chapter2/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_0.png differ
diff --git a/_sprites/original/chapter2/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_1.png b/_sprites/original/chapter2/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_1.png
new file mode 100644
index 0000000..6ada77e
Binary files /dev/null and b/_sprites/original/chapter2/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_1.png differ
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_9.png b/_sprites/original/chapter2/spr_headkris/spr_headkris_9.png
deleted file mode 100755
index b187641..0000000
Binary files a/_sprites/original/chapter2/spr_headkris/spr_headkris_9.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_0.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_0.png
deleted file mode 100755
index b840ee3..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_0.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_1.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_1.png
deleted file mode 100755
index e539f99..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_1.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_10.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_10.png
deleted file mode 100755
index 614354d..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_10.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_2.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_2.png
deleted file mode 100755
index 396af48..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_2.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_3.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_3.png
deleted file mode 100755
index 64d14d6..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_3.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_4.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_4.png
deleted file mode 100755
index e94214f..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_4.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_5.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_5.png
deleted file mode 100755
index 4ec736b..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_5.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_6.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_6.png
deleted file mode 100755
index 528218d..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_6.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_7.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_7.png
deleted file mode 100755
index 98407e0..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_7.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_8.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_8.png
deleted file mode 100755
index f118a3c..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_8.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_9.png b/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_9.png
deleted file mode 100755
index acc76f1..0000000
Binary files a/_sprites/original/chapter2/spr_headnoelle/spr_headnoelle_9.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_9.png b/_sprites/original/chapter2/spr_headralsei/spr_headralsei_9.png
deleted file mode 100755
index 12f2554..0000000
Binary files a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_9.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_9.png b/_sprites/original/chapter2/spr_headsusie/spr_headsusie_9.png
deleted file mode 100755
index 086af28..0000000
Binary files a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_9.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy.png b/_sprites/original/chapter2/spr_npc_plugboy.png
deleted file mode 100755
index 76245ff..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy/spr_npc_plugboy_0.png b/_sprites/original/chapter2/spr_npc_plugboy/spr_npc_plugboy_0.png
new file mode 100644
index 0000000..960c36a
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy/spr_npc_plugboy_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy/spr_npc_plugboy_1.png b/_sprites/original/chapter2/spr_npc_plugboy/spr_npc_plugboy_1.png
new file mode 100644
index 0000000..3e2b6b0
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy/spr_npc_plugboy_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_bandana.png b/_sprites/original/chapter2/spr_npc_plugboy_bandana.png
deleted file mode 100755
index 4895757..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_bandana.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png b/_sprites/original/chapter2/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png
new file mode 100644
index 0000000..7b4ccf9
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png b/_sprites/original/chapter2/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png
new file mode 100644
index 0000000..f4907bf
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_girl.png b/_sprites/original/chapter2/spr_npc_plugboy_girl.png
deleted file mode 100755
index 0e914c1..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_girl.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png b/_sprites/original/chapter2/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png
new file mode 100644
index 0000000..9baad51
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png b/_sprites/original/chapter2/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png
new file mode 100644
index 0000000..90bb45e
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_hat.png b/_sprites/original/chapter2/spr_npc_plugboy_hat.png
deleted file mode 100755
index 7543675..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_hat.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png b/_sprites/original/chapter2/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png
new file mode 100644
index 0000000..15cb6a5
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png b/_sprites/original/chapter2/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png
new file mode 100644
index 0000000..6deed53
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_shock.png b/_sprites/original/chapter2/spr_npc_plugboy_shock.png
deleted file mode 100755
index 7d54a1f..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_shock.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png b/_sprites/original/chapter2/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png
new file mode 100644
index 0000000..7b2e877
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png b/_sprites/original/chapter2/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png
new file mode 100644
index 0000000..10e3ec5
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_static.png b/_sprites/original/chapter2/spr_npc_plugboy_static.png
deleted file mode 100755
index 472dabf..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_static.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png b/_sprites/original/chapter2/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png
new file mode 100644
index 0000000..c003f7e
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png b/_sprites/original/chapter2/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png
new file mode 100644
index 0000000..9ddee27
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_static_outline.png b/_sprites/original/chapter2/spr_npc_plugboy_static_outline.png
deleted file mode 100755
index fc55213..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_static_outline.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png b/_sprites/original/chapter2/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png
new file mode 100644
index 0000000..4541f7d
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png b/_sprites/original/chapter2/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png
new file mode 100644
index 0000000..6cb3bce
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_wig.png b/_sprites/original/chapter2/spr_npc_plugboy_wig.png
deleted file mode 100755
index c8b9f66..0000000
Binary files a/_sprites/original/chapter2/spr_npc_plugboy_wig.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png b/_sprites/original/chapter2/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png
new file mode 100644
index 0000000..15b5750
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png differ
diff --git a/_sprites/original/chapter2/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png b/_sprites/original/chapter2/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png
new file mode 100644
index 0000000..11b0b7d
Binary files /dev/null and b/_sprites/original/chapter2/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png differ
diff --git a/_sprites/original/chapter2/spr_plugboy_cower.png b/_sprites/original/chapter2/spr_plugboy_cower.png
deleted file mode 100755
index 05cfc7d..0000000
Binary files a/_sprites/original/chapter2/spr_plugboy_cower.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_plugboy_cower/spr_plugboy_cower_0.png b/_sprites/original/chapter2/spr_plugboy_cower/spr_plugboy_cower_0.png
new file mode 100644
index 0000000..1a1c567
Binary files /dev/null and b/_sprites/original/chapter2/spr_plugboy_cower/spr_plugboy_cower_0.png differ
diff --git a/_sprites/original/chapter2/spr_plugboy_cower/spr_plugboy_cower_1.png b/_sprites/original/chapter2/spr_plugboy_cower/spr_plugboy_cower_1.png
new file mode 100644
index 0000000..c57d983
Binary files /dev/null and b/_sprites/original/chapter2/spr_plugboy_cower/spr_plugboy_cower_1.png differ
diff --git a/_sprites/original/chapter2/spr_plugboy_shock.png b/_sprites/original/chapter2/spr_plugboy_shock.png
deleted file mode 100755
index cfb68ca..0000000
Binary files a/_sprites/original/chapter2/spr_plugboy_shock.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_plugboy_shock/spr_plugboy_shock_0.png b/_sprites/original/chapter2/spr_plugboy_shock/spr_plugboy_shock_0.png
new file mode 100644
index 0000000..b9e1846
Binary files /dev/null and b/_sprites/original/chapter2/spr_plugboy_shock/spr_plugboy_shock_0.png differ
diff --git a/_sprites/original/chapter2/spr_plugboy_shock/spr_plugboy_shock_1.png b/_sprites/original/chapter2/spr_plugboy_shock/spr_plugboy_shock_1.png
new file mode 100644
index 0000000..b19257a
Binary files /dev/null and b/_sprites/original/chapter2/spr_plugboy_shock/spr_plugboy_shock_1.png differ
diff --git a/_sprites/original/chapter2/spr_plugboy_spare.png b/_sprites/original/chapter2/spr_plugboy_spare.png
old mode 100755
new mode 100644
index ae566f4..34b8086
Binary files a/_sprites/original/chapter2/spr_plugboy_spare.png and b/_sprites/original/chapter2/spr_plugboy_spare.png differ
diff --git a/_sprites/original/chapter3/IMAGE_LOGO.png b/_sprites/original/chapter3/IMAGE_LOGO.png
new file mode 100644
index 0000000..a10296c
Binary files /dev/null and b/_sprites/original/chapter3/IMAGE_LOGO.png differ
diff --git a/_sprites/original/chapter3/IMAGE_LOGO_CENTER_HEART.png b/_sprites/original/chapter3/IMAGE_LOGO_CENTER_HEART.png
new file mode 100644
index 0000000..b5e0c78
Binary files /dev/null and b/_sprites/original/chapter3/IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/original/chapter3/bg_alphysalley.png b/_sprites/original/chapter3/bg_alphysalley.png
deleted file mode 100755
index 335f127..0000000
Binary files a/_sprites/original/chapter3/bg_alphysalley.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_diner.png b/_sprites/original/chapter3/bg_building_diner.png
deleted file mode 100755
index 02da2a3..0000000
Binary files a/_sprites/original/chapter3/bg_building_diner.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_flowershop.png b/_sprites/original/chapter3/bg_building_flowershop.png
deleted file mode 100755
index 10151ab..0000000
Binary files a/_sprites/original/chapter3/bg_building_flowershop.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_hospital.png b/_sprites/original/chapter3/bg_building_hospital.png
deleted file mode 100755
index f42fb2a..0000000
Binary files a/_sprites/original/chapter3/bg_building_hospital.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_icee.png b/_sprites/original/chapter3/bg_building_icee.png
deleted file mode 100644
index 1747723..0000000
Binary files a/_sprites/original/chapter3/bg_building_icee.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_library.png b/_sprites/original/chapter3/bg_building_library.png
deleted file mode 100755
index 16c3266..0000000
Binary files a/_sprites/original/chapter3/bg_building_library.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_police.png b/_sprites/original/chapter3/bg_building_police.png
deleted file mode 100755
index 9ef6635..0000000
Binary files a/_sprites/original/chapter3/bg_building_police.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_store.png b/_sprites/original/chapter3/bg_building_store.png
deleted file mode 100644
index 3dd5a8c..0000000
Binary files a/_sprites/original/chapter3/bg_building_store.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_townhall.png b/_sprites/original/chapter3/bg_building_townhall.png
deleted file mode 100644
index 13df592..0000000
Binary files a/_sprites/original/chapter3/bg_building_townhall.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_building_townhall_layer2.png b/_sprites/original/chapter3/bg_building_townhall_layer2.png
new file mode 100644
index 0000000..4547ccf
Binary files /dev/null and b/_sprites/original/chapter3/bg_building_townhall_layer2.png differ
diff --git a/_sprites/original/chapter3/bg_cctiles.png b/_sprites/original/chapter3/bg_cctiles.png
deleted file mode 100644
index 7f589ae..0000000
Binary files a/_sprites/original/chapter3/bg_cctiles.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_b3bs_interstitial.png b/_sprites/original/chapter3/bg_dw_b3bs_interstitial.png
deleted file mode 100644
index 941aef4..0000000
Binary files a/_sprites/original/chapter3/bg_dw_b3bs_interstitial.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_bakery.png b/_sprites/original/chapter3/bg_dw_bakery.png
deleted file mode 100755
index 46a8f1a..0000000
Binary files a/_sprites/original/chapter3/bg_dw_bakery.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_castle_cafe_in.png b/_sprites/original/chapter3/bg_dw_castle_cafe_in.png
deleted file mode 100755
index 4904fd1..0000000
Binary files a/_sprites/original/chapter3/bg_dw_castle_cafe_in.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_castle_music_shop.png b/_sprites/original/chapter3/bg_dw_castle_music_shop.png
deleted file mode 100755
index 072b3f1..0000000
Binary files a/_sprites/original/chapter3/bg_dw_castle_music_shop.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_dojo_help.png b/_sprites/original/chapter3/bg_dw_dojo_help.png
deleted file mode 100755
index 11719f5..0000000
Binary files a/_sprites/original/chapter3/bg_dw_dojo_help.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_music_ext.png b/_sprites/original/chapter3/bg_dw_music_ext.png
deleted file mode 100755
index 003fc3f..0000000
Binary files a/_sprites/original/chapter3/bg_dw_music_ext.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_music_ext_original.png b/_sprites/original/chapter3/bg_dw_music_ext_original.png
deleted file mode 100755
index eb05d8d..0000000
Binary files a/_sprites/original/chapter3/bg_dw_music_ext_original.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_tvland_backstage_tiles_old.png b/_sprites/original/chapter3/bg_dw_tvland_backstage_tiles_old.png
deleted file mode 100644
index a52db45..0000000
Binary files a/_sprites/original/chapter3/bg_dw_tvland_backstage_tiles_old.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_dw_tvland_stage_tiles_old.png b/_sprites/original/chapter3/bg_dw_tvland_stage_tiles_old.png
deleted file mode 100644
index a51271c..0000000
Binary files a/_sprites/original/chapter3/bg_dw_tvland_stage_tiles_old.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_library.png b/_sprites/original/chapter3/bg_library.png
deleted file mode 100644
index b99a54b..0000000
Binary files a/_sprites/original/chapter3/bg_library.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_lw_ice_e_pizza.png b/_sprites/original/chapter3/bg_lw_ice_e_pizza.png
deleted file mode 100755
index d9facb0..0000000
Binary files a/_sprites/original/chapter3/bg_lw_ice_e_pizza.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_lw_sans_conbini.png b/_sprites/original/chapter3/bg_lw_sans_conbini.png
deleted file mode 100755
index 06a07d6..0000000
Binary files a/_sprites/original/chapter3/bg_lw_sans_conbini.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_policebarricade.png b/_sprites/original/chapter3/bg_policebarricade.png
deleted file mode 100755
index 9e3c3fc..0000000
Binary files a/_sprites/original/chapter3/bg_policebarricade.png and /dev/null differ
diff --git a/_sprites/original/chapter3/bg_torielclass_ch2.png b/_sprites/original/chapter3/bg_torielclass_ch2.png
deleted file mode 100755
index aecfb86..0000000
Binary files a/_sprites/original/chapter3/bg_torielclass_ch2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/saloon_Train_NoneMove.png b/_sprites/original/chapter3/saloon_Train_NoneMove.png
deleted file mode 100644
index 46c8c91..0000000
Binary files a/_sprites/original/chapter3/saloon_Train_NoneMove.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_acrade_fightagain/spr_acrade_fightagain_0.png b/_sprites/original/chapter3/spr_acrade_fightagain/spr_acrade_fightagain_0.png
deleted file mode 100644
index ef1ab5b..0000000
Binary files a/_sprites/original/chapter3/spr_acrade_fightagain/spr_acrade_fightagain_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_acrade_fightagain/spr_acrade_fightagain_1.png b/_sprites/original/chapter3/spr_acrade_fightagain/spr_acrade_fightagain_1.png
deleted file mode 100644
index 9a5d1a4..0000000
Binary files a/_sprites/original/chapter3/spr_acrade_fightagain/spr_acrade_fightagain_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_acrade_giveup.png b/_sprites/original/chapter3/spr_acrade_giveup.png
deleted file mode 100755
index e51539b..0000000
Binary files a/_sprites/original/chapter3/spr_acrade_giveup.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_acrade_retire/spr_acrade_retire_0.png b/_sprites/original/chapter3/spr_acrade_retire/spr_acrade_retire_0.png
deleted file mode 100644
index 557555e..0000000
Binary files a/_sprites/original/chapter3/spr_acrade_retire/spr_acrade_retire_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_acrade_retire/spr_acrade_retire_1.png b/_sprites/original/chapter3/spr_acrade_retire/spr_acrade_retire_1.png
deleted file mode 100644
index 0aa24ef..0000000
Binary files a/_sprites/original/chapter3/spr_acrade_retire/spr_acrade_retire_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_arcade_fight.png b/_sprites/original/chapter3/spr_arcade_fight.png
deleted file mode 100755
index 3279bca..0000000
Binary files a/_sprites/original/chapter3/spr_arcade_fight.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_arcade_round1.png b/_sprites/original/chapter3/spr_arcade_round1.png
deleted file mode 100755
index ae675ea..0000000
Binary files a/_sprites/original/chapter3/spr_arcade_round1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_arcade_youlose.png b/_sprites/original/chapter3/spr_arcade_youlose.png
deleted file mode 100755
index 90ad233..0000000
Binary files a/_sprites/original/chapter3/spr_arcade_youlose.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_0.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_0.png
index 2de764c..bdd2a2e 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_0.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_0.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_1.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_1.png
index 537aa11..98cb48b 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_1.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_1.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_10.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_10.png
index c753a3d..fcf3d18 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_10.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_10.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_11.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_11.png
index 4ac538f..0fef2ae 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_11.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_11.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_12.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_12.png
index e8c2bfa..62d1d9b 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_12.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_12.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_13.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_13.png
index 6f43fda..218ac3f 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_13.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_13.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_14.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_14.png
index 9d627bf..25c145f 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_14.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_14.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_2.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_2.png
index 164d8df..2914217 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_2.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_2.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_3.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_3.png
index c485ebc..2040035 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_3.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_3.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_4.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_4.png
index 2fee01d..d4f02c5 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_4.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_4.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_5.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_5.png
index cd354eb..3c8fc47 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_5.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_5.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_6.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_6.png
index 0c95e5e..0d8e7ba 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_6.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_6.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_7.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_7.png
index a09b681..44f8165 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_7.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_7.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_8.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_8.png
index 9707226..00cd770 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_8.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_8.png differ
diff --git a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_9.png b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_9.png
index 945b2c3..f8db1e9 100755
Binary files a/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_9.png and b/_sprites/original/chapter3/spr_battlemsg/spr_battlemsg_9.png differ
diff --git a/_sprites/original/chapter3/spr_bnamenoelle.png b/_sprites/original/chapter3/spr_bnamenoelle.png
deleted file mode 100755
index 7cc39d9..0000000
Binary files a/_sprites/original/chapter3/spr_bnamenoelle.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_bnamethrash.png b/_sprites/original/chapter3/spr_bnamethrash.png
deleted file mode 100755
index 3fb432d..0000000
Binary files a/_sprites/original/chapter3/spr_bnamethrash.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_b3stairdoor.png b/_sprites/original/chapter3/spr_board_b3stairdoor.png
deleted file mode 100644
index 8f612f5..0000000
Binary files a/_sprites/original/chapter3/spr_board_b3stairdoor.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_b3stairdoor_big.png b/_sprites/original/chapter3/spr_board_b3stairdoor_big.png
deleted file mode 100644
index 67fc63f..0000000
Binary files a/_sprites/original/chapter3/spr_board_b3stairdoor_big.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_b3stairs.png b/_sprites/original/chapter3/spr_board_b3stairs.png
deleted file mode 100644
index d6c0917..0000000
Binary files a/_sprites/original/chapter3/spr_board_b3stairs.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_b3tvtower.png b/_sprites/original/chapter3/spr_board_b3tvtower.png
deleted file mode 100644
index eabc59f..0000000
Binary files a/_sprites/original/chapter3/spr_board_b3tvtower.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_check_warp.png b/_sprites/original/chapter3/spr_board_check_warp.png
deleted file mode 100644
index a99862b..0000000
Binary files a/_sprites/original/chapter3/spr_board_check_warp.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_event.png b/_sprites/original/chapter3/spr_board_event.png
deleted file mode 100644
index dc3e839..0000000
Binary files a/_sprites/original/chapter3/spr_board_event.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_freeroamTrigger.png b/_sprites/original/chapter3/spr_board_freeroamTrigger.png
deleted file mode 100644
index 59d3a52..0000000
Binary files a/_sprites/original/chapter3/spr_board_freeroamTrigger.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_game_title_tvtime.png b/_sprites/original/chapter3/spr_board_game_title_tvtime.png
deleted file mode 100644
index 3dca324..0000000
Binary files a/_sprites/original/chapter3/spr_board_game_title_tvtime.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_movingEnemy.png b/_sprites/original/chapter3/spr_board_movingEnemy.png
deleted file mode 100644
index d4b061c..0000000
Binary files a/_sprites/original/chapter3/spr_board_movingEnemy.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_quiztile.png b/_sprites/original/chapter3/spr_board_quiztile.png
deleted file mode 100644
index 0b080b8..0000000
Binary files a/_sprites/original/chapter3/spr_board_quiztile.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_screenColorChanger.png b/_sprites/original/chapter3/spr_board_screenColorChanger.png
deleted file mode 100644
index 9343b4e..0000000
Binary files a/_sprites/original/chapter3/spr_board_screenColorChanger.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_tile_quiz.png b/_sprites/original/chapter3/spr_board_tile_quiz.png
deleted file mode 100644
index 0824e79..0000000
Binary files a/_sprites/original/chapter3/spr_board_tile_quiz.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_treasuremarker.png b/_sprites/original/chapter3/spr_board_treasuremarker.png
deleted file mode 100644
index ab8b922..0000000
Binary files a/_sprites/original/chapter3/spr_board_treasuremarker.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency/spr_board_yogurtemergency_0.png b/_sprites/original/chapter3/spr_board_yogurtemergency/spr_board_yogurtemergency_0.png
deleted file mode 100644
index accfcf8..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency/spr_board_yogurtemergency_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency/spr_board_yogurtemergency_1.png b/_sprites/original/chapter3/spr_board_yogurtemergency/spr_board_yogurtemergency_1.png
deleted file mode 100644
index b95f5bc..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency/spr_board_yogurtemergency_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_0.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_0.png
deleted file mode 100644
index f56a440..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_1.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_1.png
deleted file mode 100644
index dbb3a42..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_10.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_10.png
deleted file mode 100644
index 8695507..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_11.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_11.png
deleted file mode 100644
index c0fe50d..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_12.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_12.png
deleted file mode 100644
index 19c7c16..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_13.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_13.png
deleted file mode 100644
index b83f656..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_14.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_14.png
deleted file mode 100644
index 83b6b07..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_15.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_15.png
deleted file mode 100644
index 2941e8c..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_15.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_16.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_16.png
deleted file mode 100644
index 114d989..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_16.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_17.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_17.png
deleted file mode 100644
index 8fa9307..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_17.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_18.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_18.png
deleted file mode 100644
index cb34178..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_18.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_19.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_19.png
deleted file mode 100644
index eeb6a49..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_19.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_2.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_2.png
deleted file mode 100644
index f74e583..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_20.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_20.png
deleted file mode 100644
index afe7212..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_20.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_21.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_21.png
deleted file mode 100644
index ca13dab..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_21.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_22.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_22.png
deleted file mode 100644
index a775b9e..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_22.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_23.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_23.png
deleted file mode 100644
index 53a0b63..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_23.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_24.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_24.png
deleted file mode 100644
index ab1e6b2..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_24.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_25.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_25.png
deleted file mode 100644
index 23185ff..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_25.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_26.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_26.png
deleted file mode 100644
index a5baec6..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_26.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_27.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_27.png
deleted file mode 100644
index 6a8d191..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_27.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_28.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_28.png
deleted file mode 100644
index ceb6341..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_28.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_29.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_29.png
deleted file mode 100644
index 54d00c2..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_29.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_3.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_3.png
deleted file mode 100644
index 8dcb344..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_4.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_4.png
deleted file mode 100644
index 2c11efe..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_5.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_5.png
deleted file mode 100644
index d81036c..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_6.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_6.png
deleted file mode 100644
index b8632fc..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_7.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_7.png
deleted file mode 100644
index 2e3fdc6..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_8.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_8.png
deleted file mode 100644
index d59a7ee..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_9.png b/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_9.png
deleted file mode 100644
index ae58cf2..0000000
Binary files a/_sprites/original/chapter3/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btact_rouxls_white.png b/_sprites/original/chapter3/spr_btact_rouxls_white.png
deleted file mode 100644
index 1ef453a..0000000
Binary files a/_sprites/original/chapter3/spr_btact_rouxls_white.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btdog/spr_btdog_0.png b/_sprites/original/chapter3/spr_btdog/spr_btdog_0.png
deleted file mode 100644
index 401616d..0000000
Binary files a/_sprites/original/chapter3/spr_btdog/spr_btdog_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btdog/spr_btdog_1.png b/_sprites/original/chapter3/spr_btdog/spr_btdog_1.png
deleted file mode 100644
index 2b1ed9e..0000000
Binary files a/_sprites/original/chapter3/spr_btdog/spr_btdog_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btdog_success.png b/_sprites/original/chapter3/spr_btdog_success.png
deleted file mode 100644
index a73f7ae..0000000
Binary files a/_sprites/original/chapter3/spr_btdog_success.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btdog_success2.png b/_sprites/original/chapter3/spr_btdog_success2.png
deleted file mode 100644
index 966cc9d..0000000
Binary files a/_sprites/original/chapter3/spr_btdog_success2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btexclamation1.png b/_sprites/original/chapter3/spr_btexclamation1.png
deleted file mode 100644
index 44abd25..0000000
Binary files a/_sprites/original/chapter3/spr_btexclamation1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btexclamation1_spade.png b/_sprites/original/chapter3/spr_btexclamation1_spade.png
deleted file mode 100644
index b079591..0000000
Binary files a/_sprites/original/chapter3/spr_btexclamation1_spade.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_btexclamation2.png b/_sprites/original/chapter3/spr_btexclamation2.png
deleted file mode 100644
index 86beab8..0000000
Binary files a/_sprites/original/chapter3/spr_btexclamation2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_camera_bg.png b/_sprites/original/chapter3/spr_camera_bg.png
deleted file mode 100644
index e479d79..0000000
Binary files a/_sprites/original/chapter3/spr_camera_bg.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_cafe.png b/_sprites/original/chapter3/spr_castle_cafe.png
deleted file mode 100755
index 413b386..0000000
Binary files a/_sprites/original/chapter3/spr_castle_cafe.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_restaurant.png b/_sprites/original/chapter3/spr_castle_restaurant.png
deleted file mode 100755
index ef3c54b..0000000
Binary files a/_sprites/original/chapter3/spr_castle_restaurant.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_0.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_0.png
deleted file mode 100755
index ca3a20a..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_1.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_1.png
deleted file mode 100755
index 5fa632b..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_2.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_2.png
deleted file mode 100755
index b005da5..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_3.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_3.png
deleted file mode 100755
index f94661c..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_4.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_4.png
deleted file mode 100755
index 8276aff..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_5.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_5.png
deleted file mode 100755
index 92030f0..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_6.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_6.png
deleted file mode 100755
index c53de11..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_7.png b/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_7.png
deleted file mode 100755
index 33fc86b..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop/spr_castle_shop_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_castle_shop_new.png b/_sprites/original/chapter3/spr_castle_shop_new.png
deleted file mode 100755
index 8ab6614..0000000
Binary files a/_sprites/original/chapter3/spr_castle_shop_new.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_0.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_0.png
deleted file mode 100644
index 6160c10..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_1.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_1.png
deleted file mode 100644
index 2079a56..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_2.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_2.png
deleted file mode 100644
index 4d9be1c..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_3.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_3.png
deleted file mode 100644
index b2b3712..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_4.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_4.png
deleted file mode 100644
index a3744ce..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_5.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_5.png
deleted file mode 100644
index 0d93f15..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_6.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_6.png
deleted file mode 100644
index 0a226fd..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_7.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_7.png
deleted file mode 100644
index 06cd854..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_8.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_8.png
deleted file mode 100644
index b84a82d..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_9.png b/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_9.png
deleted file mode 100644
index 4bb17a6..0000000
Binary files a/_sprites/original/chapter3/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_GSA01G_tvtimescreenshot.png b/_sprites/original/chapter3/spr_ch3_GSA01G_tvtimescreenshot.png
deleted file mode 100644
index 6517824..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_GSA01G_tvtimescreenshot.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_chef_specialguestText.png b/_sprites/original/chapter3/spr_ch3_chef_specialguestText.png
deleted file mode 100644
index 9a5258c..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_chef_specialguestText.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_gameshow_round.png b/_sprites/original/chapter3/spr_ch3_gameshow_round.png
deleted file mode 100644
index b379463..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_gameshow_round.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_0.png b/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_0.png
deleted file mode 100644
index 26e03fa..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_1.png b/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_1.png
deleted file mode 100644
index 5af9844..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_2.png b/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_2.png
deleted file mode 100644
index 9ae518d..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_3.png b/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_3.png
deleted file mode 100644
index 7c5507d..0000000
Binary files a/_sprites/original/chapter3/spr_ch3_wheel_center/spr_ch3_wheel_center_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_chartarget/spr_chartarget_0.png b/_sprites/original/chapter3/spr_chartarget/spr_chartarget_0.png
deleted file mode 100755
index c1b557b..0000000
Binary files a/_sprites/original/chapter3/spr_chartarget/spr_chartarget_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_chartarget/spr_chartarget_1.png b/_sprites/original/chapter3/spr_chartarget/spr_chartarget_1.png
deleted file mode 100755
index cbabc57..0000000
Binary files a/_sprites/original/chapter3/spr_chartarget/spr_chartarget_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_checkers_milk.png b/_sprites/original/chapter3/spr_checkers_milk.png
deleted file mode 100755
index c3af43d..0000000
Binary files a/_sprites/original/chapter3/spr_checkers_milk.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_0.png b/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_0.png
deleted file mode 100755
index 0f2f32b..0000000
Binary files a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_1.png b/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_1.png
deleted file mode 100755
index 162a51b..0000000
Binary files a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_2.png b/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_2.png
deleted file mode 100755
index f89a5e6..0000000
Binary files a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_3.png b/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_3.png
deleted file mode 100755
index ac2481f..0000000
Binary files a/_sprites/original/chapter3/spr_chirashi_bullet/spr_chirashi_bullet_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_0.png b/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_0.png
deleted file mode 100644
index 5678c12..0000000
Binary files a/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_1.png b/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_1.png
deleted file mode 100644
index 5b993fb..0000000
Binary files a/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_2.png b/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_2.png
deleted file mode 100644
index 5dd6658..0000000
Binary files a/_sprites/original/chapter3/spr_debug_camera/spr_debug_camera_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_debug_camera_screen.png b/_sprites/original/chapter3/spr_debug_camera_screen.png
deleted file mode 100644
index 487513d..0000000
Binary files a/_sprites/original/chapter3/spr_debug_camera_screen.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_0.png b/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_0.png
deleted file mode 100644
index 7cb2b7e..0000000
Binary files a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_1.png b/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_1.png
deleted file mode 100644
index 3ee7d32..0000000
Binary files a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_2.png b/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_2.png
deleted file mode 100644
index f5be8af..0000000
Binary files a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_3.png b/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_3.png
deleted file mode 100644
index 7c7d917..0000000
Binary files a/_sprites/original/chapter3/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_gameshow_screen_bonus_confirmed.png b/_sprites/original/chapter3/spr_dw_gameshow_screen_bonus_confirmed.png
deleted file mode 100644
index 944c5b1..0000000
Binary files a/_sprites/original/chapter3/spr_dw_gameshow_screen_bonus_confirmed.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_gameshow_screen_round_3_bonus.png b/_sprites/original/chapter3/spr_dw_gameshow_screen_round_3_bonus.png
deleted file mode 100644
index cfdd122..0000000
Binary files a/_sprites/original/chapter3/spr_dw_gameshow_screen_round_3_bonus.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_gameshow_screen_round_3_bonus_backup.png b/_sprites/original/chapter3/spr_dw_gameshow_screen_round_3_bonus_backup.png
deleted file mode 100644
index 89e3d0e..0000000
Binary files a/_sprites/original/chapter3/spr_dw_gameshow_screen_round_3_bonus_backup.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_green_room_door_changing.png b/_sprites/original/chapter3/spr_dw_green_room_door_changing.png
deleted file mode 100644
index 83b2770..0000000
Binary files a/_sprites/original/chapter3/spr_dw_green_room_door_changing.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_0.png b/_sprites/original/chapter3/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_0.png
new file mode 100644
index 0000000..3664b20
Binary files /dev/null and b/_sprites/original/chapter3/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_0.png differ
diff --git a/_sprites/original/chapter3/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_1.png b/_sprites/original/chapter3/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_1.png
new file mode 100644
index 0000000..f12bec2
Binary files /dev/null and b/_sprites/original/chapter3/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_1.png differ
diff --git a/_sprites/original/chapter3/spr_dw_green_room_poster_left.png b/_sprites/original/chapter3/spr_dw_green_room_poster_left.png
deleted file mode 100644
index 9d684d2..0000000
Binary files a/_sprites/original/chapter3/spr_dw_green_room_poster_left.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_inbetween_room_door.png b/_sprites/original/chapter3/spr_dw_inbetween_room_door.png
deleted file mode 100644
index fc7d98d..0000000
Binary files a/_sprites/original/chapter3/spr_dw_inbetween_room_door.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_0.png b/_sprites/original/chapter3/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_0.png
new file mode 100644
index 0000000..770bb2b
Binary files /dev/null and b/_sprites/original/chapter3/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_0.png differ
diff --git a/_sprites/original/chapter3/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_1.png b/_sprites/original/chapter3/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_1.png
new file mode 100644
index 0000000..c8ad075
Binary files /dev/null and b/_sprites/original/chapter3/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_1.png differ
diff --git a/_sprites/original/chapter3/spr_dw_poster_band.png b/_sprites/original/chapter3/spr_dw_poster_band.png
deleted file mode 100644
index 499dc68..0000000
Binary files a/_sprites/original/chapter3/spr_dw_poster_band.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_0.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_0.png
deleted file mode 100644
index a617e54..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_1.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_1.png
deleted file mode 100644
index 1d943a1..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_2.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_2.png
deleted file mode 100644
index b2cac96..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_3.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_3.png
deleted file mode 100644
index eaf0020..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_0.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_0.png
deleted file mode 100644
index d193e6d..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_1.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_1.png
deleted file mode 100644
index 9f80861..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_2.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_2.png
deleted file mode 100644
index 38ae226..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_3.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_3.png
deleted file mode 100644
index 4659bfa..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_0.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_0.png
index 983d359..48cf5f7 100644
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_0.png and b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_0.png differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_1.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_1.png
index 4b28321..e8382d9 100644
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_1.png and b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_1.png differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_2.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_2.png
index 8703489..8bc2e15 100644
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_2.png and b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_2.png differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_3.png b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_3.png
index ae51daf..142b020 100644
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_3.png and b/_sprites/original/chapter3/spr_dw_tv_funometer_base_2x/spr_dw_tv_funometer_base_2x_3.png differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_hope.png b/_sprites/original/chapter3/spr_dw_tv_funometer_hope.png
deleted file mode 100644
index 048d3b6..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_hope.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_funometer_hopeText.png b/_sprites/original/chapter3/spr_dw_tv_funometer_hopeText.png
deleted file mode 100644
index 595165b..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_funometer_hopeText.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_mysterySign_half.png b/_sprites/original/chapter3/spr_dw_tv_mysterySign_half.png
deleted file mode 100644
index c186360..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_mysterySign_half.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_0.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_0.png
deleted file mode 100644
index ca92c74..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_1.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_1.png
deleted file mode 100644
index 23dfa6f..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_10.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_10.png
deleted file mode 100644
index 6e436e1..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_11.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_11.png
deleted file mode 100644
index bd39443..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_2.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_2.png
deleted file mode 100644
index 21c14cd..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_3.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_3.png
deleted file mode 100644
index 5475376..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_4.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_4.png
deleted file mode 100644
index c9220ef..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_5.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_5.png
deleted file mode 100644
index 4b109da..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_6.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_6.png
deleted file mode 100644
index 30bab5f..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_7.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_7.png
deleted file mode 100644
index 53ca7e8..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_8.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_8.png
deleted file mode 100644
index 0d45133..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_9.png b/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_9.png
deleted file mode 100644
index 2df0263..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_prizes/spr_dw_tv_prizes_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_dw_tv_time_sample.png b/_sprites/original/chapter3/spr_dw_tv_time_sample.png
deleted file mode 100644
index 535e0b2..0000000
Binary files a/_sprites/original/chapter3/spr_dw_tv_time_sample.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_0.png b/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_0.png
deleted file mode 100644
index 9ddba9c..0000000
Binary files a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_1.png b/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_1.png
deleted file mode 100644
index 7038df0..0000000
Binary files a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_2.png b/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_2.png
deleted file mode 100644
index d6a5e83..0000000
Binary files a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_3.png b/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_3.png
deleted file mode 100644
index 70d6968..0000000
Binary files a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_4.png b/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_4.png
deleted file mode 100644
index f5fc8c8..0000000
Binary files a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_5.png b/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_5.png
deleted file mode 100644
index 70e0a1c..0000000
Binary files a/_sprites/original/chapter3/spr_elevator_floornum/spr_elevator_floornum_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_0.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_0.png
deleted file mode 100644
index 9cdff9e..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_1.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_1.png
deleted file mode 100644
index de138ea..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_10.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_10.png
deleted file mode 100644
index 57cdd53..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_11.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_11.png
deleted file mode 100644
index b9c649f..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_12.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_12.png
deleted file mode 100644
index 1c79cdd..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_13.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_13.png
deleted file mode 100644
index 73dddb5..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_14.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_14.png
deleted file mode 100644
index 18843a0..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_15.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_15.png
deleted file mode 100644
index ebbf917..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_15.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_16.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_16.png
deleted file mode 100644
index edf3d1e..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_16.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_17.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_17.png
deleted file mode 100644
index 8f7de8f..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_17.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_18.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_18.png
deleted file mode 100644
index dc64edd..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_18.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_19.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_19.png
deleted file mode 100644
index 1350fdf..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_19.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_2.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_2.png
deleted file mode 100644
index 8634892..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_20.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_20.png
deleted file mode 100644
index 1e53e3c..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_20.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_3.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_3.png
deleted file mode 100644
index 5adfc3c..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_4.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_4.png
deleted file mode 100644
index 6caa178..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_5.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_5.png
deleted file mode 100644
index d597d30..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_6.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_6.png
deleted file mode 100644
index 8b438da..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_7.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_7.png
deleted file mode 100644
index fbc6c46..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_8.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_8.png
deleted file mode 100644
index a54593c..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_9.png b/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_9.png
deleted file mode 100644
index d2aae40..0000000
Binary files a/_sprites/original/chapter3/spr_enemy_spawner/spr_enemy_spawner_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_0.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_0.png
deleted file mode 100755
index 1c58314..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_1.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_1.png
deleted file mode 100755
index 51bafd3..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_10.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_10.png
deleted file mode 100755
index f7ee902..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_11.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_11.png
deleted file mode 100755
index 1b671ff..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_12.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_12.png
deleted file mode 100755
index 09779e2..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_13.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_13.png
deleted file mode 100755
index 23221b3..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_14.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_14.png
deleted file mode 100755
index 994baa9..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_15.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_15.png
deleted file mode 100755
index be7a484..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_15.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_16.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_16.png
deleted file mode 100755
index 8a126f1..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_16.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_17.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_17.png
deleted file mode 100755
index b331dfb..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_17.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_18.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_18.png
deleted file mode 100755
index 4137037..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_18.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_19.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_19.png
deleted file mode 100755
index 2138924..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_19.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_2.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_2.png
deleted file mode 100755
index 65f9ed7..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_20.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_20.png
deleted file mode 100755
index 9c72a4f..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_20.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_21.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_21.png
deleted file mode 100755
index 042e5b4..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_21.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_22.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_22.png
deleted file mode 100755
index 69da7d0..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_22.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_23.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_23.png
deleted file mode 100755
index 8f1b25a..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_23.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_24.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_24.png
deleted file mode 100755
index 4030fad..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_24.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_25.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_25.png
deleted file mode 100755
index b6b4a8a..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_25.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_26.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_26.png
deleted file mode 100755
index 8431b7b..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_26.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_27.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_27.png
deleted file mode 100755
index 042e5b4..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_27.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_3.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_3.png
deleted file mode 100755
index 74d0177..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_4.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_4.png
deleted file mode 100755
index 319c7c7..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_5.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_5.png
deleted file mode 100755
index cbcfcfa..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_6.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_6.png
deleted file mode 100755
index 30649f0..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_7.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_7.png
deleted file mode 100755
index ee15b44..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_8.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_8.png
deleted file mode 100755
index 8e4f3cb..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_9.png b/_sprites/original/chapter3/spr_face_queen/spr_face_queen_9.png
deleted file mode 100755
index 9c05875..0000000
Binary files a/_sprites/original/chapter3/spr_face_queen/spr_face_queen_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_fieldmuslogo.png b/_sprites/original/chapter3/spr_fieldmuslogo.png
deleted file mode 100644
index 79385ef..0000000
Binary files a/_sprites/original/chapter3/spr_fieldmuslogo.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_flowershop_sign.png b/_sprites/original/chapter3/spr_flowershop_sign.png
deleted file mode 100644
index d783630..0000000
Binary files a/_sprites/original/chapter3/spr_flowershop_sign.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_free.png b/_sprites/original/chapter3/spr_funnytext_free.png
deleted file mode 100644
index 9a824c8..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_free.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_fun_o_meter.png b/_sprites/original/chapter3/spr_funnytext_fun_o_meter.png
new file mode 100644
index 0000000..d5a82a8
Binary files /dev/null and b/_sprites/original/chapter3/spr_funnytext_fun_o_meter.png differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_0.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_0.png
deleted file mode 100644
index 76eb7ac..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_1.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_1.png
deleted file mode 100644
index d08d801..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_10.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_10.png
deleted file mode 100644
index a5b7af4..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_11.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_11.png
deleted file mode 100644
index 54d1dde..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_12.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_12.png
deleted file mode 100644
index a688b4a..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_13.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_13.png
deleted file mode 100644
index a6b2083..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_14.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_14.png
deleted file mode 100644
index 1f3ea09..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_15.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_15.png
deleted file mode 100644
index 3ca4d06..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_15.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_16.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_16.png
deleted file mode 100644
index bd3abd1..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_16.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_17.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_17.png
deleted file mode 100644
index 484eb98..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_17.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_18.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_18.png
deleted file mode 100644
index d9283a2..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_18.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_19.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_19.png
deleted file mode 100644
index 2420706..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_19.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_2.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_2.png
deleted file mode 100644
index 25b8c30..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_20.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_20.png
deleted file mode 100644
index b9da0e6..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_20.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_21.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_21.png
deleted file mode 100644
index 71dc0b3..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_21.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_22.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_22.png
deleted file mode 100644
index 48f0d28..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_22.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_23.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_23.png
deleted file mode 100644
index 9e073e6..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_23.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_24.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_24.png
deleted file mode 100644
index ab0ed0b..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_24.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_25.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_25.png
deleted file mode 100644
index 3f7b8e7..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_25.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_26.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_26.png
deleted file mode 100644
index 831f49c..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_26.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_27.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_27.png
deleted file mode 100644
index 57587c4..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_27.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_28.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_28.png
deleted file mode 100644
index 02cfa26..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_28.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_29.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_29.png
deleted file mode 100644
index e2dfe23..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_29.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_3.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_3.png
deleted file mode 100644
index eb7ea39..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_4.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_4.png
deleted file mode 100644
index 8be6506..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_5.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_5.png
deleted file mode 100644
index 70aa370..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_6.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_6.png
deleted file mode 100644
index 833e2a2..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_7.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_7.png
deleted file mode 100644
index 03b6913..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_8.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_8.png
deleted file mode 100644
index 242e43b..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_9.png b/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_9.png
deleted file mode 100644
index 40650f7..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_over/spr_funnytext_over_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_0.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_0.png
deleted file mode 100644
index bccba90..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_1.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_1.png
deleted file mode 100644
index 58149e5..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_2.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_2.png
deleted file mode 100644
index 51b6fea..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_3.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_3.png
deleted file mode 100644
index ad7aae7..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_4.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_4.png
deleted file mode 100644
index 48c4889..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_5.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_5.png
deleted file mode 100644
index 3638889..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_6.png b/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_6.png
deleted file mode 100644
index 5b90c20..0000000
Binary files a/_sprites/original/chapter3/spr_funnytext_resumes/spr_funnytext_resumes_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameoverbg.png b/_sprites/original/chapter3/spr_gameoverbg.png
deleted file mode 100755
index 2992d1e..0000000
Binary files a/_sprites/original/chapter3/spr_gameoverbg.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_pushingbuddies_0.png b/_sprites/original/chapter3/spr_gameshow_pushingbuddies.png
similarity index 100%
rename from _sprites/original/chapter3/spr_gameshow_pushingbuddies_0.png
rename to _sprites/original/chapter3/spr_gameshow_pushingbuddies.png
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_halloffame.png b/_sprites/original/chapter3/spr_gameshow_screen_halloffame.png
deleted file mode 100755
index 9a860be..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_halloffame.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_round_1_end.png b/_sprites/original/chapter3/spr_gameshow_screen_round_1_end.png
deleted file mode 100644
index 5ff9da8..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_round_1_end.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_theend.png b/_sprites/original/chapter3/spr_gameshow_screen_theend.png
deleted file mode 100644
index e2f0190..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_theend.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus.png b/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus.png
deleted file mode 100644
index 5492ee8..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus_bonus.png b/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus_bonus.png
deleted file mode 100644
index 253d07e..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus_bonus.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus_start.png b/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus_start.png
deleted file mode 100644
index 4d67997..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_theend_bonus_start.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gameshow_screen_theend_round_1.png b/_sprites/original/chapter3/spr_gameshow_screen_theend_round_1.png
deleted file mode 100644
index a397eee..0000000
Binary files a/_sprites/original/chapter3/spr_gameshow_screen_theend_round_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_0.png b/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_0.png
deleted file mode 100755
index b8d645a..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_1.png b/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_1.png
deleted file mode 100755
index 81442f9..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_2.png b/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_2.png
deleted file mode 100755
index fb9971b..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_3.png b/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_3.png
deleted file mode 100755
index 99dc081..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_4.png b/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_4.png
deleted file mode 100755
index 8b6a05a..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_fight/spr_gigaqueen_intro_fight_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_0.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_0.png
deleted file mode 100755
index 61ea9ed..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_1.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_1.png
deleted file mode 100755
index 2aebc11..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_2.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_2.png
deleted file mode 100755
index e98c149..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_3.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_3.png
deleted file mode 100755
index 90f3055..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_4.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_4.png
deleted file mode 100755
index af7f0e0..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round1/spr_gigaqueen_intro_round1_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_0.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_0.png
deleted file mode 100755
index 324def7..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_1.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_1.png
deleted file mode 100755
index 99f5ea4..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_2.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_2.png
deleted file mode 100755
index 87d4f5c..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_3.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_3.png
deleted file mode 100755
index 0731e1c..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_4.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_4.png
deleted file mode 100755
index 9940155..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round2/spr_gigaqueen_intro_round2_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_0.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_0.png
deleted file mode 100755
index c0e96ba..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_1.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_1.png
deleted file mode 100755
index ce0d2cd..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_2.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_2.png
deleted file mode 100755
index f44e09c..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_3.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_3.png
deleted file mode 100755
index f40938f..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_4.png b/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_4.png
deleted file mode 100755
index 5a72990..0000000
Binary files a/_sprites/original/chapter3/spr_gigaqueen_intro_round3/spr_gigaqueen_intro_round3_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_0.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_0.png
deleted file mode 100755
index a5f35da..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_1.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_1.png
deleted file mode 100755
index ae4a4d7..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_10.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_10.png
deleted file mode 100755
index dcd30db..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_2.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_2.png
deleted file mode 100755
index 971f081..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_3.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_3.png
deleted file mode 100755
index 7b21470..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_4.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_4.png
deleted file mode 100755
index 7e77d87..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_5.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_5.png
deleted file mode 100755
index 6d5b535..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_6.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_6.png
deleted file mode 100755
index d464cb4..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_7.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_7.png
deleted file mode 100755
index 3699912..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_8.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_8.png
deleted file mode 100755
index 89678f6..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headkris/spr_headkris_9.png b/_sprites/original/chapter3/spr_headkris/spr_headkris_9.png
deleted file mode 100755
index 82ad272..0000000
Binary files a/_sprites/original/chapter3/spr_headkris/spr_headkris_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_0.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_0.png
deleted file mode 100755
index fa2d2a1..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_1.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_1.png
deleted file mode 100755
index 3c9980d..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_10.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_10.png
deleted file mode 100755
index fb74d8c..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_2.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_2.png
deleted file mode 100755
index 5894c6f..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_3.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_3.png
deleted file mode 100755
index 52cc1f9..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_4.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_4.png
deleted file mode 100755
index ffca171..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_5.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_5.png
deleted file mode 100755
index cc6da96..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_6.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_6.png
deleted file mode 100755
index 646f9cc..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_7.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_7.png
deleted file mode 100755
index e45649d..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_8.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_8.png
deleted file mode 100755
index ebcabf1..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_9.png b/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_9.png
deleted file mode 100755
index a633fd3..0000000
Binary files a/_sprites/original/chapter3/spr_headnoelle/spr_headnoelle_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_0.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_0.png
deleted file mode 100755
index 9f11256..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_1.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_1.png
deleted file mode 100755
index b065a23..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_10.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_10.png
deleted file mode 100755
index 0d79793..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_2.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_2.png
deleted file mode 100755
index 75a5c71..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_3.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_3.png
deleted file mode 100755
index 9e19ec5..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_4.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_4.png
deleted file mode 100755
index 8fc03cc..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_5.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_5.png
deleted file mode 100755
index f980a91..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_6.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_6.png
deleted file mode 100755
index 7c8e177..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_7.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_7.png
deleted file mode 100755
index d85f4b3..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_8.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_8.png
deleted file mode 100755
index a84cb03..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_9.png b/_sprites/original/chapter3/spr_headralsei/spr_headralsei_9.png
deleted file mode 100755
index b0e5a1e..0000000
Binary files a/_sprites/original/chapter3/spr_headralsei/spr_headralsei_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_0.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_0.png
deleted file mode 100755
index 986b46f..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_1.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_1.png
deleted file mode 100755
index 7a48b37..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_10.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_10.png
deleted file mode 100755
index 443caf7..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_2.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_2.png
deleted file mode 100755
index cc435e9..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_3.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_3.png
deleted file mode 100755
index 1b65dd0..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_4.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_4.png
deleted file mode 100755
index 6e1b2fa..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_5.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_5.png
deleted file mode 100755
index 6a3cc8e..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_6.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_6.png
deleted file mode 100755
index bbe49ff..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_7.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_7.png
deleted file mode 100755
index 263ea49..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_8.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_8.png
deleted file mode 100755
index 31127b6..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_9.png b/_sprites/original/chapter3/spr_headsusie/spr_headsusie_9.png
deleted file mode 100755
index 2537792..0000000
Binary files a/_sprites/original/chapter3/spr_headsusie/spr_headsusie_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_hero_hp.png b/_sprites/original/chapter3/spr_hero_hp.png
deleted file mode 100644
index f11cf71..0000000
Binary files a/_sprites/original/chapter3/spr_hero_hp.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_0.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_0.png
deleted file mode 100644
index 308a2a0..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_1.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_1.png
deleted file mode 100644
index 308a2a0..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_10.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_10.png
deleted file mode 100644
index 9cea801..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_11.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_11.png
deleted file mode 100644
index 9cea801..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_12.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_12.png
deleted file mode 100644
index 1d268d8..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_13.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_13.png
deleted file mode 100644
index a9230ad..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_14.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_14.png
deleted file mode 100644
index a0f3270..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_15.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_15.png
deleted file mode 100644
index 6d6e21d..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_15.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_16.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_16.png
deleted file mode 100644
index 9d49725..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_16.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_17.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_17.png
deleted file mode 100644
index 6d6e21d..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_17.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_18.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_18.png
deleted file mode 100644
index 9d49725..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_18.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_19.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_19.png
deleted file mode 100644
index 6d6e21d..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_19.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_2.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_2.png
deleted file mode 100644
index 3eb97bd..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_20.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_20.png
deleted file mode 100644
index 9d49725..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_20.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_3.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_3.png
deleted file mode 100644
index 3eb97bd..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_4.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_4.png
deleted file mode 100644
index 1dd5028..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_5.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_5.png
deleted file mode 100644
index 317d6c6..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_6.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_6.png
deleted file mode 100644
index 118b111..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_7.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_7.png
deleted file mode 100644
index 96bbda9..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_8.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_8.png
deleted file mode 100644
index 82d83a8..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_9.png b/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_9.png
deleted file mode 100644
index 89bda96..0000000
Binary files a/_sprites/original/chapter3/spr_lancer_susie_highfive/spr_lancer_susie_highfive_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lw_conbini_open/spr_lw_conbini_open_0.png b/_sprites/original/chapter3/spr_lw_conbini_open/spr_lw_conbini_open_0.png
deleted file mode 100755
index 6c848d7..0000000
Binary files a/_sprites/original/chapter3/spr_lw_conbini_open/spr_lw_conbini_open_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_lw_conbini_open/spr_lw_conbini_open_1.png b/_sprites/original/chapter3/spr_lw_conbini_open/spr_lw_conbini_open_1.png
deleted file mode 100755
index 4df2129..0000000
Binary files a/_sprites/original/chapter3/spr_lw_conbini_open/spr_lw_conbini_open_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_marquee_debug.png b/_sprites/original/chapter3/spr_marquee_debug.png
deleted file mode 100644
index b3277b7..0000000
Binary files a/_sprites/original/chapter3/spr_marquee_debug.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_maus_intext.png b/_sprites/original/chapter3/spr_maus_intext.png
deleted file mode 100644
index a275fea..0000000
Binary files a/_sprites/original/chapter3/spr_maus_intext.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_body_full_stone.png b/_sprites/original/chapter3/spr_npc_ramb_body_full_stone.png
new file mode 100644
index 0000000..e6d1010
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_body_full_stone.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_clean/spr_npc_ramb_clean_0.png b/_sprites/original/chapter3/spr_npc_ramb_clean/spr_npc_ramb_clean_0.png
new file mode 100644
index 0000000..32675b6
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_clean/spr_npc_ramb_clean_0.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_clean/spr_npc_ramb_clean_1.png b/_sprites/original/chapter3/spr_npc_ramb_clean/spr_npc_ramb_clean_1.png
new file mode 100644
index 0000000..df3ad58
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_clean/spr_npc_ramb_clean_1.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_half_stone.png b/_sprites/original/chapter3/spr_npc_ramb_half_stone.png
new file mode 100644
index 0000000..f685d76
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_half_stone.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_annoyed.png b/_sprites/original/chapter3/spr_npc_ramb_head_annoyed.png
new file mode 100644
index 0000000..853d4d3
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_annoyed.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_happy.png b/_sprites/original/chapter3/spr_npc_ramb_head_happy.png
new file mode 100644
index 0000000..2eb36f1
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_happy.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_0.png b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_0.png
new file mode 100644
index 0000000..8b269df
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_0.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_1.png b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_1.png
new file mode 100644
index 0000000..44c2038
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_1.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_2.png b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_2.png
new file mode 100644
index 0000000..cb33633
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_2.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_3.png b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_3.png
new file mode 100644
index 0000000..81462b8
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_3.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_nostalgic.png b/_sprites/original/chapter3/spr_npc_ramb_head_nostalgic.png
new file mode 100644
index 0000000..20e3c35
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_nostalgic.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_surprised.png b/_sprites/original/chapter3/spr_npc_ramb_head_surprised.png
new file mode 100644
index 0000000..06c8ae2
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_surprised.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_0.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_0.png
new file mode 100644
index 0000000..5cdca0c
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_0.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_1.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_1.png
new file mode 100644
index 0000000..19245c5
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_1.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_2.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_2.png
new file mode 100644
index 0000000..377d213
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_2.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_3.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_3.png
new file mode 100644
index 0000000..61063e5
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_3.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn_look.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn_look.png
new file mode 100644
index 0000000..817630e
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn_look.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn_look_side.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn_look_side.png
new file mode 100644
index 0000000..d143ca0
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn_look_side.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turn_subtle.png b/_sprites/original/chapter3/spr_npc_ramb_head_turn_subtle.png
new file mode 100644
index 0000000..99a5c8b
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turn_subtle.png differ
diff --git a/_sprites/original/chapter3/spr_npc_ramb_head_turned.png b/_sprites/original/chapter3/spr_npc_ramb_head_turned.png
new file mode 100644
index 0000000..9183b52
Binary files /dev/null and b/_sprites/original/chapter3/spr_npc_ramb_head_turned.png differ
diff --git a/_sprites/original/chapter3/spr_queen_hp.png b/_sprites/original/chapter3/spr_queen_hp.png
deleted file mode 100644
index 44871b8..0000000
Binary files a/_sprites/original/chapter3/spr_queen_hp.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_0.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_0.png
deleted file mode 100644
index de1a051..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_1.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_1.png
deleted file mode 100644
index 61889ad..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_10.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_10.png
deleted file mode 100644
index 1677f17..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_11.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_11.png
deleted file mode 100644
index 5c6e798..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_12.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_12.png
deleted file mode 100644
index 98a13e5..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_13.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_13.png
deleted file mode 100644
index 67f5721..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_14.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_14.png
deleted file mode 100644
index 1e149c8..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_15.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_15.png
deleted file mode 100644
index b4ef2c9..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_15.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_16.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_16.png
deleted file mode 100644
index 7dae5a1..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_16.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_17.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_17.png
deleted file mode 100644
index 5ba9316..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_17.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_18.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_18.png
deleted file mode 100644
index 7e670f2..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_18.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_19.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_19.png
deleted file mode 100644
index f3a3d50..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_19.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_2.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_2.png
deleted file mode 100644
index c4edab8..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_3.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_3.png
deleted file mode 100644
index fb80175..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_4.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_4.png
deleted file mode 100644
index 745a331..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_5.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_5.png
deleted file mode 100644
index 2df8d25..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_6.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_6.png
deleted file mode 100644
index 4fc3b5a..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_7.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_7.png
deleted file mode 100644
index 657967e..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_8.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_8.png
deleted file mode 100644
index 34cf397..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_9.png b/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_9.png
deleted file mode 100644
index 234dcd5..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_answer_cursor/spr_quiz_answer_cursor_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_images/spr_quiz_images_0.png b/_sprites/original/chapter3/spr_quiz_images/spr_quiz_images_0.png
deleted file mode 100644
index 1dd4336..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_images/spr_quiz_images_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_images/spr_quiz_images_1.png b/_sprites/original/chapter3/spr_quiz_images/spr_quiz_images_1.png
deleted file mode 100644
index b284ff2..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_images/spr_quiz_images_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_quiz_thisbutton.png b/_sprites/original/chapter3/spr_quiz_thisbutton.png
deleted file mode 100644
index 74ae9e9..0000000
Binary files a/_sprites/original/chapter3/spr_quiz_thisbutton.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_0.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_0.png
deleted file mode 100644
index 18808ae..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_1.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_1.png
deleted file mode 100644
index 07d188c..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_2.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_2.png
deleted file mode 100644
index fe412e4..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_3.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_3.png
deleted file mode 100644
index 5f24a35..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_4.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_4.png
deleted file mode 100644
index 10c666a..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_5.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_5.png
deleted file mode 100644
index 10c666a..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_6.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_6.png
deleted file mode 100644
index 5f24a35..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_7.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_7.png
deleted file mode 100644
index fe412e4..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_8.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_8.png
deleted file mode 100644
index 07d188c..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_9.png b/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_9.png
deleted file mode 100644
index 18808ae..0000000
Binary files a/_sprites/original/chapter3/spr_recovery_platform_glow/spr_recovery_platform_glow_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png b/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png
deleted file mode 100644
index 6d610f1..0000000
Binary files a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png b/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png
deleted file mode 100644
index b325cb7..0000000
Binary files a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png b/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png
deleted file mode 100644
index ec5d627..0000000
Binary files a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png b/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png
deleted file mode 100644
index da1fcbe..0000000
Binary files a/_sprites/original/chapter3/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_screen_the_end.png b/_sprites/original/chapter3/spr_screen_the_end.png
deleted file mode 100644
index d8a545a..0000000
Binary files a/_sprites/original/chapter3/spr_screen_the_end.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_0.png b/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_0.png
deleted file mode 100644
index 256430c..0000000
Binary files a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_1.png b/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_1.png
deleted file mode 100644
index aecc9a4..0000000
Binary files a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_2.png b/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_2.png
deleted file mode 100644
index a8df17e..0000000
Binary files a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_3.png b/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_3.png
deleted file mode 100644
index 96a2f6d..0000000
Binary files a/_sprites/original/chapter3/spr_shootout_train/spr_shootout_train_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_0.png b/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_0.png
deleted file mode 100755
index 8115012..0000000
Binary files a/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_1.png b/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_1.png
deleted file mode 100755
index c0ec911..0000000
Binary files a/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_2.png b/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_2.png
deleted file mode 100755
index 9ccdf1b..0000000
Binary files a/_sprites/original/chapter3/spr_sneo_playback/spr_sneo_playback_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_susie_wan_sign_0.png b/_sprites/original/chapter3/spr_susie_wan_sign_0.png
deleted file mode 100644
index 8c836b0..0000000
Binary files a/_sprites/original/chapter3/spr_susie_wan_sign_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_0.png b/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_0.png
deleted file mode 100644
index de33069..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_1.png b/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_1.png
deleted file mode 100644
index d21c6d1..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_2.png b/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_2.png
deleted file mode 100644
index 556053a..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_3.png b/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_3.png
deleted file mode 100644
index b5b69bf..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_0.png b/_sprites/original/chapter3/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_0.png
deleted file mode 100644
index 3ab88c0..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_1.png b/_sprites/original/chapter3/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_1.png
deleted file mode 100644
index e936e90..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png b/_sprites/original/chapter3/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png
deleted file mode 100644
index 4cafe36..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png b/_sprites/original/chapter3/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png
deleted file mode 100644
index 0649911..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_nose_blossom_bloom.png b/_sprites/original/chapter3/spr_tenna_nose_blossom_bloom.png
new file mode 100644
index 0000000..eec5349
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_nose_blossom_bloom.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_point_droop.png b/_sprites/original/chapter3/spr_tenna_point_droop.png
new file mode 100644
index 0000000..5471451
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_point_droop.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_point_top.png b/_sprites/original/chapter3/spr_tenna_point_top.png
new file mode 100644
index 0000000..b2d0fdf
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_point_top.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_point_up.png b/_sprites/original/chapter3/spr_tenna_point_up.png
new file mode 100644
index 0000000..be604ae
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_point_up.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_point_up_b.png b/_sprites/original/chapter3/spr_tenna_point_up_b.png
new file mode 100644
index 0000000..52c3f96
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_point_up_b.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_point_up_twofingers.png b/_sprites/original/chapter3/spr_tenna_point_up_twofingers.png
new file mode 100644
index 0000000..c2feb2b
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_point_up_twofingers.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_0.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_0.png
deleted file mode 100644
index b7c81b5..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_1.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_1.png
deleted file mode 100644
index 08a64ae..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_10.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_10.png
deleted file mode 100644
index c531661..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_10.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_11.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_11.png
deleted file mode 100644
index 3a8101a..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_11.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_12.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_12.png
deleted file mode 100644
index 26e07f6..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_12.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_13.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_13.png
deleted file mode 100644
index 24a96fb..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_13.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_14.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_14.png
deleted file mode 100644
index c8a9acf..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_14.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_2.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_2.png
deleted file mode 100644
index ce70647..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_3.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_3.png
deleted file mode 100644
index db236c6..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_4.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_4.png
deleted file mode 100644
index bfc36e2..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_5.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_5.png
deleted file mode 100644
index be84bcf..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_6.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_6.png
deleted file mode 100644
index 7a3a8de..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_7.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_7.png
deleted file mode 100644
index 7d7f85d..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_8.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_8.png
deleted file mode 100644
index 33acaea..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_9.png b/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_9.png
deleted file mode 100644
index 46b7fee..0000000
Binary files a/_sprites/original/chapter3/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_9.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tenna_tie_adjust_a.png b/_sprites/original/chapter3/spr_tenna_tie_adjust_a.png
new file mode 100644
index 0000000..c407130
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_tie_adjust_a.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_tie_adjust_b.png b/_sprites/original/chapter3/spr_tenna_tie_adjust_b.png
new file mode 100644
index 0000000..8d63aa7
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_tie_adjust_b.png differ
diff --git a/_sprites/original/chapter3/spr_tenna_tie_adjust_c.png b/_sprites/original/chapter3/spr_tenna_tie_adjust_c.png
new file mode 100644
index 0000000..e278b37
Binary files /dev/null and b/_sprites/original/chapter3/spr_tenna_tie_adjust_c.png differ
diff --git a/_sprites/original/chapter3/spr_tiredmark.png b/_sprites/original/chapter3/spr_tiredmark.png
new file mode 100644
index 0000000..408bfe5
Binary files /dev/null and b/_sprites/original/chapter3/spr_tiredmark.png differ
diff --git a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_0.png b/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_0.png
deleted file mode 100755
index 8fe54b0..0000000
Binary files a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_1.png b/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_1.png
deleted file mode 100755
index 618641c..0000000
Binary files a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_2.png b/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_2.png
deleted file mode 100755
index 5b32600..0000000
Binary files a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_3.png b/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_3.png
deleted file mode 100755
index e07d8f1..0000000
Binary files a/_sprites/original/chapter3/spr_tm_letters/spr_tm_letters_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_0.png b/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_0.png
deleted file mode 100644
index 228a073..0000000
Binary files a/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_1.png b/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_1.png
deleted file mode 100644
index 3bc3d30..0000000
Binary files a/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_2.png b/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_2.png
deleted file mode 100644
index c3cc598..0000000
Binary files a/_sprites/original/chapter3/spr_tv_counter_letters/spr_tv_counter_letters_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_0.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_0.png
deleted file mode 100755
index 836b74b..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_0.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_1.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_1.png
deleted file mode 100755
index 065bee5..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_1.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_2.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_2.png
deleted file mode 100755
index c8616af..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_2.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_3.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_3.png
deleted file mode 100755
index a33c237..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_3.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_4.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_4.png
deleted file mode 100755
index 636f49d..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_4.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_5.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_5.png
deleted file mode 100755
index 048234d..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_5.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_6.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_6.png
deleted file mode 100755
index d627ce2..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_6.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_7.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_7.png
deleted file mode 100755
index 7500ad8..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_7.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_8.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_8.png
deleted file mode 100755
index e822f8e..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_8.png and /dev/null differ
diff --git a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_9.png b/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_9.png
deleted file mode 100755
index 91c5a0b..0000000
Binary files a/_sprites/original/chapter3/spr_werewire_zzt_text/spr_werewire_zzt_text_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png
deleted file mode 100644
index f1f4fd2..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png
deleted file mode 100644
index c7c3af2..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png
deleted file mode 100644
index b5d49be..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png
deleted file mode 100644
index 32aeb73..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png
deleted file mode 100644
index e56bfab..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png
deleted file mode 100644
index 4848cac..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png
deleted file mode 100644
index c3b3296..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png
deleted file mode 100644
index 3d80ce4..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png
deleted file mode 100644
index 288a7fa..0000000
Binary files a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SEPARATE/IMAGE_LOGO_CENTER_SEPARATE_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_0.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_0.png
new file mode 100644
index 0000000..84f52d5
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_0.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_1.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_1.png
new file mode 100644
index 0000000..4da3841
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_1.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_10.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_10.png
new file mode 100644
index 0000000..1a0f1c2
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_10.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_11.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_11.png
new file mode 100644
index 0000000..966307e
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_11.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_12.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_12.png
new file mode 100644
index 0000000..62aa54d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_12.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_13.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_13.png
new file mode 100644
index 0000000..bd78f59
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_13.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_14.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_14.png
new file mode 100644
index 0000000..be398f9
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_14.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_15.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_15.png
new file mode 100644
index 0000000..93ec65d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_15.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_16.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_16.png
new file mode 100644
index 0000000..edd3ef0
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_16.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_17.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_17.png
new file mode 100644
index 0000000..639e876
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_17.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_18.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_18.png
new file mode 100644
index 0000000..bed03af
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_18.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_19.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_19.png
new file mode 100644
index 0000000..fc5556c
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_19.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_2.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_2.png
new file mode 100644
index 0000000..4a6f82b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_2.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_20.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_20.png
new file mode 100644
index 0000000..e508047
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_20.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_21.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_21.png
new file mode 100644
index 0000000..3cc9dcb
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_21.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_22.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_22.png
new file mode 100644
index 0000000..270ad47
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_22.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_23.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_23.png
new file mode 100644
index 0000000..3f66dca
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_23.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_24.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_24.png
new file mode 100644
index 0000000..0368863
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_24.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_25.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_25.png
new file mode 100644
index 0000000..216342d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_25.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_26.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_26.png
new file mode 100644
index 0000000..c4345a2
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_26.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_27.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_27.png
new file mode 100644
index 0000000..b85769e
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_27.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_28.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_28.png
new file mode 100644
index 0000000..a7c260d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_28.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_29.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_29.png
new file mode 100644
index 0000000..321f4a9
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_29.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_3.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_3.png
new file mode 100644
index 0000000..5bbe266
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_3.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_30.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_30.png
new file mode 100644
index 0000000..73439cb
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_30.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_31.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_31.png
new file mode 100644
index 0000000..327627e
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_31.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_32.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_32.png
new file mode 100644
index 0000000..3cd0478
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_32.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_33.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_33.png
new file mode 100644
index 0000000..93321f6
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_33.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_34.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_34.png
new file mode 100644
index 0000000..50f2a44
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_34.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_35.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_35.png
new file mode 100644
index 0000000..d906ec5
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_35.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_36.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_36.png
new file mode 100644
index 0000000..f3bcd1f
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_36.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_37.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_37.png
new file mode 100644
index 0000000..fb7a68b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_37.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_38.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_38.png
new file mode 100644
index 0000000..6cca45f
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_38.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_39.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_39.png
new file mode 100644
index 0000000..78976b1
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_39.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_4.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_4.png
new file mode 100644
index 0000000..a725fbd
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_4.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_40.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_40.png
new file mode 100644
index 0000000..3a0b041
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_40.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_41.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_41.png
new file mode 100644
index 0000000..4be05b7
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_41.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_42.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_42.png
new file mode 100644
index 0000000..c884c0d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_42.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_43.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_43.png
new file mode 100644
index 0000000..a3f289b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_43.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_44.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_44.png
new file mode 100644
index 0000000..12ce867
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_44.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_45.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_45.png
new file mode 100644
index 0000000..eff79c0
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_45.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_46.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_46.png
new file mode 100644
index 0000000..99f86a5
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_46.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_47.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_47.png
new file mode 100644
index 0000000..ca2df58
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_47.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_48.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_48.png
new file mode 100644
index 0000000..40bb8f3
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_48.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_49.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_49.png
new file mode 100644
index 0000000..1563902
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_49.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_5.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_5.png
new file mode 100644
index 0000000..b085726
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_5.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_50.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_50.png
new file mode 100644
index 0000000..a196b1b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_50.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_51.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_51.png
new file mode 100644
index 0000000..19d18b4
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_51.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_52.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_52.png
new file mode 100644
index 0000000..1cd1c4d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_52.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_53.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_53.png
new file mode 100644
index 0000000..ad2f8e0
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_53.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_54.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_54.png
new file mode 100644
index 0000000..7ad254b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_54.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_55.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_55.png
new file mode 100644
index 0000000..963b4ac
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_55.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_56.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_56.png
new file mode 100644
index 0000000..0a32b3b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_56.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_57.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_57.png
new file mode 100644
index 0000000..c40493d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_57.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_58.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_58.png
new file mode 100644
index 0000000..8235e7d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_58.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_59.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_59.png
new file mode 100644
index 0000000..28e8404
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_59.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_6.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_6.png
new file mode 100644
index 0000000..a3c6a1a
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_6.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_60.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_60.png
new file mode 100644
index 0000000..4cfb241
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_60.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_61.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_61.png
new file mode 100644
index 0000000..7253313
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_61.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_62.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_62.png
new file mode 100644
index 0000000..adc5116
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_62.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_63.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_63.png
new file mode 100644
index 0000000..85123f7
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_63.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_64.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_64.png
new file mode 100644
index 0000000..a706d37
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_64.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_65.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_65.png
new file mode 100644
index 0000000..e1b2975
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_65.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_66.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_66.png
new file mode 100644
index 0000000..9d0ea4c
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_66.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_67.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_67.png
new file mode 100644
index 0000000..d7549be
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_67.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_68.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_68.png
new file mode 100644
index 0000000..e74b9d6
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_68.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_69.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_69.png
new file mode 100644
index 0000000..5699fca
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_69.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_7.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_7.png
new file mode 100644
index 0000000..e202ac9
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_7.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_70.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_70.png
new file mode 100644
index 0000000..d51a4c0
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_70.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_71.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_71.png
new file mode 100644
index 0000000..c2cf834
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_71.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_72.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_72.png
new file mode 100644
index 0000000..fc8274f
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_72.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_73.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_73.png
new file mode 100644
index 0000000..e4a14c4
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_73.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_74.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_74.png
new file mode 100644
index 0000000..2dbb9bc
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_74.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_75.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_75.png
new file mode 100644
index 0000000..37355f8
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_75.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_76.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_76.png
new file mode 100644
index 0000000..0bb3e27
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_76.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_77.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_77.png
new file mode 100644
index 0000000..2ca7966
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_77.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_78.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_78.png
new file mode 100644
index 0000000..84d8b14
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_78.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_79.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_79.png
new file mode 100644
index 0000000..5b0812b
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_79.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_8.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_8.png
new file mode 100644
index 0000000..1f35ece
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_8.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_80.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_80.png
new file mode 100644
index 0000000..26bbbd2
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_80.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_81.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_81.png
new file mode 100644
index 0000000..c429515
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_81.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_82.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_82.png
new file mode 100644
index 0000000..e9e5e4d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_82.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_83.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_83.png
new file mode 100644
index 0000000..744157c
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_83.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_84.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_84.png
new file mode 100644
index 0000000..0f1c301
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_84.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_85.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_85.png
new file mode 100644
index 0000000..3a2ff0c
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_85.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_86.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_86.png
new file mode 100644
index 0000000..a5725c8
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_86.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_87.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_87.png
new file mode 100644
index 0000000..c117114
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_87.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_88.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_88.png
new file mode 100644
index 0000000..549f94d
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_88.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_89.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_89.png
new file mode 100644
index 0000000..9f53109
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_89.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_9.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_9.png
new file mode 100644
index 0000000..aba5468
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_9.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_90.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_90.png
new file mode 100644
index 0000000..33862a9
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_90.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_91.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_91.png
new file mode 100644
index 0000000..958cdd9
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_91.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_92.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_92.png
new file mode 100644
index 0000000..29676a1
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_92.png differ
diff --git a/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_93.png b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_93.png
new file mode 100644
index 0000000..8741595
Binary files /dev/null and b/_sprites/original/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES/IMAGE_LOGO_CENTER_SHATTER_PIECES_93.png differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_0.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_0.png
deleted file mode 100644
index 582c866..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_1.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_1.png
deleted file mode 100644
index 2d06798..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_10.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_10.png
deleted file mode 100644
index e962638..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_11.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_11.png
deleted file mode 100644
index c942bcc..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_11.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_12.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_12.png
deleted file mode 100644
index 1303d73..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_12.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_13.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_13.png
deleted file mode 100644
index 0d3cab3..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_13.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_14.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_14.png
deleted file mode 100644
index c789475..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_14.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_15.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_15.png
deleted file mode 100644
index 940c678..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_15.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_16.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_16.png
deleted file mode 100644
index 6fd313e..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_16.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_17.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_17.png
deleted file mode 100644
index a7ba69e..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_17.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_18.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_18.png
deleted file mode 100644
index 24322ec..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_18.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_19.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_19.png
deleted file mode 100644
index 0c2bdc9..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_19.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_2.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_2.png
deleted file mode 100644
index 0395167..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_20.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_20.png
deleted file mode 100644
index b5fb73b..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_20.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_21.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_21.png
deleted file mode 100644
index 864e720..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_21.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_22.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_22.png
deleted file mode 100644
index 579b8ab..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_22.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_23.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_23.png
deleted file mode 100644
index 8cd343f..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_23.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_24.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_24.png
deleted file mode 100644
index 8901b68..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_24.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_25.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_25.png
deleted file mode 100644
index 26b9434..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_25.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_26.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_26.png
deleted file mode 100644
index ce5fc3d..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_26.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_27.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_27.png
deleted file mode 100644
index 86df825..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_27.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_28.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_28.png
deleted file mode 100644
index 3715b5e..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_28.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_29.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_29.png
deleted file mode 100644
index 38ffe59..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_29.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_3.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_3.png
deleted file mode 100644
index 62e1af6..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_4.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_4.png
deleted file mode 100644
index b51aa29..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_5.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_5.png
deleted file mode 100644
index 7584b04..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_6.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_6.png
deleted file mode 100644
index 4d1f57f..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_7.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_7.png
deleted file mode 100644
index 89e08a7..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_8.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_8.png
deleted file mode 100644
index 9c6f3e2..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/Sprite3691/Sprite3691_9.png b/_sprites/original/chapter4/Sprite3691/Sprite3691_9.png
deleted file mode 100644
index 2febc84..0000000
Binary files a/_sprites/original/chapter4/Sprite3691/Sprite3691_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/bg_building_icee_sign.png b/_sprites/original/chapter4/bg_building_icee_sign.png
deleted file mode 100644
index d2f22e8..0000000
Binary files a/_sprites/original/chapter4/bg_building_icee_sign.png and /dev/null differ
diff --git a/_sprites/original/chapter4/bg_dw_castle_music_shop.png b/_sprites/original/chapter4/bg_dw_castle_music_shop.png
deleted file mode 100644
index 072b3f1..0000000
Binary files a/_sprites/original/chapter4/bg_dw_castle_music_shop.png and /dev/null differ
diff --git a/_sprites/original/chapter4/bg_dw_dojo_help.png b/_sprites/original/chapter4/bg_dw_dojo_help.png
deleted file mode 100644
index 11719f5..0000000
Binary files a/_sprites/original/chapter4/bg_dw_dojo_help.png and /dev/null differ
diff --git a/_sprites/original/chapter4/sp_bg_lw_ice_e_pizza.png b/_sprites/original/chapter4/sp_bg_lw_ice_e_pizza.png
deleted file mode 100644
index 1d556ce..0000000
Binary files a/_sprites/original/chapter4/sp_bg_lw_ice_e_pizza.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_0.png b/_sprites/original/chapter4/spr_bell_note/spr_bell_note_0.png
deleted file mode 100644
index 6bd5eca..0000000
Binary files a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_1.png b/_sprites/original/chapter4/spr_bell_note/spr_bell_note_1.png
deleted file mode 100644
index 834d76d..0000000
Binary files a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_2.png b/_sprites/original/chapter4/spr_bell_note/spr_bell_note_2.png
deleted file mode 100644
index a25684e..0000000
Binary files a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_3.png b/_sprites/original/chapter4/spr_bell_note/spr_bell_note_3.png
deleted file mode 100644
index 08bf118..0000000
Binary files a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_4.png b/_sprites/original/chapter4/spr_bell_note/spr_bell_note_4.png
deleted file mode 100644
index 430d0ba..0000000
Binary files a/_sprites/original/chapter4/spr_bell_note/spr_bell_note_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_0.png b/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_0.png
deleted file mode 100644
index 02efed2..0000000
Binary files a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_1.png b/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_1.png
deleted file mode 100644
index 8b664ff..0000000
Binary files a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_2.png b/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_2.png
deleted file mode 100644
index 13f0d16..0000000
Binary files a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_3.png b/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_3.png
deleted file mode 100644
index 7fea44d..0000000
Binary files a/_sprites/original/chapter4/spr_blockler_o/spr_blockler_o_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bnamenoelle.png b/_sprites/original/chapter4/spr_bnamenoelle.png
deleted file mode 100644
index 3d71bcb..0000000
Binary files a/_sprites/original/chapter4/spr_bnamenoelle.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_bnamethrash.png b/_sprites/original/chapter4/spr_bnamethrash.png
deleted file mode 100644
index 7f419f8..0000000
Binary files a/_sprites/original/chapter4/spr_bnamethrash.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_castle_cafe.png b/_sprites/original/chapter4/spr_castle_cafe.png
deleted file mode 100644
index b9f2eb9..0000000
Binary files a/_sprites/original/chapter4/spr_castle_cafe.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_castle_dojo.png b/_sprites/original/chapter4/spr_castle_dojo.png
deleted file mode 100644
index 1dab57e..0000000
Binary files a/_sprites/original/chapter4/spr_castle_dojo.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_castle_restaurant.png b/_sprites/original/chapter4/spr_castle_restaurant.png
deleted file mode 100644
index a384808..0000000
Binary files a/_sprites/original/chapter4/spr_castle_restaurant.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png
deleted file mode 100755
index 5bf62c9..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png
deleted file mode 100755
index 0602680..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png
deleted file mode 100755
index 206ab26..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png
deleted file mode 100755
index 4650c79..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_11.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png
deleted file mode 100755
index fd1dad5..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_12.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png
deleted file mode 100755
index 6a11714..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_13.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png
deleted file mode 100755
index f5ffee1..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_14.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png
deleted file mode 100755
index 52be5db..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_15.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png
deleted file mode 100755
index a1cb479..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_16.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png
deleted file mode 100755
index 5d3c16b..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_17.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png
deleted file mode 100755
index 7cd7558..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_18.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png
deleted file mode 100755
index 632e936..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_19.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png
deleted file mode 100755
index 2d5e3e4..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png
deleted file mode 100755
index 49621d4..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_20.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png
deleted file mode 100755
index 4ec0779..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_21.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png
deleted file mode 100755
index 253e0a5..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_22.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png
deleted file mode 100755
index 200e4a9..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_23.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png
deleted file mode 100755
index 873dc69..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_24.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png
deleted file mode 100755
index a60be5d..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_25.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png
deleted file mode 100755
index ba01191..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_26.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png
deleted file mode 100755
index 9468d80..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_27.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png
deleted file mode 100755
index dd61164..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_28.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png
deleted file mode 100755
index 237e9dd..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_29.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png
deleted file mode 100755
index 07791d3..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png
deleted file mode 100755
index 2ec3d44..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_30.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png
deleted file mode 100755
index 083eb7c..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_31.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png
deleted file mode 100755
index 6154949..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_32.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png
deleted file mode 100755
index 43cf308..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_33.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png
deleted file mode 100755
index eafea00..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_34.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png
deleted file mode 100755
index 89a1da0..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_35.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png
deleted file mode 100755
index 9abccdf..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_36.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png
deleted file mode 100755
index 2ea3a41..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_37.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png
deleted file mode 100755
index 656d234..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png
deleted file mode 100755
index 47530d7..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png
deleted file mode 100755
index a4eb49c..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png
deleted file mode 100755
index 0fddd2a..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png
deleted file mode 100755
index 835eead..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png b/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png
deleted file mode 100755
index 02cdbe5..0000000
Binary files a/_sprites/original/chapter4/spr_ch2_keyboard_tile_text/spr_ch2_keyboard_tile_text_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_chartarget/spr_chartarget_0.png b/_sprites/original/chapter4/spr_chartarget/spr_chartarget_0.png
deleted file mode 100644
index b871ceb..0000000
Binary files a/_sprites/original/chapter4/spr_chartarget/spr_chartarget_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_chartarget/spr_chartarget_1.png b/_sprites/original/chapter4/spr_chartarget/spr_chartarget_1.png
deleted file mode 100644
index 6b1e90b..0000000
Binary files a/_sprites/original/chapter4/spr_chartarget/spr_chartarget_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_checkers_milk.png b/_sprites/original/chapter4/spr_checkers_milk.png
deleted file mode 100644
index 424afbd..0000000
Binary files a/_sprites/original/chapter4/spr_checkers_milk.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_0.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_0.png
deleted file mode 100644
index 725acdc..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_1.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_1.png
deleted file mode 100644
index 10e1105..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_10.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_10.png
deleted file mode 100644
index d853ff3..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_11.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_11.png
deleted file mode 100644
index 3d0b6aa..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_11.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_12.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_12.png
deleted file mode 100644
index 7755041..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_12.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_13.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_13.png
deleted file mode 100644
index 8617a6a..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_13.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_14.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_14.png
deleted file mode 100644
index a139b9d..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_14.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_15.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_15.png
deleted file mode 100644
index 3007297..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_15.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_16.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_16.png
deleted file mode 100644
index ea3607c..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_16.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_17.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_17.png
deleted file mode 100644
index e4c56f2..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_17.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_18.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_18.png
deleted file mode 100644
index 107f0de..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_18.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_19.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_19.png
deleted file mode 100644
index 4af1c82..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_19.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_2.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_2.png
deleted file mode 100644
index 4e990ad..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_20.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_20.png
deleted file mode 100644
index 9b21f77..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_20.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_21.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_21.png
deleted file mode 100644
index 63fc36f..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_21.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_22.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_22.png
deleted file mode 100644
index 86d8848..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_22.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_3.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_3.png
deleted file mode 100644
index 97757bd..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_4.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_4.png
deleted file mode 100644
index 9899944..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_5.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_5.png
deleted file mode 100644
index 070ca26..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_6.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_6.png
deleted file mode 100644
index d5b0675..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_7.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_7.png
deleted file mode 100644
index 42e4051..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_8.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_8.png
deleted file mode 100644
index e7322d0..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_9.png b/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_9.png
deleted file mode 100644
index d76d2be..0000000
Binary files a/_sprites/original/chapter4/spr_dg_vs_bg1/spr_dg_vs_bg1_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_0.png b/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_0.png
deleted file mode 100644
index fc0122d..0000000
Binary files a/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_1.png b/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_1.png
deleted file mode 100644
index 7dd542e..0000000
Binary files a/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_2.png b/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_2.png
deleted file mode 100644
index 77b22cf..0000000
Binary files a/_sprites/original/chapter4/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_0.png b/_sprites/original/chapter4/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_0.png
deleted file mode 100644
index ac68ed2..0000000
Binary files a/_sprites/original/chapter4/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_1.png b/_sprites/original/chapter4/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_1.png
deleted file mode 100644
index 639aa56..0000000
Binary files a/_sprites/original/chapter4/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_church_prophecy_knight2.png b/_sprites/original/chapter4/spr_dw_church_prophecy_knight2.png
deleted file mode 100644
index d416906..0000000
Binary files a/_sprites/original/chapter4/spr_dw_church_prophecy_knight2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_church_prophecy_knight2_icon.png b/_sprites/original/chapter4/spr_dw_church_prophecy_knight2_icon.png
deleted file mode 100644
index 5771b26..0000000
Binary files a/_sprites/original/chapter4/spr_dw_church_prophecy_knight2_icon.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_dw_teevie_rhythm_bg.png b/_sprites/original/chapter4/spr_dw_teevie_rhythm_bg.png
deleted file mode 100644
index 1e12899..0000000
Binary files a/_sprites/original/chapter4/spr_dw_teevie_rhythm_bg.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_0.png b/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_0.png
deleted file mode 100755
index e95df8d..0000000
Binary files a/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_1.png b/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_1.png
deleted file mode 100755
index 7c49e4a..0000000
Binary files a/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_2.png b/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_2.png
deleted file mode 100755
index b24c104..0000000
Binary files a/_sprites/original/chapter4/spr_floorTrigger/spr_floorTrigger_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_free.png b/_sprites/original/chapter4/spr_funnytext_free.png
deleted file mode 100644
index 5b2b1e1..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_free.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_0.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_0.png
deleted file mode 100755
index c9f68cd..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_1.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_1.png
deleted file mode 100755
index 94c45af..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_2.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_2.png
deleted file mode 100755
index c32c856..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_3.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_3.png
deleted file mode 100755
index 03ae451..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_4.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_4.png
deleted file mode 100755
index 0f20bce..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_5.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_5.png
deleted file mode 100755
index 35cfbe4..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_6.png b/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_6.png
deleted file mode 100755
index ce05514..0000000
Binary files a/_sprites/original/chapter4/spr_funnytext_resumes/spr_funnytext_resumes_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_gameoverbg.png b/_sprites/original/chapter4/spr_gameoverbg.png
deleted file mode 100644
index 3dc0bb9..0000000
Binary files a/_sprites/original/chapter4/spr_gameoverbg.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_0.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_0.png
deleted file mode 100644
index a5f35da..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_1.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_1.png
deleted file mode 100644
index ae4a4d7..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_10.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_10.png
deleted file mode 100644
index dcd30db..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_2.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_2.png
deleted file mode 100644
index 971f081..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_3.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_3.png
deleted file mode 100644
index 7b21470..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_4.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_4.png
deleted file mode 100644
index 7e77d87..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_5.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_5.png
deleted file mode 100644
index 6d5b535..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_6.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_6.png
deleted file mode 100644
index d464cb4..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_7.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_7.png
deleted file mode 100644
index 3699912..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_8.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_8.png
deleted file mode 100644
index 89678f6..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headkris/spr_headkris_9.png b/_sprites/original/chapter4/spr_headkris/spr_headkris_9.png
deleted file mode 100644
index 82ad272..0000000
Binary files a/_sprites/original/chapter4/spr_headkris/spr_headkris_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_0.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_0.png
deleted file mode 100644
index fa2d2a1..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_1.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_1.png
deleted file mode 100644
index 3c9980d..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_10.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_10.png
deleted file mode 100644
index fb74d8c..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_2.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_2.png
deleted file mode 100644
index 5894c6f..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_3.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_3.png
deleted file mode 100644
index 52cc1f9..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_4.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_4.png
deleted file mode 100644
index ffca171..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_5.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_5.png
deleted file mode 100644
index cc6da96..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_6.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_6.png
deleted file mode 100644
index 646f9cc..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_7.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_7.png
deleted file mode 100644
index e45649d..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_8.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_8.png
deleted file mode 100644
index ebcabf1..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_9.png b/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_9.png
deleted file mode 100644
index a633fd3..0000000
Binary files a/_sprites/original/chapter4/spr_headnoelle/spr_headnoelle_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_0.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_0.png
deleted file mode 100644
index 9f11256..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_1.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_1.png
deleted file mode 100644
index b065a23..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_10.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_10.png
deleted file mode 100644
index 0d79793..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_2.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_2.png
deleted file mode 100644
index 75a5c71..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_3.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_3.png
deleted file mode 100644
index 9e19ec5..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_4.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_4.png
deleted file mode 100644
index 8fc03cc..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_5.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_5.png
deleted file mode 100644
index f980a91..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_6.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_6.png
deleted file mode 100644
index 7c8e177..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_7.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_7.png
deleted file mode 100644
index d85f4b3..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_8.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_8.png
deleted file mode 100644
index a84cb03..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_9.png b/_sprites/original/chapter4/spr_headralsei/spr_headralsei_9.png
deleted file mode 100644
index b0e5a1e..0000000
Binary files a/_sprites/original/chapter4/spr_headralsei/spr_headralsei_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_0.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_0.png
deleted file mode 100644
index 986b46f..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_1.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_1.png
deleted file mode 100644
index 7a48b37..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_10.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_10.png
deleted file mode 100644
index 443caf7..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_10.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_2.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_2.png
deleted file mode 100644
index cc435e9..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_3.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_3.png
deleted file mode 100644
index 1b65dd0..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_4.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_4.png
deleted file mode 100644
index 6e1b2fa..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_5.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_5.png
deleted file mode 100644
index 6a3cc8e..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_5.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_6.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_6.png
deleted file mode 100644
index bbe49ff..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_6.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_7.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_7.png
deleted file mode 100644
index 263ea49..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_7.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_8.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_8.png
deleted file mode 100644
index 31127b6..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_8.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_9.png b/_sprites/original/chapter4/spr_headsusie/spr_headsusie_9.png
deleted file mode 100644
index 2537792..0000000
Binary files a/_sprites/original/chapter4/spr_headsusie/spr_headsusie_9.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_lancer_door_new/spr_lancer_door_new_0.png b/_sprites/original/chapter4/spr_lancer_door_new/spr_lancer_door_new_0.png
deleted file mode 100644
index 215b8d3..0000000
Binary files a/_sprites/original/chapter4/spr_lancer_door_new/spr_lancer_door_new_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_lancer_door_new/spr_lancer_door_new_1.png b/_sprites/original/chapter4/spr_lancer_door_new/spr_lancer_door_new_1.png
deleted file mode 100644
index 638284a..0000000
Binary files a/_sprites/original/chapter4/spr_lancer_door_new/spr_lancer_door_new_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_0.png b/_sprites/original/chapter4/spr_mike_door/spr_mike_door_0.png
deleted file mode 100644
index 2553f6e..0000000
Binary files a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_1.png b/_sprites/original/chapter4/spr_mike_door/spr_mike_door_1.png
deleted file mode 100644
index 37740f5..0000000
Binary files a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_2.png b/_sprites/original/chapter4/spr_mike_door/spr_mike_door_2.png
deleted file mode 100644
index 6d392ff..0000000
Binary files a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_3.png b/_sprites/original/chapter4/spr_mike_door/spr_mike_door_3.png
deleted file mode 100644
index 0e6dc42..0000000
Binary files a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_4.png b/_sprites/original/chapter4/spr_mike_door/spr_mike_door_4.png
deleted file mode 100644
index 62fb800..0000000
Binary files a/_sprites/original/chapter4/spr_mike_door/spr_mike_door_4.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy/spr_npc_plugboy_0.png b/_sprites/original/chapter4/spr_npc_plugboy/spr_npc_plugboy_0.png
new file mode 100644
index 0000000..94a7b10
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy/spr_npc_plugboy_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy/spr_npc_plugboy_1.png b/_sprites/original/chapter4/spr_npc_plugboy/spr_npc_plugboy_1.png
new file mode 100644
index 0000000..af072e2
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy/spr_npc_plugboy_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png b/_sprites/original/chapter4/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png
new file mode 100644
index 0000000..4ddfda9
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png b/_sprites/original/chapter4/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png
new file mode 100644
index 0000000..f8bd70e
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png b/_sprites/original/chapter4/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png
new file mode 100644
index 0000000..e86616b
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png b/_sprites/original/chapter4/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png
new file mode 100644
index 0000000..0756a05
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png b/_sprites/original/chapter4/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png
new file mode 100644
index 0000000..73ca1e1
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png b/_sprites/original/chapter4/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png
new file mode 100644
index 0000000..ecfb5d3
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png b/_sprites/original/chapter4/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png
new file mode 100644
index 0000000..4ce3f2b
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png b/_sprites/original/chapter4/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png
new file mode 100644
index 0000000..7782224
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png b/_sprites/original/chapter4/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png
new file mode 100644
index 0000000..2b8f1d3
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png b/_sprites/original/chapter4/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png
new file mode 100644
index 0000000..c293304
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png b/_sprites/original/chapter4/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png
new file mode 100644
index 0000000..0dfc860
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png b/_sprites/original/chapter4/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png
new file mode 100644
index 0000000..14340bf
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png b/_sprites/original/chapter4/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png
new file mode 100644
index 0000000..15afc09
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png differ
diff --git a/_sprites/original/chapter4/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png b/_sprites/original/chapter4/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png
new file mode 100644
index 0000000..5c2c132
Binary files /dev/null and b/_sprites/original/chapter4/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png differ
diff --git a/_sprites/original/chapter4/spr_pipissign/spr_pipissign_0.png b/_sprites/original/chapter4/spr_pipissign/spr_pipissign_0.png
deleted file mode 100755
index 491dfc5..0000000
Binary files a/_sprites/original/chapter4/spr_pipissign/spr_pipissign_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_pipissign/spr_pipissign_1.png b/_sprites/original/chapter4/spr_pipissign/spr_pipissign_1.png
deleted file mode 100755
index 2e8e14f..0000000
Binary files a/_sprites/original/chapter4/spr_pipissign/spr_pipissign_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png b/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png
deleted file mode 100755
index f845a54..0000000
Binary files a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png b/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png
deleted file mode 100755
index cd30d8e..0000000
Binary files a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png b/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png
deleted file mode 100755
index 63b457f..0000000
Binary files a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png b/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png
deleted file mode 100755
index af0cd0e..0000000
Binary files a/_sprites/original/chapter4/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_slowwalk.png b/_sprites/original/chapter4/spr_slowwalk.png
deleted file mode 100644
index e124294..0000000
Binary files a/_sprites/original/chapter4/spr_slowwalk.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_0.png b/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_0.png
deleted file mode 100755
index c6a9e01..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_1.png b/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_1.png
deleted file mode 100755
index cc34c20..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_2.png b/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_2.png
deleted file mode 100755
index c45f4c2..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_3.png b/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_3.png
deleted file mode 100755
index aa57b2a..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation/spr_tenna_blossom_animation_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_0.png b/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_0.png
deleted file mode 100755
index d65efdf..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_1.png b/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_1.png
deleted file mode 100755
index b746df1..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_2.png b/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_2.png
deleted file mode 100755
index 2fc69a0..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_3.png b/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_3.png
deleted file mode 100755
index e95ec13..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png b/_sprites/original/chapter4/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png
deleted file mode 100644
index 1262260..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png b/_sprites/original/chapter4/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png
deleted file mode 100644
index 0aa3f0f..0000000
Binary files a/_sprites/original/chapter4/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_ui_parallaxer.png b/_sprites/original/chapter4/spr_ui_parallaxer.png
deleted file mode 100644
index cfc11cc..0000000
Binary files a/_sprites/original/chapter4/spr_ui_parallaxer.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_zapper_caption2.png b/_sprites/original/chapter4/spr_zapper_caption2.png
deleted file mode 100644
index 562c978..0000000
Binary files a/_sprites/original/chapter4/spr_zapper_caption2.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_zapper_caption3.png b/_sprites/original/chapter4/spr_zapper_caption3.png
deleted file mode 100755
index c50f400..0000000
Binary files a/_sprites/original/chapter4/spr_zapper_caption3.png and /dev/null differ
diff --git a/_sprites/original/chapter4/spr_zapper_volume_text.png b/_sprites/original/chapter4/spr_zapper_volume_text.png
deleted file mode 100755
index 8c2387c..0000000
Binary files a/_sprites/original/chapter4/spr_zapper_volume_text.png and /dev/null differ
diff --git a/_sprites/sorted-merged/chapter1/IMAGE_LOGO.png b/_sprites/sorted-merged/chapter1/IMAGE_LOGO.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter1/IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter1/IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter1/IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter1/IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..51934f6
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_alphysalley.png b/_sprites/sorted-merged/chapter1/bg_alphysalley.png
new file mode 100755
index 0000000..fbdfea2
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_alphysalley.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_cattyhouse.png b/_sprites/sorted-merged/chapter1/bg_building_cattyhouse.png
new file mode 100755
index 0000000..4f98d47
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_cattyhouse.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_diner.png b/_sprites/sorted-merged/chapter1/bg_building_diner.png
new file mode 100755
index 0000000..fdca972
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_diner.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_flowershop.png b/_sprites/sorted-merged/chapter1/bg_building_flowershop.png
new file mode 100755
index 0000000..72c5172
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_flowershop.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_hospital.png b/_sprites/sorted-merged/chapter1/bg_building_hospital.png
new file mode 100755
index 0000000..6eb5d76
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_hospital.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_icee_sign.png b/_sprites/sorted-merged/chapter1/bg_building_icee_sign.png
new file mode 100755
index 0000000..e5b79c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_icee_sign.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_library.png b/_sprites/sorted-merged/chapter1/bg_building_library.png
new file mode 100755
index 0000000..4c304cf
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_library.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_police.png b/_sprites/sorted-merged/chapter1/bg_building_police.png
new file mode 100755
index 0000000..88dd981
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_police.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_school.png b/_sprites/sorted-merged/chapter1/bg_building_school.png
new file mode 100755
index 0000000..258441a
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_school.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_store.png b/_sprites/sorted-merged/chapter1/bg_building_store.png
new file mode 100755
index 0000000..f6721f8
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_store.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_building_townhall_layer2.png b/_sprites/sorted-merged/chapter1/bg_building_townhall_layer2.png
new file mode 100755
index 0000000..b5d7965
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_building_townhall_layer2.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_hospital_room2.png b/_sprites/sorted-merged/chapter1/bg_hospital_room2.png
new file mode 100755
index 0000000..f0ce0de
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_hospital_room2.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_library.png b/_sprites/sorted-merged/chapter1/bg_library.png
new file mode 100755
index 0000000..5dcd77a
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_library.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_policebarricade.png b/_sprites/sorted-merged/chapter1/bg_policebarricade.png
new file mode 100755
index 0000000..7e662e1
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_policebarricade.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_rurus_shop.png b/_sprites/sorted-merged/chapter1/bg_rurus_shop.png
new file mode 100755
index 0000000..5b9f435
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_rurus_shop.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_seam_shopfront.png b/_sprites/sorted-merged/chapter1/bg_seam_shopfront.png
new file mode 100755
index 0000000..862a030
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_seam_shopfront.png differ
diff --git a/_sprites/sorted-merged/chapter1/bg_torielclass.png b/_sprites/sorted-merged/chapter1/bg_torielclass.png
new file mode 100755
index 0000000..2d4c563
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/bg_torielclass.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO.png b/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..ce3ffe7
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_bg_building_icee_sign.png b/_sprites/sorted-merged/chapter1/sp_bg_building_icee_sign.png
new file mode 100644
index 0000000..79c918a
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_bg_building_icee_sign.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_spr_blockler_b.png b/_sprites/sorted-merged/chapter1/sp_spr_blockler_b.png
new file mode 100644
index 0000000..b08611c
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_spr_blockler_b.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_spr_blockler_o.png b/_sprites/sorted-merged/chapter1/sp_spr_blockler_o.png
new file mode 100644
index 0000000..d02d0fd
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_spr_blockler_o.png differ
diff --git a/_sprites/sorted-merged/chapter1/sp_spr_checkers_milk.png b/_sprites/sorted-merged/chapter1/sp_spr_checkers_milk.png
new file mode 100755
index 0000000..d0748a2
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/sp_spr_checkers_milk.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_battlemsg.png b/_sprites/sorted-merged/chapter1/spr_battlemsg.png
new file mode 100644
index 0000000..a04bfb6
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_battlemsg.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_blockler_b.png b/_sprites/sorted-merged/chapter1/spr_blockler_b.png
new file mode 100644
index 0000000..f04840c
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_blockler_b.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_blockler_o.png b/_sprites/sorted-merged/chapter1/spr_blockler_o.png
new file mode 100644
index 0000000..d02d0fd
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_blockler_o.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_blockler_и.png b/_sprites/sorted-merged/chapter1/spr_blockler_и.png
new file mode 100644
index 0000000..c423a23
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_blockler_и.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_blockler_с.png b/_sprites/sorted-merged/chapter1/spr_blockler_с.png
new file mode 100644
index 0000000..6213870
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_blockler_с.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_bnamekris.png b/_sprites/sorted-merged/chapter1/spr_bnamekris.png
new file mode 100755
index 0000000..9e5bf21
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_bnamekris.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_bnameralsei.png b/_sprites/sorted-merged/chapter1/spr_bnameralsei.png
new file mode 100755
index 0000000..544ae27
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_bnameralsei.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_bnamesusie.png b/_sprites/sorted-merged/chapter1/spr_bnamesusie.png
new file mode 100755
index 0000000..3552926
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_bnamesusie.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_btact.png b/_sprites/sorted-merged/chapter1/spr_btact.png
new file mode 100644
index 0000000..6fa56e9
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_btact.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_btdefend.png b/_sprites/sorted-merged/chapter1/spr_btdefend.png
new file mode 100644
index 0000000..0189ae9
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_btdefend.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_btfight.png b/_sprites/sorted-merged/chapter1/spr_btfight.png
new file mode 100644
index 0000000..df012b1
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_btfight.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_btitem.png b/_sprites/sorted-merged/chapter1/spr_btitem.png
new file mode 100644
index 0000000..3b4e0c0
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_btitem.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_btspare.png b/_sprites/sorted-merged/chapter1/spr_btspare.png
new file mode 100644
index 0000000..aa36851
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_btspare.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_bttech.png b/_sprites/sorted-merged/chapter1/spr_bttech.png
new file mode 100644
index 0000000..785e8ed
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_bttech.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_castle_shop.png b/_sprites/sorted-merged/chapter1/spr_castle_shop.png
new file mode 100644
index 0000000..06626f3
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_castle_shop.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_chartarget.png b/_sprites/sorted-merged/chapter1/spr_chartarget.png
new file mode 100644
index 0000000..c6d2140
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_chartarget.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_checkers_milk.png b/_sprites/sorted-merged/chapter1/spr_checkers_milk.png
new file mode 100755
index 0000000..8f00f3e
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_checkers_milk.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_darkmenudesc.png b/_sprites/sorted-merged/chapter1/spr_darkmenudesc.png
new file mode 100644
index 0000000..efb7986
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_darkmenudesc.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_dmenu_captions.png b/_sprites/sorted-merged/chapter1/spr_dmenu_captions.png
new file mode 100644
index 0000000..118c9aa
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_dmenu_captions.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_fieldmuslogo.png b/_sprites/sorted-merged/chapter1/spr_fieldmuslogo.png
new file mode 100755
index 0000000..92307e1
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_fieldmuslogo.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_headkris.png b/_sprites/sorted-merged/chapter1/spr_headkris.png
new file mode 100644
index 0000000..ae7d433
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_headkris.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_headralsei.png b/_sprites/sorted-merged/chapter1/spr_headralsei.png
new file mode 100644
index 0000000..4a51068
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_headralsei.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_headsusie.png b/_sprites/sorted-merged/chapter1/spr_headsusie.png
new file mode 100644
index 0000000..9f79a3b
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_headsusie.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_hpname.png b/_sprites/sorted-merged/chapter1/spr_hpname.png
new file mode 100755
index 0000000..370c719
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_hpname.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_kingr_asleep.png b/_sprites/sorted-merged/chapter1/spr_kingr_asleep.png
new file mode 100644
index 0000000..6ebf74e
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_kingr_asleep.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_pressfront_b.png b/_sprites/sorted-merged/chapter1/spr_pressfront_b.png
new file mode 100644
index 0000000..5a0cb46
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_pressfront_b.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_quitmessage.png b/_sprites/sorted-merged/chapter1/spr_quitmessage.png
new file mode 100644
index 0000000..4b73551
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_quitmessage.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_thrashbody_b.png b/_sprites/sorted-merged/chapter1/spr_thrashbody_b.png
new file mode 100644
index 0000000..3647d09
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_thrashbody_b.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_thrashfoot_b.png b/_sprites/sorted-merged/chapter1/spr_thrashfoot_b.png
new file mode 100644
index 0000000..3dfaf25
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_thrashfoot_b.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_thrashlogo.png b/_sprites/sorted-merged/chapter1/spr_thrashlogo.png
new file mode 100755
index 0000000..1d9e053
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_thrashlogo.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_thrashstats.png b/_sprites/sorted-merged/chapter1/spr_thrashstats.png
new file mode 100644
index 0000000..2d6747f
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_thrashstats.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_tiredmark.png b/_sprites/sorted-merged/chapter1/spr_tiredmark.png
new file mode 100755
index 0000000..f7f7eeb
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_tiredmark.png differ
diff --git a/_sprites/sorted-merged/chapter1/spr_tplogo.png b/_sprites/sorted-merged/chapter1/spr_tplogo.png
new file mode 100755
index 0000000..ffcc9d6
Binary files /dev/null and b/_sprites/sorted-merged/chapter1/spr_tplogo.png differ
diff --git a/_sprites/sorted-merged/chapter2/IMAGE_LOGO.png b/_sprites/sorted-merged/chapter2/IMAGE_LOGO.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png
new file mode 100644
index 0000000..32a774e
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png differ
diff --git a/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..51934f6
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_SEPARATE.png b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_SEPARATE.png
new file mode 100644
index 0000000..50d6551
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/IMAGE_LOGO_CENTER_SEPARATE.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_alphysalley.png b/_sprites/sorted-merged/chapter2/bg_alphysalley.png
new file mode 100755
index 0000000..fbdfea2
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_alphysalley.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_cattyhouse.png b/_sprites/sorted-merged/chapter2/bg_building_cattyhouse.png
new file mode 100755
index 0000000..4f98d47
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_cattyhouse.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_diner.png b/_sprites/sorted-merged/chapter2/bg_building_diner.png
new file mode 100755
index 0000000..fdca972
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_diner.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_flowershop.png b/_sprites/sorted-merged/chapter2/bg_building_flowershop.png
new file mode 100755
index 0000000..72c5172
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_flowershop.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_hospital.png b/_sprites/sorted-merged/chapter2/bg_building_hospital.png
new file mode 100755
index 0000000..6eb5d76
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_hospital.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_icee_sign.png b/_sprites/sorted-merged/chapter2/bg_building_icee_sign.png
new file mode 100755
index 0000000..e5b79c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_icee_sign.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_library.png b/_sprites/sorted-merged/chapter2/bg_building_library.png
new file mode 100755
index 0000000..4c304cf
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_library.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_police.png b/_sprites/sorted-merged/chapter2/bg_building_police.png
new file mode 100755
index 0000000..88dd981
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_police.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_school.png b/_sprites/sorted-merged/chapter2/bg_building_school.png
new file mode 100755
index 0000000..258441a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_school.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_building_townhall_layer2.png b/_sprites/sorted-merged/chapter2/bg_building_townhall_layer2.png
new file mode 100755
index 0000000..b5d7965
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_building_townhall_layer2.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_dw_bakery.png b/_sprites/sorted-merged/chapter2/bg_dw_bakery.png
new file mode 100755
index 0000000..4779e4d
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_dw_bakery.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_dw_castle_cafe_in.png b/_sprites/sorted-merged/chapter2/bg_dw_castle_cafe_in.png
new file mode 100755
index 0000000..9bcd38c
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_dw_castle_cafe_in.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_dw_castle_music_shop.png b/_sprites/sorted-merged/chapter2/bg_dw_castle_music_shop.png
new file mode 100755
index 0000000..1474b1a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_dw_castle_music_shop.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_dw_dojo_help.png b/_sprites/sorted-merged/chapter2/bg_dw_dojo_help.png
new file mode 100755
index 0000000..6da61f6
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_dw_dojo_help.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_dw_music_ext.png b/_sprites/sorted-merged/chapter2/bg_dw_music_ext.png
new file mode 100755
index 0000000..fbb4873
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_dw_music_ext.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_hospital_room2_ch2.png b/_sprites/sorted-merged/chapter2/bg_hospital_room2_ch2.png
new file mode 100755
index 0000000..44b2057
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_hospital_room2_ch2.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_library.png b/_sprites/sorted-merged/chapter2/bg_library.png
new file mode 100755
index 0000000..5dcd77a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_library.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_lw_ice_e_pizza.png b/_sprites/sorted-merged/chapter2/bg_lw_ice_e_pizza.png
new file mode 100755
index 0000000..1fa979b
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_lw_ice_e_pizza.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_lw_sans_conbini.png b/_sprites/sorted-merged/chapter2/bg_lw_sans_conbini.png
new file mode 100755
index 0000000..8955d05
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_lw_sans_conbini.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_policebarricade.png b/_sprites/sorted-merged/chapter2/bg_policebarricade.png
new file mode 100755
index 0000000..7e662e1
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_policebarricade.png differ
diff --git a/_sprites/sorted-merged/chapter2/bg_torielclass_ch2.png b/_sprites/sorted-merged/chapter2/bg_torielclass_ch2.png
new file mode 100755
index 0000000..6c71947
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/bg_torielclass_ch2.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO.png b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..ce3ffe7
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER_SEPARATE.png b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER_SEPARATE.png
new file mode 100644
index 0000000..2ffcd6a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_IMAGE_LOGO_CENTER_SEPARATE.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_bg_building_icee_sign.png b/_sprites/sorted-merged/chapter2/sp_bg_building_icee_sign.png
new file mode 100644
index 0000000..79c918a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_bg_building_icee_sign.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_bg_lw_ice_e_pizza.png b/_sprites/sorted-merged/chapter2/sp_bg_lw_ice_e_pizza.png
new file mode 100644
index 0000000..679b375
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_bg_lw_ice_e_pizza.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_spr_blockler_b.png b/_sprites/sorted-merged/chapter2/sp_spr_blockler_b.png
new file mode 100644
index 0000000..b08611c
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_spr_blockler_b.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_spr_checkers_milk.png b/_sprites/sorted-merged/chapter2/sp_spr_checkers_milk.png
new file mode 100755
index 0000000..d0748a2
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_spr_checkers_milk.png differ
diff --git a/_sprites/sorted-merged/chapter2/sp_spr_face_rurus_piratehat.png b/_sprites/sorted-merged/chapter2/sp_spr_face_rurus_piratehat.png
new file mode 100755
index 0000000..bde3143
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/sp_spr_face_rurus_piratehat.png differ
diff --git a/_sprites/sorted-merged/chapter2/spm_spr_gigaqueen_intro_fight.png b/_sprites/sorted-merged/chapter2/spm_spr_gigaqueen_intro_fight.png
new file mode 100644
index 0000000..17265d6
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spm_spr_gigaqueen_intro_fight.png differ
diff --git a/_sprites/sorted-merged/chapter2/spm_spr_tm_letters.png b/_sprites/sorted-merged/chapter2/spm_spr_tm_letters.png
new file mode 100644
index 0000000..f2c5f36
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spm_spr_tm_letters.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_acrade_draw.png b/_sprites/sorted-merged/chapter2/spr_acrade_draw.png
new file mode 100755
index 0000000..46a732a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_acrade_draw.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_acrade_fightagain.png b/_sprites/sorted-merged/chapter2/spr_acrade_fightagain.png
new file mode 100644
index 0000000..fab7b43
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_acrade_fightagain.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_acrade_giveup.png b/_sprites/sorted-merged/chapter2/spr_acrade_giveup.png
new file mode 100755
index 0000000..236eccc
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_acrade_giveup.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_acrade_retire.png b/_sprites/sorted-merged/chapter2/spr_acrade_retire.png
new file mode 100644
index 0000000..d24ead4
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_acrade_retire.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_arcade_fight.png b/_sprites/sorted-merged/chapter2/spr_arcade_fight.png
new file mode 100755
index 0000000..06985f9
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_arcade_fight.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_arcade_round1.png b/_sprites/sorted-merged/chapter2/spr_arcade_round1.png
new file mode 100755
index 0000000..e16516d
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_arcade_round1.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_arcade_time.png b/_sprites/sorted-merged/chapter2/spr_arcade_time.png
new file mode 100755
index 0000000..ad1cf4d
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_arcade_time.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_arcade_youlose.png b/_sprites/sorted-merged/chapter2/spr_arcade_youlose.png
new file mode 100755
index 0000000..bc8dbc1
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_arcade_youlose.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_battlemsg.png b/_sprites/sorted-merged/chapter2/spr_battlemsg.png
new file mode 100644
index 0000000..611ee88
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_battlemsg.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_blockler_b.png b/_sprites/sorted-merged/chapter2/spr_blockler_b.png
new file mode 100644
index 0000000..f04840c
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_blockler_b.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_bnamekris.png b/_sprites/sorted-merged/chapter2/spr_bnamekris.png
new file mode 100755
index 0000000..9e5bf21
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_bnamekris.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_bnamenoelle.png b/_sprites/sorted-merged/chapter2/spr_bnamenoelle.png
new file mode 100755
index 0000000..7237b32
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_bnamenoelle.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_bnameralsei.png b/_sprites/sorted-merged/chapter2/spr_bnameralsei.png
new file mode 100755
index 0000000..544ae27
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_bnameralsei.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_bnamesusie.png b/_sprites/sorted-merged/chapter2/spr_bnamesusie.png
new file mode 100755
index 0000000..3552926
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_bnamesusie.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_bnamethrash.png b/_sprites/sorted-merged/chapter2/spr_bnamethrash.png
new file mode 100755
index 0000000..d16c123
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_bnamethrash.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_btact.png b/_sprites/sorted-merged/chapter2/spr_btact.png
new file mode 100644
index 0000000..6fa56e9
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_btact.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_btdefend.png b/_sprites/sorted-merged/chapter2/spr_btdefend.png
new file mode 100644
index 0000000..0189ae9
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_btdefend.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_btfight.png b/_sprites/sorted-merged/chapter2/spr_btfight.png
new file mode 100644
index 0000000..df012b1
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_btfight.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_btitem.png b/_sprites/sorted-merged/chapter2/spr_btitem.png
new file mode 100644
index 0000000..3b4e0c0
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_btitem.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_btspare.png b/_sprites/sorted-merged/chapter2/spr_btspare.png
new file mode 100644
index 0000000..aa36851
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_btspare.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_bttech.png b/_sprites/sorted-merged/chapter2/spr_bttech.png
new file mode 100644
index 0000000..785e8ed
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_bttech.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_castle_cafe.png b/_sprites/sorted-merged/chapter2/spr_castle_cafe.png
new file mode 100755
index 0000000..d75d827
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_castle_cafe.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_castle_dojo.png b/_sprites/sorted-merged/chapter2/spr_castle_dojo.png
new file mode 100755
index 0000000..9c94a8d
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_castle_dojo.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_castle_restaurant.png b/_sprites/sorted-merged/chapter2/spr_castle_restaurant.png
new file mode 100755
index 0000000..256fd80
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_castle_restaurant.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_castle_shop.png b/_sprites/sorted-merged/chapter2/spr_castle_shop.png
new file mode 100644
index 0000000..33e1ac5
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_castle_shop.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_castle_shop_new.png b/_sprites/sorted-merged/chapter2/spr_castle_shop_new.png
new file mode 100755
index 0000000..6b72b00
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_castle_shop_new.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_ch2_cityscreen.png b/_sprites/sorted-merged/chapter2/spr_ch2_cityscreen.png
new file mode 100644
index 0000000..c24a885
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_ch2_cityscreen.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_ch2_keyboard_tile_text.png b/_sprites/sorted-merged/chapter2/spr_ch2_keyboard_tile_text.png
new file mode 100644
index 0000000..7136525
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_ch2_keyboard_tile_text.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_checkers_milk.png b/_sprites/sorted-merged/chapter2/spr_checkers_milk.png
new file mode 100755
index 0000000..8f00f3e
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_checkers_milk.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_chirashi_bullet.png b/_sprites/sorted-merged/chapter2/spr_chirashi_bullet.png
new file mode 100644
index 0000000..aa11f7a
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_chirashi_bullet.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_city_mice_in.png b/_sprites/sorted-merged/chapter2/spr_city_mice_in.png
new file mode 100755
index 0000000..d0fdfb4
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_city_mice_in.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_city_mice_out.png b/_sprites/sorted-merged/chapter2/spr_city_mice_out.png
new file mode 100755
index 0000000..56147b0
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_city_mice_out.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_city_mice_sign_01.png b/_sprites/sorted-merged/chapter2/spr_city_mice_sign_01.png
new file mode 100644
index 0000000..70f29c9
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_city_mice_sign_01.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_city_mice_sign_02.png b/_sprites/sorted-merged/chapter2/spr_city_mice_sign_02.png
new file mode 100644
index 0000000..5cde129
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_city_mice_sign_02.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_city_mice_sign_03.png b/_sprites/sorted-merged/chapter2/spr_city_mice_sign_03.png
new file mode 100644
index 0000000..665b09f
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_city_mice_sign_03.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_cutscene_06_highfive.png b/_sprites/sorted-merged/chapter2/spr_cutscene_06_highfive.png
new file mode 100644
index 0000000..0577b1b
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_cutscene_06_highfive.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_cutscene_27_tender_cancelled.png b/_sprites/sorted-merged/chapter2/spr_cutscene_27_tender_cancelled.png
new file mode 100755
index 0000000..d443ec7
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_cutscene_27_tender_cancelled.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_cutscene_27_tender_goodbye.png b/_sprites/sorted-merged/chapter2/spr_cutscene_27_tender_goodbye.png
new file mode 100755
index 0000000..6d5951b
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_cutscene_27_tender_goodbye.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_darkmenudesc.png b/_sprites/sorted-merged/chapter2/spr_darkmenudesc.png
new file mode 100644
index 0000000..efb7986
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_darkmenudesc.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_dmenu_captions.png b/_sprites/sorted-merged/chapter2/spr_dmenu_captions.png
new file mode 100644
index 0000000..118c9aa
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_dmenu_captions.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_dw_city_info.png b/_sprites/sorted-merged/chapter2/spr_dw_city_info.png
new file mode 100755
index 0000000..1726e0e
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_dw_city_info.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_dw_door_lancer.png b/_sprites/sorted-merged/chapter2/spr_dw_door_lancer.png
new file mode 100755
index 0000000..57766fa
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_dw_door_lancer.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_dw_mansion_room_susie_book_vacuum.png b/_sprites/sorted-merged/chapter2/spr_dw_mansion_room_susie_book_vacuum.png
new file mode 100644
index 0000000..5e12be5
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_dw_mansion_room_susie_book_vacuum.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_face_queen.png b/_sprites/sorted-merged/chapter2/spr_face_queen.png
new file mode 100644
index 0000000..067cb99
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_face_queen.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_face_rurus_piratehat.png b/_sprites/sorted-merged/chapter2/spr_face_rurus_piratehat.png
new file mode 100755
index 0000000..51a5f66
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_face_rurus_piratehat.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_flowershop_sign.png b/_sprites/sorted-merged/chapter2/spr_flowershop_sign.png
new file mode 100755
index 0000000..332214b
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_flowershop_sign.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_gameoverbg.png b/_sprites/sorted-merged/chapter2/spr_gameoverbg.png
new file mode 100755
index 0000000..9acaf99
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_gameoverbg.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_gameoverbg_neo.png b/_sprites/sorted-merged/chapter2/spr_gameoverbg_neo.png
new file mode 100755
index 0000000..5a2962f
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_gameoverbg_neo.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_fight.png b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_fight.png
new file mode 100644
index 0000000..239b6bb
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_fight.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round1.png b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round1.png
new file mode 100644
index 0000000..ef597ff
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round1.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round2.png b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round2.png
new file mode 100644
index 0000000..18c25b9
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round2.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round3.png b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round3.png
new file mode 100644
index 0000000..b14514c
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_gigaqueen_intro_round3.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_hero_hp.png b/_sprites/sorted-merged/chapter2/spr_hero_hp.png
new file mode 100755
index 0000000..430e4f4
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_hero_hp.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_hpname.png b/_sprites/sorted-merged/chapter2/spr_hpname.png
new file mode 100755
index 0000000..370c719
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_hpname.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_lw_conbini_open.png b/_sprites/sorted-merged/chapter2/spr_lw_conbini_open.png
new file mode 100644
index 0000000..0f4fdf4
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_lw_conbini_open.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_mansion_cafe_entrance.png b/_sprites/sorted-merged/chapter2/spr_mansion_cafe_entrance.png
new file mode 100755
index 0000000..927720f
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_mansion_cafe_entrance.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_mansion_floor_sign.png b/_sprites/sorted-merged/chapter2/spr_mansion_floor_sign.png
new file mode 100644
index 0000000..81245c5
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_mansion_floor_sign.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_mansion_switch_light.png b/_sprites/sorted-merged/chapter2/spr_mansion_switch_light.png
new file mode 100644
index 0000000..1e629a2
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_mansion_switch_light.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_maus_intext.png b/_sprites/sorted-merged/chapter2/spr_maus_intext.png
new file mode 100755
index 0000000..9a3a152
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_maus_intext.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_mice3_progressBar.png b/_sprites/sorted-merged/chapter2/spr_mice3_progressBar.png
new file mode 100755
index 0000000..cc19649
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_mice3_progressBar.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_pipissign.png b/_sprites/sorted-merged/chapter2/spr_pipissign.png
new file mode 100755
index 0000000..606cba1
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_pipissign.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_pressfront_b.png b/_sprites/sorted-merged/chapter2/spr_pressfront_b.png
new file mode 100644
index 0000000..5a0cb46
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_pressfront_b.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_queen_hp.png b/_sprites/sorted-merged/chapter2/spr_queen_hp.png
new file mode 100755
index 0000000..4846e02
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_queen_hp.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_queen_poster.png b/_sprites/sorted-merged/chapter2/spr_queen_poster.png
new file mode 100644
index 0000000..ca0a500
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_queen_poster.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_queenmansion_bg_middle.png b/_sprites/sorted-merged/chapter2/spr_queenmansion_bg_middle.png
new file mode 100755
index 0000000..9318e29
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_queenmansion_bg_middle.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_queenscreen.png b/_sprites/sorted-merged/chapter2/spr_queenscreen.png
new file mode 100644
index 0000000..820cb1f
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_queenscreen.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_queenscreen_large.png b/_sprites/sorted-merged/chapter2/spr_queenscreen_large.png
new file mode 100644
index 0000000..5cb692e
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_queenscreen_large.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_quitmessage.png b/_sprites/sorted-merged/chapter2/spr_quitmessage.png
new file mode 100644
index 0000000..4b73551
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_quitmessage.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_rouxls_bubble_hey.png b/_sprites/sorted-merged/chapter2/spr_rouxls_bubble_hey.png
new file mode 100755
index 0000000..a6ec5fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_rouxls_bubble_hey.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_sneo_playback.png b/_sprites/sorted-merged/chapter2/spr_sneo_playback.png
new file mode 100644
index 0000000..2fd5dec
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_sneo_playback.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_spare_z.png b/_sprites/sorted-merged/chapter2/spr_spare_z.png
new file mode 100755
index 0000000..434b905
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_spare_z.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_susie_wan_sign.png b/_sprites/sorted-merged/chapter2/spr_susie_wan_sign.png
new file mode 100755
index 0000000..4e224a4
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_susie_wan_sign.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_tiredmark.png b/_sprites/sorted-merged/chapter2/spr_tiredmark.png
new file mode 100755
index 0000000..f7f7eeb
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_tiredmark.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_tm_letters.png b/_sprites/sorted-merged/chapter2/spr_tm_letters.png
new file mode 100644
index 0000000..e9c6a80
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_tm_letters.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_tplogo.png b/_sprites/sorted-merged/chapter2/spr_tplogo.png
new file mode 100755
index 0000000..ffcc9d6
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_tplogo.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_trafficswitch_symbol.png b/_sprites/sorted-merged/chapter2/spr_trafficswitch_symbol.png
new file mode 100644
index 0000000..b3ad758
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_trafficswitch_symbol.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_welcome_sign.png b/_sprites/sorted-merged/chapter2/spr_welcome_sign.png
new file mode 100644
index 0000000..4109ff4
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_welcome_sign.png differ
diff --git a/_sprites/sorted-merged/chapter2/spr_werewire_zzt_text.png b/_sprites/sorted-merged/chapter2/spr_werewire_zzt_text.png
new file mode 100644
index 0000000..994b322
Binary files /dev/null and b/_sprites/sorted-merged/chapter2/spr_werewire_zzt_text.png differ
diff --git a/_sprites/sorted-merged/chapter3/IMAGE_LOGO.png b/_sprites/sorted-merged/chapter3/IMAGE_LOGO.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png
new file mode 100644
index 0000000..32a774e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png differ
diff --git a/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..51934f6
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_SEPARATE.png b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_SEPARATE.png
new file mode 100644
index 0000000..50d6551
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/IMAGE_LOGO_CENTER_SEPARATE.png differ
diff --git a/_sprites/sorted-merged/chapter3/bg_building_townhall_layer2.png b/_sprites/sorted-merged/chapter3/bg_building_townhall_layer2.png
new file mode 100755
index 0000000..b5d7965
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/bg_building_townhall_layer2.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO.png b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..ce3ffe7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER_SEPARATE.png b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER_SEPARATE.png
new file mode 100644
index 0000000..2ffcd6a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_IMAGE_LOGO_CENTER_SEPARATE.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_btrouxls.png b/_sprites/sorted-merged/chapter3/sp_spr_btrouxls.png
new file mode 100644
index 0000000..2e25981
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_btrouxls.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_btrouxls_select1.png b/_sprites/sorted-merged/chapter3/sp_spr_btrouxls_select1.png
new file mode 100755
index 0000000..85019e2
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_btrouxls_select1.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_btrouxls_select2.png b/_sprites/sorted-merged/chapter3/sp_spr_btrouxls_select2.png
new file mode 100755
index 0000000..65c8a11
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_btrouxls_select2.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_dw_green_room_door_changing.png b/_sprites/sorted-merged/chapter3/sp_spr_dw_green_room_door_changing.png
new file mode 100644
index 0000000..2e71e33
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_dw_green_room_door_changing.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_dw_inbetween_room_door.png b/_sprites/sorted-merged/chapter3/sp_spr_dw_inbetween_room_door.png
new file mode 100644
index 0000000..abe55ef
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_dw_inbetween_room_door.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_b.png b/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_b.png
new file mode 100644
index 0000000..7505520
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_c.png b/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_c.png
new file mode 100644
index 0000000..2b4a714
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_c.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_z.png b/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_z.png
new file mode 100644
index 0000000..5534055
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_dw_ranking_door_z.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_dw_tv_prize_car.png b/_sprites/sorted-merged/chapter3/sp_spr_dw_tv_prize_car.png
new file mode 100644
index 0000000..6e24840
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_dw_tv_prize_car.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_funnytext_star.png b/_sprites/sorted-merged/chapter3/sp_spr_funnytext_star.png
new file mode 100755
index 0000000..18c3890
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_funnytext_star.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_krisu_dark_cool.png b/_sprites/sorted-merged/chapter3/sp_spr_krisu_dark_cool.png
new file mode 100644
index 0000000..b093514
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_krisu_dark_cool.png differ
diff --git a/_sprites/sorted-merged/chapter3/sp_spr_rouxls_biplane_flag.png b/_sprites/sorted-merged/chapter3/sp_spr_rouxls_biplane_flag.png
new file mode 100644
index 0000000..c37635f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/sp_spr_rouxls_biplane_flag.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_battlemsg.png b/_sprites/sorted-merged/chapter3/spr_battlemsg.png
new file mode 100644
index 0000000..71e6a89
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_battlemsg.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_bnamekris.png b/_sprites/sorted-merged/chapter3/spr_bnamekris.png
new file mode 100755
index 0000000..9e5bf21
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_bnamekris.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_bnameralsei.png b/_sprites/sorted-merged/chapter3/spr_bnameralsei.png
new file mode 100755
index 0000000..544ae27
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_bnameralsei.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_bnamesusie.png b/_sprites/sorted-merged/chapter3/spr_bnamesusie.png
new file mode 100755
index 0000000..3552926
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_bnamesusie.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_b2_lancerhint.png b/_sprites/sorted-merged/chapter3/spr_board_b2_lancerhint.png
new file mode 100755
index 0000000..15c8790
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_b2_lancerhint.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_game_title.png b/_sprites/sorted-merged/chapter3/spr_board_game_title.png
new file mode 100755
index 0000000..a7b5457
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_game_title.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_healthbar.png b/_sprites/sorted-merged/chapter3/spr_board_healthbar.png
new file mode 100644
index 0000000..825ad25
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_healthbar.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_inventory_q.png b/_sprites/sorted-merged/chapter3/spr_board_inventory_q.png
new file mode 100755
index 0000000..f764c6b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_inventory_q.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_lancercactus_help.png b/_sprites/sorted-merged/chapter3/spr_board_lancercactus_help.png
new file mode 100755
index 0000000..f053bf4
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_lancercactus_help.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_q.png b/_sprites/sorted-merged/chapter3/spr_board_q.png
new file mode 100755
index 0000000..b0f7634
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_q.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_shop.png b/_sprites/sorted-merged/chapter3/spr_board_shop.png
new file mode 100755
index 0000000..bf3a5e7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_shop.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_sleep.png b/_sprites/sorted-merged/chapter3/spr_board_sleep.png
new file mode 100644
index 0000000..f5faefe
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_sleep.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_sphinx_base.png b/_sprites/sorted-merged/chapter3/spr_board_sphinx_base.png
new file mode 100644
index 0000000..480ed36
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_sphinx_base.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_treasuremarker.png b/_sprites/sorted-merged/chapter3/spr_board_treasuremarker.png
new file mode 100644
index 0000000..5239851
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_treasuremarker.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_treasuremarker_lmarkonly.png b/_sprites/sorted-merged/chapter3/spr_board_treasuremarker_lmarkonly.png
new file mode 100755
index 0000000..b080dfe
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_treasuremarker_lmarkonly.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_board_tvtimelogo.png b/_sprites/sorted-merged/chapter3/spr_board_tvtimelogo.png
new file mode 100755
index 0000000..0a020fe
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_board_tvtimelogo.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btact.png b/_sprites/sorted-merged/chapter3/spr_btact.png
new file mode 100644
index 0000000..6fa56e9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btact.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btact_ex.png b/_sprites/sorted-merged/chapter3/spr_btact_ex.png
new file mode 100755
index 0000000..1f6a8bb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btact_ex.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btact_fail1.png b/_sprites/sorted-merged/chapter3/spr_btact_fail1.png
new file mode 100644
index 0000000..796a851
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btact_fail1.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btact_fail2.png b/_sprites/sorted-merged/chapter3/spr_btact_fail2.png
new file mode 100644
index 0000000..39b4c6c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btact_fail2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btact_red.png b/_sprites/sorted-merged/chapter3/spr_btact_red.png
new file mode 100644
index 0000000..061e0f8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btact_red.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btdefend.png b/_sprites/sorted-merged/chapter3/spr_btdefend.png
new file mode 100644
index 0000000..0189ae9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btdefend.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btfight.png b/_sprites/sorted-merged/chapter3/spr_btfight.png
new file mode 100644
index 0000000..df012b1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btfight.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btheart.png b/_sprites/sorted-merged/chapter3/spr_btheart.png
new file mode 100644
index 0000000..49a5f4b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btheart.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btheart_success1.png b/_sprites/sorted-merged/chapter3/spr_btheart_success1.png
new file mode 100755
index 0000000..bd6071b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btheart_success1.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btheart_success2.png b/_sprites/sorted-merged/chapter3/spr_btheart_success2.png
new file mode 100755
index 0000000..d4f8b68
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btheart_success2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btitem.png b/_sprites/sorted-merged/chapter3/spr_btitem.png
new file mode 100644
index 0000000..3b4e0c0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btitem.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btrouxls.png b/_sprites/sorted-merged/chapter3/spr_btrouxls.png
new file mode 100644
index 0000000..6bc4fea
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btrouxls.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btrouxls_select1.png b/_sprites/sorted-merged/chapter3/spr_btrouxls_select1.png
new file mode 100755
index 0000000..74f36c1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btrouxls_select1.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btrouxls_select2.png b/_sprites/sorted-merged/chapter3/spr_btrouxls_select2.png
new file mode 100755
index 0000000..d80d2e5
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btrouxls_select2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btspade.png b/_sprites/sorted-merged/chapter3/spr_btspade.png
new file mode 100644
index 0000000..297a513
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btspade.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btspade_success.png b/_sprites/sorted-merged/chapter3/spr_btspade_success.png
new file mode 100755
index 0000000..8f9d3f6
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btspade_success.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btspade_success2.png b/_sprites/sorted-merged/chapter3/spr_btspade_success2.png
new file mode 100755
index 0000000..6a644e4
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btspade_success2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_btspare.png b/_sprites/sorted-merged/chapter3/spr_btspare.png
new file mode 100644
index 0000000..aa36851
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_btspare.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_bttech.png b/_sprites/sorted-merged/chapter3/spr_bttech.png
new file mode 100644
index 0000000..785e8ed
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_bttech.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_ch2_keyboard_tile_text.png b/_sprites/sorted-merged/chapter3/spr_ch2_keyboard_tile_text.png
new file mode 100644
index 0000000..7136525
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_ch2_keyboard_tile_text.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_chef_screen_logo.png b/_sprites/sorted-merged/chapter3/spr_chef_screen_logo.png
new file mode 100644
index 0000000..7cae611
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_chef_screen_logo.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_chefs_catch.png b/_sprites/sorted-merged/chapter3/spr_chefs_catch.png
new file mode 100644
index 0000000..4a11ee7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_chefs_catch.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_chefs_food.png b/_sprites/sorted-merged/chapter3/spr_chefs_food.png
new file mode 100644
index 0000000..4c8364f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_chefs_food.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_darkmenudesc.png b/_sprites/sorted-merged/chapter3/spr_darkmenudesc.png
new file mode 100644
index 0000000..efb7986
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_darkmenudesc.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dmenu_captions.png b/_sprites/sorted-merged/chapter3/spr_dmenu_captions.png
new file mode 100644
index 0000000..118c9aa
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dmenu_captions.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ch3_b3bs_officesign_strip2.png b/_sprites/sorted-merged/chapter3/spr_dw_ch3_b3bs_officesign_strip2.png
new file mode 100755
index 0000000..a33aa87
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ch3_b3bs_officesign_strip2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ch3_b3bs_stealthzone.png b/_sprites/sorted-merged/chapter3/spr_dw_ch3_b3bs_stealthzone.png
new file mode 100755
index 0000000..5ff0c2d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ch3_b3bs_stealthzone.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_gameshow_screen_news.png b/_sprites/sorted-merged/chapter3/spr_dw_gameshow_screen_news.png
new file mode 100755
index 0000000..66231d8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_gameshow_screen_news.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_green_room_bar_back.png b/_sprites/sorted-merged/chapter3/spr_dw_green_room_bar_back.png
new file mode 100755
index 0000000..ecf99cd
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_green_room_bar_back.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_green_room_bar_front.png b/_sprites/sorted-merged/chapter3/spr_dw_green_room_bar_front.png
new file mode 100755
index 0000000..f8718c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_green_room_bar_front.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_green_room_door_changing.png b/_sprites/sorted-merged/chapter3/spr_dw_green_room_door_changing.png
new file mode 100644
index 0000000..26f24e9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_green_room_door_changing.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_green_room_poster.png b/_sprites/sorted-merged/chapter3/spr_dw_green_room_poster.png
new file mode 100755
index 0000000..a5ca054
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_green_room_poster.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_inbetween_room_door.png b/_sprites/sorted-merged/chapter3/spr_dw_inbetween_room_door.png
new file mode 100644
index 0000000..0749ed4
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_inbetween_room_door.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors.png b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors.png
new file mode 100644
index 0000000..3449882
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors_sign.png b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors_sign.png
new file mode 100755
index 0000000..6ce6ef6
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors_sign.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors_sign_outline.png b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors_sign_outline.png
new file mode 100755
index 0000000..2cdcbb0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_doors_sign_outline.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_interstitial_poster_green.png b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_poster_green.png
new file mode 100755
index 0000000..fc1a43e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_poster_green.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_interstitial_poster_next.png b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_poster_next.png
new file mode 100755
index 0000000..f895f66
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_interstitial_poster_next.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_poster_chef.png b/_sprites/sorted-merged/chapter3/spr_dw_poster_chef.png
new file mode 100755
index 0000000..3bd2ed3
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_poster_chef.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_a.png b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_a.png
new file mode 100644
index 0000000..3c1bb2d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_a.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_b.png b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_b.png
new file mode 100644
index 0000000..72cf8a2
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_c.png b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_c.png
new file mode 100644
index 0000000..e4cea0b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_c.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_z.png b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_z.png
new file mode 100644
index 0000000..72be5aa
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ranking_door_z.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_ranking_t_explain.png b/_sprites/sorted-merged/chapter3/spr_dw_ranking_t_explain.png
new file mode 100644
index 0000000..342e7f5
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_ranking_t_explain.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_screen_technical_difficulties.png b/_sprites/sorted-merged/chapter3/spr_dw_screen_technical_difficulties.png
new file mode 100644
index 0000000..1398a4e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_screen_technical_difficulties.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_screen_word.png b/_sprites/sorted-merged/chapter3/spr_dw_screen_word.png
new file mode 100755
index 0000000..871f3d8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_screen_word.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_susiezilla_bg_empty.png b/_sprites/sorted-merged/chapter3/spr_dw_susiezilla_bg_empty.png
new file mode 100755
index 0000000..6849751
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_susiezilla_bg_empty.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_teevie_rhythm_bg.png b/_sprites/sorted-merged/chapter3/spr_dw_teevie_rhythm_bg.png
new file mode 100755
index 0000000..ba7cab1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_teevie_rhythm_bg.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_teevie_tv_shows.png b/_sprites/sorted-merged/chapter3/spr_dw_teevie_tv_shows.png
new file mode 100644
index 0000000..a0cba55
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_teevie_tv_shows.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_teevie_tv_shows_tenna3.png b/_sprites/sorted-merged/chapter3/spr_dw_teevie_tv_shows_tenna3.png
new file mode 100644
index 0000000..5d566d6
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_teevie_tv_shows_tenna3.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_cancelled.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_cancelled.png
new file mode 100755
index 0000000..1437949
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_cancelled.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_funometer_base_2x.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_funometer_base_2x.png
new file mode 100644
index 0000000..c28d826
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_funometer_base_2x.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_mysertySign_killed.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_mysertySign_killed.png
new file mode 100755
index 0000000..ab6661f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_mysertySign_killed.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_mysterySign.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_mysterySign.png
new file mode 100755
index 0000000..dae1ec4
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_mysterySign.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_mysterySign_gray.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_mysterySign_gray.png
new file mode 100755
index 0000000..8ba27c3
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_mysterySign_gray.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_car.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_car.png
new file mode 100644
index 0000000..33a5e2f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_car.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_gum.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_gum.png
new file mode 100644
index 0000000..933eb89
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_gum.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_talkback.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_talkback.png
new file mode 100755
index 0000000..e917f2a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_prize_talkback.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_01.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_01.png
new file mode 100755
index 0000000..0eaad6c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_01.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_02.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_02.png
new file mode 100755
index 0000000..6220ca4
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_02.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_03.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_03.png
new file mode 100755
index 0000000..c5d3b80
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_03.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_04.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_04.png
new file mode 100755
index 0000000..bf1bcdb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_04.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_funnytext.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_funnytext.png
new file mode 100755
index 0000000..1f57fd5
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_funnytext.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_intro_loop.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_intro_loop.png
new file mode 100644
index 0000000..dc72e33
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_intro_loop.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_time_lights.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_lights.png
new file mode 100644
index 0000000..67fa408
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_time_lights.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign.png
new file mode 100755
index 0000000..712fcb7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_animated.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_animated.png
new file mode 100644
index 0000000..f566069
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_animated.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_half.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_half.png
new file mode 100644
index 0000000..f566069
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_half.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_off.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_off.png
new file mode 100755
index 0000000..6a904c3
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_off.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_off_gray.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_off_gray.png
new file mode 100755
index 0000000..6464008
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_off_gray.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_quizwipe.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_quizwipe.png
new file mode 100755
index 0000000..f8e41e0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_tvtimeSign_quizwipe.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_dw_tv_word_poster.png b/_sprites/sorted-merged/chapter3/spr_dw_tv_word_poster.png
new file mode 100755
index 0000000..6f7eacd
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_dw_tv_word_poster.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_alligator.png b/_sprites/sorted-merged/chapter3/spr_funnytext_alligator.png
new file mode 100755
index 0000000..210f32c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_alligator.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_amazing_01.png b/_sprites/sorted-merged/chapter3/spr_funnytext_amazing_01.png
new file mode 100755
index 0000000..76737bb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_amazing_01.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_big.png b/_sprites/sorted-merged/chapter3/spr_funnytext_big.png
new file mode 100755
index 0000000..76420eb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_big.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_board.png b/_sprites/sorted-merged/chapter3/spr_funnytext_board.png
new file mode 100755
index 0000000..eb751c1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_board.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_bonus_round.png b/_sprites/sorted-merged/chapter3/spr_funnytext_bonus_round.png
new file mode 100755
index 0000000..7df184a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_bonus_round.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_breaking_news.png b/_sprites/sorted-merged/chapter3/spr_funnytext_breaking_news.png
new file mode 100755
index 0000000..8a141ec
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_breaking_news.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_brother.png b/_sprites/sorted-merged/chapter3/spr_funnytext_brother.png
new file mode 100644
index 0000000..79859be
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_brother.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_challenge.png b/_sprites/sorted-merged/chapter3/spr_funnytext_challenge.png
new file mode 100755
index 0000000..41082ea
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_challenge.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_city_feet.png b/_sprites/sorted-merged/chapter3/spr_funnytext_city_feet.png
new file mode 100755
index 0000000..8531f0a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_city_feet.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_coffee.png b/_sprites/sorted-merged/chapter3/spr_funnytext_coffee.png
new file mode 100755
index 0000000..c5248e1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_coffee.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_dark_fountain.png b/_sprites/sorted-merged/chapter3/spr_funnytext_dark_fountain.png
new file mode 100644
index 0000000..c75790e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_dark_fountain.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_flames.png b/_sprites/sorted-merged/chapter3/spr_funnytext_flames.png
new file mode 100644
index 0000000..df9b9dc
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_flames.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_fun_loop.png b/_sprites/sorted-merged/chapter3/spr_funnytext_fun_loop.png
new file mode 100644
index 0000000..cd47e63
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_fun_loop.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_fun_o_meter.png b/_sprites/sorted-merged/chapter3/spr_funnytext_fun_o_meter.png
new file mode 100755
index 0000000..f8af613
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_fun_o_meter.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_game.png b/_sprites/sorted-merged/chapter3/spr_funnytext_game.png
new file mode 100644
index 0000000..5433c3d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_game.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_game_over.png b/_sprites/sorted-merged/chapter3/spr_funnytext_game_over.png
new file mode 100644
index 0000000..e2523d9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_game_over.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_gentle.png b/_sprites/sorted-merged/chapter3/spr_funnytext_gentle.png
new file mode 100755
index 0000000..ce981eb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_gentle.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_grand_prize.png b/_sprites/sorted-merged/chapter3/spr_funnytext_grand_prize.png
new file mode 100755
index 0000000..14b7335
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_grand_prize.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_green_room.png b/_sprites/sorted-merged/chapter3/spr_funnytext_green_room.png
new file mode 100755
index 0000000..23586a5
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_green_room.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_hall_of_fame.png b/_sprites/sorted-merged/chapter3/spr_funnytext_hall_of_fame.png
new file mode 100755
index 0000000..1a8294b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_hall_of_fame.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_know_tv.png b/_sprites/sorted-merged/chapter3/spr_funnytext_know_tv.png
new file mode 100755
index 0000000..b6b8cc8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_know_tv.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_love.png b/_sprites/sorted-merged/chapter3/spr_funnytext_love.png
new file mode 100755
index 0000000..5c4959a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_love.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_lovely.png b/_sprites/sorted-merged/chapter3/spr_funnytext_lovely.png
new file mode 100755
index 0000000..4f23a5c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_lovely.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_lovers.png b/_sprites/sorted-merged/chapter3/spr_funnytext_lovers.png
new file mode 100644
index 0000000..644deaf
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_lovers.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_loves.png b/_sprites/sorted-merged/chapter3/spr_funnytext_loves.png
new file mode 100755
index 0000000..89234d5
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_loves.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_names.png b/_sprites/sorted-merged/chapter3/spr_funnytext_names.png
new file mode 100644
index 0000000..d0d61c0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_names.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_over_small.png b/_sprites/sorted-merged/chapter3/spr_funnytext_over_small.png
new file mode 100644
index 0000000..01a151e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_over_small.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_physical_challenge.png b/_sprites/sorted-merged/chapter3/spr_funnytext_physical_challenge.png
new file mode 100644
index 0000000..1c29891
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_physical_challenge.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_physical_challenges.png b/_sprites/sorted-merged/chapter3/spr_funnytext_physical_challenges.png
new file mode 100644
index 0000000..8269c2b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_physical_challenges.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_prizes.png b/_sprites/sorted-merged/chapter3/spr_funnytext_prizes.png
new file mode 100755
index 0000000..f62e7a8
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_prizes.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_quizzes.png b/_sprites/sorted-merged/chapter3/spr_funnytext_quizzes.png
new file mode 100755
index 0000000..efea292
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_quizzes.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_relax.png b/_sprites/sorted-merged/chapter3/spr_funnytext_relax.png
new file mode 100644
index 0000000..f2c2a04
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_relax.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_rock_concert.png b/_sprites/sorted-merged/chapter3/spr_funnytext_rock_concert.png
new file mode 100644
index 0000000..b63641d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_rock_concert.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_round.png b/_sprites/sorted-merged/chapter3/spr_funnytext_round.png
new file mode 100755
index 0000000..afd353b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_round.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_round_1.png b/_sprites/sorted-merged/chapter3/spr_funnytext_round_1.png
new file mode 100755
index 0000000..2ce21ad
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_round_1.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_rounds.png b/_sprites/sorted-merged/chapter3/spr_funnytext_rounds.png
new file mode 100755
index 0000000..61464e9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_rounds.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_special.png b/_sprites/sorted-merged/chapter3/spr_funnytext_special.png
new file mode 100755
index 0000000..4d15c37
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_special.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_star.png b/_sprites/sorted-merged/chapter3/spr_funnytext_star.png
new file mode 100755
index 0000000..3d25670
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_star.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_star2.png b/_sprites/sorted-merged/chapter3/spr_funnytext_star2.png
new file mode 100755
index 0000000..a79970f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_star2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_stars.png b/_sprites/sorted-merged/chapter3/spr_funnytext_stars.png
new file mode 100755
index 0000000..bba3eee
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_stars.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_stop.png b/_sprites/sorted-merged/chapter3/spr_funnytext_stop.png
new file mode 100755
index 0000000..cd45706
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_stop.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_susiezilla.png b/_sprites/sorted-merged/chapter3/spr_funnytext_susiezilla.png
new file mode 100644
index 0000000..cdc13cd
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_susiezilla.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_tan.png b/_sprites/sorted-merged/chapter3/spr_funnytext_tan.png
new file mode 100755
index 0000000..6c71291
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_tan.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_tears.png b/_sprites/sorted-merged/chapter3/spr_funnytext_tears.png
new file mode 100644
index 0000000..97c0bcc
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_tears.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_toriel.png b/_sprites/sorted-merged/chapter3/spr_funnytext_toriel.png
new file mode 100644
index 0000000..de1df2f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_toriel.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_tv_time.png b/_sprites/sorted-merged/chapter3/spr_funnytext_tv_time.png
new file mode 100755
index 0000000..9b880f0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_tv_time.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_win.png b/_sprites/sorted-merged/chapter3/spr_funnytext_win.png
new file mode 100644
index 0000000..8a6250d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_win.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_win_big.png b/_sprites/sorted-merged/chapter3/spr_funnytext_win_big.png
new file mode 100644
index 0000000..597f51e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_win_big.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_funnytext_word.png b/_sprites/sorted-merged/chapter3/spr_funnytext_word.png
new file mode 100755
index 0000000..e5bdbb7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_funnytext_word.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameoverbg_neo.png b/_sprites/sorted-merged/chapter3/spr_gameoverbg_neo.png
new file mode 100755
index 0000000..5a2962f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameoverbg_neo.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameshow_pushingbuddies.png b/_sprites/sorted-merged/chapter3/spr_gameshow_pushingbuddies.png
new file mode 100644
index 0000000..1a08e7c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameshow_pushingbuddies.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameshow_screen_chef_food.png b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_chef_food.png
new file mode 100755
index 0000000..3285088
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_chef_food.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameshow_screen_chef_logo.png b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_chef_logo.png
new file mode 100644
index 0000000..4ae74b6
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_chef_logo.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameshow_screen_city.png b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_city.png
new file mode 100755
index 0000000..329c992
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_city.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameshow_screen_logo.png b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_logo.png
new file mode 100644
index 0000000..f566069
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_logo.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_gameshow_screen_logo_white.png b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_logo_white.png
new file mode 100755
index 0000000..341c15f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_gameshow_screen_logo_white.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_hopeometer_hope.png b/_sprites/sorted-merged/chapter3/spr_hopeometer_hope.png
new file mode 100644
index 0000000..7dd5e75
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_hopeometer_hope.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_hpname.png b/_sprites/sorted-merged/chapter3/spr_hpname.png
new file mode 100755
index 0000000..370c719
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_hpname.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_krisu_dark_cool.png b/_sprites/sorted-merged/chapter3/spr_krisu_dark_cool.png
new file mode 100644
index 0000000..62533e0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_krisu_dark_cool.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_npc_bibliox.png b/_sprites/sorted-merged/chapter3/spr_npc_bibliox.png
new file mode 100644
index 0000000..babb0d0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_npc_bibliox.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_npc_bibliox_up.png b/_sprites/sorted-merged/chapter3/spr_npc_bibliox_up.png
new file mode 100755
index 0000000..47774d2
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_npc_bibliox_up.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_pressfront_b.png b/_sprites/sorted-merged/chapter3/spr_pressfront_b.png
new file mode 100644
index 0000000..5a0cb46
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_pressfront_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_quitmessage.png b/_sprites/sorted-merged/chapter3/spr_quitmessage.png
new file mode 100644
index 0000000..4b73551
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_quitmessage.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_quiz_ralsei_plush.png b/_sprites/sorted-merged/chapter3/spr_quiz_ralsei_plush.png
new file mode 100755
index 0000000..21f2a9e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_quiz_ralsei_plush.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_quiz_results.png b/_sprites/sorted-merged/chapter3/spr_quiz_results.png
new file mode 100755
index 0000000..8415ff9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_quiz_results.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_rhythmgame_bg.png b/_sprites/sorted-merged/chapter3/spr_rhythmgame_bg.png
new file mode 100644
index 0000000..d430e2d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_rhythmgame_bg.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_rouxls_biplane_flag.png b/_sprites/sorted-merged/chapter3/spr_rouxls_biplane_flag.png
new file mode 100644
index 0000000..30a2f3a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_rouxls_biplane_flag.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_shadowman_caption2.png b/_sprites/sorted-merged/chapter3/spr_shadowman_caption2.png
new file mode 100755
index 0000000..fab2c29
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_shadowman_caption2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_shootout_train_new.png b/_sprites/sorted-merged/chapter3/spr_shootout_train_new.png
new file mode 100644
index 0000000..d7228d7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_shootout_train_new.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_shop_space_ui.png b/_sprites/sorted-merged/chapter3/spr_shop_space_ui.png
new file mode 100644
index 0000000..fcf12c1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_shop_space_ui.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_smashreveal3.png b/_sprites/sorted-merged/chapter3/spr_smashreveal3.png
new file mode 100755
index 0000000..dda5e6f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_smashreveal3.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_spare_z.png b/_sprites/sorted-merged/chapter3/spr_spare_z.png
new file mode 100755
index 0000000..434b905
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_spare_z.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_susie_chef_doubleres.png b/_sprites/sorted-merged/chapter3/spr_susie_chef_doubleres.png
new file mode 100644
index 0000000..ddef4f3
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_susie_chef_doubleres.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_susiezilla_background.png b/_sprites/sorted-merged/chapter3/spr_susiezilla_background.png
new file mode 100755
index 0000000..f60e6f7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_susiezilla_background.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_susiezilla_hudguy_hp.png b/_sprites/sorted-merged/chapter3/spr_susiezilla_hudguy_hp.png
new file mode 100644
index 0000000..794f7ac
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_susiezilla_hudguy_hp.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_susiezilla_hudguy_tim.png b/_sprites/sorted-merged/chapter3/spr_susiezilla_hudguy_tim.png
new file mode 100644
index 0000000..b871532
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_susiezilla_hudguy_tim.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_susiezilla_ralsei_tower.png b/_sprites/sorted-merged/chapter3/spr_susiezilla_ralsei_tower.png
new file mode 100755
index 0000000..584967a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_susiezilla_ralsei_tower.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_susiezilla_singlescreen_hpbar.png b/_sprites/sorted-merged/chapter3/spr_susiezilla_singlescreen_hpbar.png
new file mode 100644
index 0000000..6a9d23f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_susiezilla_singlescreen_hpbar.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_armsup_annoyed.png b/_sprites/sorted-merged/chapter3/spr_tenna_armsup_annoyed.png
new file mode 100644
index 0000000..8c11fc1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_armsup_annoyed.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_attack.png b/_sprites/sorted-merged/chapter3/spr_tenna_attack.png
new file mode 100644
index 0000000..501c120
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_attack.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_desperate.png b/_sprites/sorted-merged/chapter3/spr_tenna_desperate.png
new file mode 100644
index 0000000..d5c5195
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_desperate.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_fall_start.png b/_sprites/sorted-merged/chapter3/spr_tenna_fall_start.png
new file mode 100755
index 0000000..4810417
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_fall_start.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_frightened.png b/_sprites/sorted-merged/chapter3/spr_tenna_frightened.png
new file mode 100644
index 0000000..29b07b5
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_frightened.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp.png
new file mode 100755
index 0000000..f86747d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_anim.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_anim.png
new file mode 100644
index 0000000..e28d177
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_anim.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_anim_b.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_anim_b.png
new file mode 100644
index 0000000..fda3771
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_anim_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_b.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_b.png
new file mode 100755
index 0000000..309994f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_c.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_c.png
new file mode 100755
index 0000000..858c962
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_c.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_chef.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_chef.png
new file mode 100644
index 0000000..c7a2cb0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_chef.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_d.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_d.png
new file mode 100755
index 0000000..5e772b9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_d.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_zoom.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_zoom.png
new file mode 100755
index 0000000..f86747d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_zoom.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_grasp_zoom_static.png b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_zoom_static.png
new file mode 100644
index 0000000..3cbcb2d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_grasp_zoom_static.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_hooray.png b/_sprites/sorted-merged/chapter3/spr_tenna_hooray.png
new file mode 100644
index 0000000..6af9250
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_hooray.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_hooray_alt.png b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_alt.png
new file mode 100644
index 0000000..6baa3ad
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_alt.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_hooray_armsup.png b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_armsup.png
new file mode 100755
index 0000000..3866729
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_armsup.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_hooray_armsup_teeth.png b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_armsup_teeth.png
new file mode 100755
index 0000000..2713ba1
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_armsup_teeth.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_hooray_chef.png b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_chef.png
new file mode 100644
index 0000000..8eedb00
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_hooray_chef.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_jumpscare.png b/_sprites/sorted-merged/chapter3/spr_tenna_jumpscare.png
new file mode 100644
index 0000000..14e5781
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_jumpscare.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_kick.png b/_sprites/sorted-merged/chapter3/spr_tenna_kick.png
new file mode 100644
index 0000000..78cddc9
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_kick.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_laugh.png b/_sprites/sorted-merged/chapter3/spr_tenna_laugh.png
new file mode 100644
index 0000000..a169d4c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_laugh.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose.png b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose.png
new file mode 100755
index 0000000..3109e81
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_alt.png b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_alt.png
new file mode 100755
index 0000000..4afb4c7
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_alt.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_segmented_body.png b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_segmented_body.png
new file mode 100755
index 0000000..3109e81
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_segmented_body.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_teeth.png b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_teeth.png
new file mode 100755
index 0000000..da81c2f
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_laugh_pose_teeth.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_nose_blossom.png b/_sprites/sorted-merged/chapter3/spr_tenna_nose_blossom.png
new file mode 100755
index 0000000..b240f76
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_nose_blossom.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_nose_blossom_bloom.png b/_sprites/sorted-merged/chapter3/spr_tenna_nose_blossom_bloom.png
new file mode 100755
index 0000000..2bb1ccc
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_nose_blossom_bloom.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen.png
new file mode 100755
index 0000000..65bfd16
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen_b.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen_b.png
new file mode 100755
index 0000000..c24e9a2
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen_c.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen_c.png
new file mode 100755
index 0000000..ef31061
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_at_screen_c.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_droop.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_droop.png
new file mode 100755
index 0000000..e434ebd
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_droop.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_top.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_top.png
new file mode 100755
index 0000000..6c29639
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_top.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_up.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_up.png
new file mode 100755
index 0000000..c7041ca
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_up.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_up_b.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_up_b.png
new file mode 100755
index 0000000..feceecb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_up_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_point_up_twofingers.png b/_sprites/sorted-merged/chapter3/spr_tenna_point_up_twofingers.png
new file mode 100755
index 0000000..4bc7b3e
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_point_up_twofingers.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose.png
new file mode 100755
index 0000000..bf57290
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_headlowered.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headlowered.png
new file mode 100755
index 0000000..b2d348b
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headlowered.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_headlowered_nose.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headlowered_nose.png
new file mode 100755
index 0000000..383f8f3
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headlowered_nose.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised.png
new file mode 100755
index 0000000..e290519
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_nose.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_nose.png
new file mode 100755
index 0000000..ba07065
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_nose.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_zoom.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_zoom.png
new file mode 100755
index 0000000..5bde107
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_zoom.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_zoom_greenscreen.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_zoom_greenscreen.png
new file mode 100755
index 0000000..1335569
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_headraised_zoom_greenscreen.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_podium.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_podium.png
new file mode 100644
index 0000000..8826851
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_podium.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_pose_podium_evil.png b/_sprites/sorted-merged/chapter3/spr_tenna_pose_podium_evil.png
new file mode 100644
index 0000000..3fd8926
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_pose_podium_evil.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_sad.png b/_sprites/sorted-merged/chapter3/spr_tenna_sad.png
new file mode 100755
index 0000000..833a593
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_sad.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_snap.png b/_sprites/sorted-merged/chapter3/spr_tenna_snap.png
new file mode 100644
index 0000000..e56e81c
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_snap.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_snap_body.png b/_sprites/sorted-merged/chapter3/spr_tenna_snap_body.png
new file mode 100755
index 0000000..c1ddc69
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_snap_body.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_snap_body_f2.png b/_sprites/sorted-merged/chapter3/spr_tenna_snap_body_f2.png
new file mode 100755
index 0000000..59cdf21
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_snap_body_f2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_t_pose.png b/_sprites/sorted-merged/chapter3/spr_tenna_t_pose.png
new file mode 100644
index 0000000..8070329
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_t_pose.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_a.png b/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_a.png
new file mode 100755
index 0000000..943eedd
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_a.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_b.png b/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_b.png
new file mode 100755
index 0000000..a02bee0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_b.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_c.png b/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_c.png
new file mode 100755
index 0000000..1ff3b72
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_tie_adjust_c.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_twirl.png b/_sprites/sorted-merged/chapter3/spr_tenna_twirl.png
new file mode 100644
index 0000000..6157b1a
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_twirl.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_whisper.png b/_sprites/sorted-merged/chapter3/spr_tenna_whisper.png
new file mode 100755
index 0000000..1094fdb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_whisper.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_whisper_blush.png b/_sprites/sorted-merged/chapter3/spr_tenna_whisper_blush.png
new file mode 100755
index 0000000..e19bc6d
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_whisper_blush.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tenna_whisper_chef.png b/_sprites/sorted-merged/chapter3/spr_tenna_whisper_chef.png
new file mode 100755
index 0000000..fe51645
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tenna_whisper_chef.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tiredmark.png b/_sprites/sorted-merged/chapter3/spr_tiredmark.png
new file mode 100755
index 0000000..f7f7eeb
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tiredmark.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tplogo.png b/_sprites/sorted-merged/chapter3/spr_tplogo.png
new file mode 100755
index 0000000..ffcc9d6
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tplogo.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_tvlandfont.png b/_sprites/sorted-merged/chapter3/spr_tvlandfont.png
new file mode 100644
index 0000000..5edb8e0
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_tvlandfont.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_zapper_caption2.png b/_sprites/sorted-merged/chapter3/spr_zapper_caption2.png
new file mode 100755
index 0000000..c1ddd09
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_zapper_caption2.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_zapper_caption3.png b/_sprites/sorted-merged/chapter3/spr_zapper_caption3.png
new file mode 100755
index 0000000..97c2700
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_zapper_caption3.png differ
diff --git a/_sprites/sorted-merged/chapter3/spr_zapper_volume_text.png b/_sprites/sorted-merged/chapter3/spr_zapper_volume_text.png
new file mode 100755
index 0000000..52a3d59
Binary files /dev/null and b/_sprites/sorted-merged/chapter3/spr_zapper_volume_text.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..418c0fc
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png
new file mode 100644
index 0000000..32a774e
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_CHAPTERNUMBER.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..51934f6
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_HEART_SEPARATED.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_HEART_SEPARATED.png
new file mode 100644
index 0000000..d6ebac0
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_HEART_SEPARATED.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_SHATTER.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_SHATTER.png
new file mode 100755
index 0000000..e4629bc
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_SHATTER.png differ
diff --git a/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES.png b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES.png
new file mode 100644
index 0000000..07f4653
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/IMAGE_LOGO_CENTER_SHATTER_PIECES.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_alphysalley.png b/_sprites/sorted-merged/chapter4/bg_alphysalley.png
new file mode 100755
index 0000000..fbdfea2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_alphysalley.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_alphysalley_ch4.png b/_sprites/sorted-merged/chapter4/bg_alphysalley_ch4.png
new file mode 100755
index 0000000..5038d63
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_alphysalley_ch4.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_cattyhouse.png b/_sprites/sorted-merged/chapter4/bg_building_cattyhouse.png
new file mode 100755
index 0000000..4f98d47
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_cattyhouse.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_diner.png b/_sprites/sorted-merged/chapter4/bg_building_diner.png
new file mode 100755
index 0000000..fdca972
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_diner.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_flowershop.png b/_sprites/sorted-merged/chapter4/bg_building_flowershop.png
new file mode 100755
index 0000000..72c5172
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_flowershop.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_hospital.png b/_sprites/sorted-merged/chapter4/bg_building_hospital.png
new file mode 100755
index 0000000..6eb5d76
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_hospital.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_icee_construction.png b/_sprites/sorted-merged/chapter4/bg_building_icee_construction.png
new file mode 100644
index 0000000..162722c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_icee_construction.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_library.png b/_sprites/sorted-merged/chapter4/bg_building_library.png
new file mode 100755
index 0000000..4c304cf
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_library.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_police.png b/_sprites/sorted-merged/chapter4/bg_building_police.png
new file mode 100755
index 0000000..88dd981
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_police.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_school.png b/_sprites/sorted-merged/chapter4/bg_building_school.png
new file mode 100755
index 0000000..258441a
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_school.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_store.png b/_sprites/sorted-merged/chapter4/bg_building_store.png
new file mode 100755
index 0000000..f6721f8
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_store.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_building_townhall_layer2.png b/_sprites/sorted-merged/chapter4/bg_building_townhall_layer2.png
new file mode 100755
index 0000000..b5d7965
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_building_townhall_layer2.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_dw_bakery.png b/_sprites/sorted-merged/chapter4/bg_dw_bakery.png
new file mode 100755
index 0000000..4779e4d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_dw_bakery.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_dw_castle_cafe.png b/_sprites/sorted-merged/chapter4/bg_dw_castle_cafe.png
new file mode 100644
index 0000000..80cbfdd
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_dw_castle_cafe.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_dw_castle_cafe_in.png b/_sprites/sorted-merged/chapter4/bg_dw_castle_cafe_in.png
new file mode 100755
index 0000000..9bcd38c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_dw_castle_cafe_in.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_dw_castle_music_shop_closed.png b/_sprites/sorted-merged/chapter4/bg_dw_castle_music_shop_closed.png
new file mode 100644
index 0000000..7013ab1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_dw_castle_music_shop_closed.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4.png b/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4.png
new file mode 100755
index 0000000..de20e33
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4_berdly.png b/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4_berdly.png
new file mode 100755
index 0000000..5e3d078
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4_berdly.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4_berdly_sideb.png b/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4_berdly_sideb.png
new file mode 100755
index 0000000..b7bbbf1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_hospital_room2_ch4_berdly_sideb.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_library.png b/_sprites/sorted-merged/chapter4/bg_library.png
new file mode 100755
index 0000000..5dcd77a
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_library.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_noellehouse_dess.png b/_sprites/sorted-merged/chapter4/bg_noellehouse_dess.png
new file mode 100755
index 0000000..292c239
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_noellehouse_dess.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_noellehouse_dess_closet_door_slide.png b/_sprites/sorted-merged/chapter4/bg_noellehouse_dess_closet_door_slide.png
new file mode 100755
index 0000000..ec8c84b
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_noellehouse_dess_closet_door_slide.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_policebarricade.png b/_sprites/sorted-merged/chapter4/bg_policebarricade.png
new file mode 100755
index 0000000..7e662e1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_policebarricade.png differ
diff --git a/_sprites/sorted-merged/chapter4/bg_torielclass_ch2.png b/_sprites/sorted-merged/chapter4/bg_torielclass_ch2.png
new file mode 100755
index 0000000..6c71947
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/bg_torielclass_ch2.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO.png b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER.png b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER.png
new file mode 100755
index 0000000..f4cc7c8
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_HEART.png b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_HEART.png
new file mode 100755
index 0000000..ce3ffe7
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_HEART.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_HEART_SEPARATED.png b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_HEART_SEPARATED.png
new file mode 100644
index 0000000..e90081b
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_HEART_SEPARATED.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_SHATTER.png b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_SHATTER.png
new file mode 100755
index 0000000..3e1abf8
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_SHATTER.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_SHATTER_PIECES.png b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_SHATTER_PIECES.png
new file mode 100644
index 0000000..8b0aaf0
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_IMAGE_LOGO_CENTER_SHATTER_PIECES.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_spr_blockler_b.png b/_sprites/sorted-merged/chapter4/sp_spr_blockler_b.png
new file mode 100644
index 0000000..b08611c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_spr_blockler_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/sp_spr_plueypoints.png b/_sprites/sorted-merged/chapter4/sp_spr_plueypoints.png
new file mode 100644
index 0000000..38e6fbc
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/sp_spr_plueypoints.png differ
diff --git a/_sprites/sorted-merged/chapter4/spm_spr_tutu.png b/_sprites/sorted-merged/chapter4/spm_spr_tutu.png
new file mode 100644
index 0000000..2d9e7bc
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spm_spr_tutu.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_battleblcon_guei.png b/_sprites/sorted-merged/chapter4/spr_battleblcon_guei.png
new file mode 100644
index 0000000..fcebe43
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_battleblcon_guei.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_battleblcon_guei_small.png b/_sprites/sorted-merged/chapter4/spr_battleblcon_guei_small.png
new file mode 100644
index 0000000..7a5b891
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_battleblcon_guei_small.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_battleblcon_z.png b/_sprites/sorted-merged/chapter4/spr_battleblcon_z.png
new file mode 100644
index 0000000..20adf34
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_battleblcon_z.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_battlemsg.png b/_sprites/sorted-merged/chapter4/spr_battlemsg.png
new file mode 100644
index 0000000..2b317a4
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_battlemsg.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_base.png b/_sprites/sorted-merged/chapter4/spr_bibliox_base.png
new file mode 100644
index 0000000..b1d8754
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_base.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_head.png b/_sprites/sorted-merged/chapter4/spr_bibliox_head.png
new file mode 100644
index 0000000..459095c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_head.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_head_beard_stroke.png b/_sprites/sorted-merged/chapter4/spr_bibliox_head_beard_stroke.png
new file mode 100644
index 0000000..abcb89f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_head_beard_stroke.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_hurt.png b/_sprites/sorted-merged/chapter4/spr_bibliox_hurt.png
new file mode 100644
index 0000000..f6a6817
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_hurt.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_intro.png b/_sprites/sorted-merged/chapter4/spr_bibliox_intro.png
new file mode 100644
index 0000000..fbdf873
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_intro.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_spare.png b/_sprites/sorted-merged/chapter4/spr_bibliox_spare.png
new file mode 100644
index 0000000..899d440
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_spare.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_talk.png b/_sprites/sorted-merged/chapter4/spr_bibliox_talk.png
new file mode 100644
index 0000000..793f1e2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_talk.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bibliox_talk_lookup.png b/_sprites/sorted-merged/chapter4/spr_bibliox_talk_lookup.png
new file mode 100644
index 0000000..f9e7166
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bibliox_talk_lookup.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_blockler_b.png b/_sprites/sorted-merged/chapter4/spr_blockler_b.png
new file mode 100644
index 0000000..f04840c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_blockler_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_blockler_b_parade.png b/_sprites/sorted-merged/chapter4/spr_blockler_b_parade.png
new file mode 100644
index 0000000..2ae95d8
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_blockler_b_parade.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bnamekris.png b/_sprites/sorted-merged/chapter4/spr_bnamekris.png
new file mode 100755
index 0000000..9e5bf21
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bnamekris.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bnameralsei.png b/_sprites/sorted-merged/chapter4/spr_bnameralsei.png
new file mode 100755
index 0000000..544ae27
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bnameralsei.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bnamesusie.png b/_sprites/sorted-merged/chapter4/spr_bnamesusie.png
new file mode 100755
index 0000000..3552926
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bnamesusie.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_btact.png b/_sprites/sorted-merged/chapter4/spr_btact.png
new file mode 100644
index 0000000..1bed3b2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_btact.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_btdefend.png b/_sprites/sorted-merged/chapter4/spr_btdefend.png
new file mode 100644
index 0000000..0189ae9
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_btdefend.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_btfight.png b/_sprites/sorted-merged/chapter4/spr_btfight.png
new file mode 100644
index 0000000..ab9d709
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_btfight.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_btitem.png b/_sprites/sorted-merged/chapter4/spr_btitem.png
new file mode 100644
index 0000000..3b4e0c0
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_btitem.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_btspare.png b/_sprites/sorted-merged/chapter4/spr_btspare.png
new file mode 100644
index 0000000..aa36851
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_btspare.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_bttech.png b/_sprites/sorted-merged/chapter4/spr_bttech.png
new file mode 100644
index 0000000..785e8ed
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_bttech.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_bakery_base.png b/_sprites/sorted-merged/chapter4/spr_castle_bakery_base.png
new file mode 100644
index 0000000..4db6de3
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_bakery_base.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_cafe_base.png b/_sprites/sorted-merged/chapter4/spr_castle_cafe_base.png
new file mode 100644
index 0000000..a6b8e49
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_cafe_base.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_dojo_base.png b/_sprites/sorted-merged/chapter4/spr_castle_dojo_base.png
new file mode 100644
index 0000000..5859855
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_dojo_base.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_dojo_discoball.png b/_sprites/sorted-merged/chapter4/spr_castle_dojo_discoball.png
new file mode 100644
index 0000000..96bfa3f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_dojo_discoball.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_dojo_sign_love.png b/_sprites/sorted-merged/chapter4/spr_castle_dojo_sign_love.png
new file mode 100755
index 0000000..fb7036c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_dojo_sign_love.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_shop.png b/_sprites/sorted-merged/chapter4/spr_castle_shop.png
new file mode 100644
index 0000000..33e1ac5
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_shop.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_castle_shop_new.png b/_sprites/sorted-merged/chapter4/spr_castle_shop_new.png
new file mode 100755
index 0000000..6b72b00
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_castle_shop_new.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_conbini_sign_clopen.png b/_sprites/sorted-merged/chapter4/spr_conbini_sign_clopen.png
new file mode 100644
index 0000000..5893068
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_conbini_sign_clopen.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_conbini_sign_open.png b/_sprites/sorted-merged/chapter4/spr_conbini_sign_open.png
new file mode 100644
index 0000000..88c2890
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_conbini_sign_open.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_conbini_sign_sans.png b/_sprites/sorted-merged/chapter4/spr_conbini_sign_sans.png
new file mode 100644
index 0000000..65b7304
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_conbini_sign_sans.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_conbini_sign_sans_white.png b/_sprites/sorted-merged/chapter4/spr_conbini_sign_sans_white.png
new file mode 100644
index 0000000..c219469
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_conbini_sign_sans_white.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_conbini_windows_open.png b/_sprites/sorted-merged/chapter4/spr_conbini_windows_open.png
new file mode 100644
index 0000000..c5000a0
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_conbini_windows_open.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_darkmenudesc.png b/_sprites/sorted-merged/chapter4/spr_darkmenudesc.png
new file mode 100644
index 0000000..efb7986
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_darkmenudesc.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dmenu_captions.png b/_sprites/sorted-merged/chapter4/spr_dmenu_captions.png
new file mode 100644
index 0000000..118c9aa
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dmenu_captions.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ads_small_ad.png b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_ad.png
new file mode 100644
index 0000000..dcf8955
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_ad.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ads_small_buy.png b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_buy.png
new file mode 100644
index 0000000..f502002
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_buy.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ads_small_buy_alt.png b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_buy_alt.png
new file mode 100644
index 0000000..4106d30
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_buy_alt.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ads_small_deal.png b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_deal.png
new file mode 100644
index 0000000..92087c3
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_deal.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ads_small_look.png b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_look.png
new file mode 100644
index 0000000..ce86f73
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ads_small_look.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_castle_queen_room_traffic_light.png b/_sprites/sorted-merged/chapter4/spr_dw_castle_queen_room_traffic_light.png
new file mode 100644
index 0000000..708a05f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_castle_queen_room_traffic_light.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_castle_tv.png b/_sprites/sorted-merged/chapter4/spr_dw_castle_tv.png
new file mode 100755
index 0000000..8b656ec
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_castle_tv.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_castle_tv_closed.png b/_sprites/sorted-merged/chapter4/spr_dw_castle_tv_closed.png
new file mode 100755
index 0000000..78b6ef2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_castle_tv_closed.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_castle_tv_door_mike.png b/_sprites/sorted-merged/chapter4/spr_dw_castle_tv_door_mike.png
new file mode 100644
index 0000000..251fe5e
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_castle_tv_door_mike.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_churchb_npcstatue_bibliox.png b/_sprites/sorted-merged/chapter4/spr_dw_churchb_npcstatue_bibliox.png
new file mode 100644
index 0000000..035ff2f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_churchb_npcstatue_bibliox.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_churchb_npcstatue_bibliox_bake.png b/_sprites/sorted-merged/chapter4/spr_dw_churchb_npcstatue_bibliox_bake.png
new file mode 100644
index 0000000..4cdb18d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_churchb_npcstatue_bibliox_bake.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_door_lancer.png b/_sprites/sorted-merged/chapter4/spr_dw_door_lancer.png
new file mode 100755
index 0000000..57766fa
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_door_lancer.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_door_queen.png b/_sprites/sorted-merged/chapter4/spr_dw_door_queen.png
new file mode 100644
index 0000000..9bd3912
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_door_queen.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_door_tenna.png b/_sprites/sorted-merged/chapter4/spr_dw_door_tenna.png
new file mode 100755
index 0000000..f135ee1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_door_tenna.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_door_tenna_closed.png b/_sprites/sorted-merged/chapter4/spr_dw_door_tenna_closed.png
new file mode 100755
index 0000000..a876241
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_door_tenna_closed.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ranking_doors_narrow_mike_locked.png b/_sprites/sorted-merged/chapter4/spr_dw_ranking_doors_narrow_mike_locked.png
new file mode 100755
index 0000000..7f5f2d2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ranking_doors_narrow_mike_locked.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_dw_ranking_doors_narrow_mike_unlocked.png b/_sprites/sorted-merged/chapter4/spr_dw_ranking_doors_narrow_mike_unlocked.png
new file mode 100755
index 0000000..f7a7422
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_dw_ranking_doors_narrow_mike_unlocked.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_face_queen.png b/_sprites/sorted-merged/chapter4/spr_face_queen.png
new file mode 100644
index 0000000..a38a4eb
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_face_queen.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_flowershop_sign.png b/_sprites/sorted-merged/chapter4/spr_flowershop_sign.png
new file mode 100755
index 0000000..332214b
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_flowershop_sign.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_gameoverbg_neo.png b/_sprites/sorted-merged/chapter4/spr_gameoverbg_neo.png
new file mode 100755
index 0000000..5a2962f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_gameoverbg_neo.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_ghost_house_chimney.png b/_sprites/sorted-merged/chapter4/spr_ghost_house_chimney.png
new file mode 100644
index 0000000..e3a6a1c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_ghost_house_chimney.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_guei_letters.png b/_sprites/sorted-merged/chapter4/spr_guei_letters.png
new file mode 100644
index 0000000..b56874b
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_guei_letters.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_guei_letters_bigger.png b/_sprites/sorted-merged/chapter4/spr_guei_letters_bigger.png
new file mode 100644
index 0000000..5571bf9
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_guei_letters_bigger.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_hpname.png b/_sprites/sorted-merged/chapter4/spr_hpname.png
new file mode 100755
index 0000000..370c719
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_hpname.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_lw_conbini_closed_lights.png b/_sprites/sorted-merged/chapter4/spr_lw_conbini_closed_lights.png
new file mode 100644
index 0000000..7d07db2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_lw_conbini_closed_lights.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_mike_sign.png b/_sprites/sorted-merged/chapter4/spr_mike_sign.png
new file mode 100644
index 0000000..726ddf5
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_mike_sign.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_plueypoints.png b/_sprites/sorted-merged/chapter4/spr_plueypoints.png
new file mode 100644
index 0000000..f416717
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_plueypoints.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_police_station_closed.png b/_sprites/sorted-merged/chapter4/spr_police_station_closed.png
new file mode 100644
index 0000000..e960bf4
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_police_station_closed.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_pressfront_b.png b/_sprites/sorted-merged/chapter4/spr_pressfront_b.png
new file mode 100644
index 0000000..5a0cb46
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_pressfront_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_quitmessage.png b/_sprites/sorted-merged/chapter4/spr_quitmessage.png
new file mode 100644
index 0000000..4b73551
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_quitmessage.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_recruited_by_oldman.png b/_sprites/sorted-merged/chapter4/spr_recruited_by_oldman.png
new file mode 100644
index 0000000..94b2116
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_recruited_by_oldman.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_rhythm_transition.png b/_sprites/sorted-merged/chapter4/spr_rhythm_transition.png
new file mode 100755
index 0000000..32d1316
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_rhythm_transition.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_rhythmgame_bg.png b/_sprites/sorted-merged/chapter4/spr_rhythmgame_bg.png
new file mode 100644
index 0000000..d430e2d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_rhythmgame_bg.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_shop_space_ui.png b/_sprites/sorted-merged/chapter4/spr_shop_space_ui.png
new file mode 100644
index 0000000..fcf12c1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_shop_space_ui.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_sign_closed.png b/_sprites/sorted-merged/chapter4/spr_sign_closed.png
new file mode 100644
index 0000000..e3adfab
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_sign_closed.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_spare_z.png b/_sprites/sorted-merged/chapter4/spr_spare_z.png
new file mode 100755
index 0000000..434b905
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_spare_z.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_armsup_annoyed.png b/_sprites/sorted-merged/chapter4/spr_tenna_armsup_annoyed.png
new file mode 100644
index 0000000..8c11fc1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_armsup_annoyed.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_attack.png b/_sprites/sorted-merged/chapter4/spr_tenna_attack.png
new file mode 100644
index 0000000..501c120
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_attack.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_desperate.png b/_sprites/sorted-merged/chapter4/spr_tenna_desperate.png
new file mode 100644
index 0000000..d5c5195
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_desperate.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_fall_start.png b/_sprites/sorted-merged/chapter4/spr_tenna_fall_start.png
new file mode 100755
index 0000000..4810417
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_fall_start.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_frightened.png b/_sprites/sorted-merged/chapter4/spr_tenna_frightened.png
new file mode 100644
index 0000000..29b07b5
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_frightened.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp.png
new file mode 100755
index 0000000..f86747d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_anim.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_anim.png
new file mode 100644
index 0000000..e28d177
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_anim.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_anim_b.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_anim_b.png
new file mode 100644
index 0000000..fda3771
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_anim_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_b.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_b.png
new file mode 100755
index 0000000..309994f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_c.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_c.png
new file mode 100755
index 0000000..858c962
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_c.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_chef.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_chef.png
new file mode 100644
index 0000000..c7a2cb0
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_chef.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_d.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_d.png
new file mode 100755
index 0000000..5e772b9
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_d.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_zoom.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_zoom.png
new file mode 100755
index 0000000..f86747d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_zoom.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_grasp_zoom_static.png b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_zoom_static.png
new file mode 100644
index 0000000..3cbcb2d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_grasp_zoom_static.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_hooray.png b/_sprites/sorted-merged/chapter4/spr_tenna_hooray.png
new file mode 100644
index 0000000..6af9250
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_hooray.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_hooray_alt.png b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_alt.png
new file mode 100644
index 0000000..6baa3ad
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_alt.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_hooray_armsup.png b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_armsup.png
new file mode 100755
index 0000000..3866729
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_armsup.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_hooray_armsup_teeth.png b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_armsup_teeth.png
new file mode 100755
index 0000000..2713ba1
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_armsup_teeth.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_hooray_chef.png b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_chef.png
new file mode 100644
index 0000000..8eedb00
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_hooray_chef.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_jumpscare.png b/_sprites/sorted-merged/chapter4/spr_tenna_jumpscare.png
new file mode 100644
index 0000000..14e5781
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_jumpscare.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_kick.png b/_sprites/sorted-merged/chapter4/spr_tenna_kick.png
new file mode 100644
index 0000000..78cddc9
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_kick.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_laugh.png b/_sprites/sorted-merged/chapter4/spr_tenna_laugh.png
new file mode 100644
index 0000000..a169d4c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_laugh.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose.png b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose.png
new file mode 100755
index 0000000..3109e81
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_alt.png b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_alt.png
new file mode 100755
index 0000000..4afb4c7
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_alt.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_segmented_body.png b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_segmented_body.png
new file mode 100755
index 0000000..3109e81
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_segmented_body.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_teeth.png b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_teeth.png
new file mode 100755
index 0000000..da81c2f
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_laugh_pose_teeth.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_nose_blossom.png b/_sprites/sorted-merged/chapter4/spr_tenna_nose_blossom.png
new file mode 100755
index 0000000..b240f76
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_nose_blossom.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_nose_blossom_bloom.png b/_sprites/sorted-merged/chapter4/spr_tenna_nose_blossom_bloom.png
new file mode 100755
index 0000000..2bb1ccc
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_nose_blossom_bloom.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen.png
new file mode 100755
index 0000000..65bfd16
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen_b.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen_b.png
new file mode 100755
index 0000000..c24e9a2
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen_c.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen_c.png
new file mode 100755
index 0000000..ef31061
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_at_screen_c.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_droop.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_droop.png
new file mode 100755
index 0000000..e434ebd
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_droop.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_top.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_top.png
new file mode 100755
index 0000000..6c29639
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_top.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_up.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_up.png
new file mode 100755
index 0000000..c7041ca
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_up.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_up_b.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_up_b.png
new file mode 100755
index 0000000..feceecb
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_up_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_point_up_twofingers.png b/_sprites/sorted-merged/chapter4/spr_tenna_point_up_twofingers.png
new file mode 100755
index 0000000..4bc7b3e
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_point_up_twofingers.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose.png
new file mode 100755
index 0000000..bf57290
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_headlowered.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headlowered.png
new file mode 100755
index 0000000..b2d348b
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headlowered.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_headlowered_nose.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headlowered_nose.png
new file mode 100755
index 0000000..383f8f3
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headlowered_nose.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised.png
new file mode 100755
index 0000000..e290519
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_nose.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_nose.png
new file mode 100755
index 0000000..ba07065
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_nose.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_zoom.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_zoom.png
new file mode 100755
index 0000000..5bde107
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_zoom.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_zoom_greenscreen.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_zoom_greenscreen.png
new file mode 100755
index 0000000..1335569
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_headraised_zoom_greenscreen.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_podium.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_podium.png
new file mode 100644
index 0000000..8826851
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_podium.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_pose_podium_evil.png b/_sprites/sorted-merged/chapter4/spr_tenna_pose_podium_evil.png
new file mode 100644
index 0000000..3fd8926
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_pose_podium_evil.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_sad.png b/_sprites/sorted-merged/chapter4/spr_tenna_sad.png
new file mode 100755
index 0000000..833a593
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_sad.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_snap.png b/_sprites/sorted-merged/chapter4/spr_tenna_snap.png
new file mode 100644
index 0000000..e56e81c
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_snap.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_snap_body.png b/_sprites/sorted-merged/chapter4/spr_tenna_snap_body.png
new file mode 100755
index 0000000..c1ddc69
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_snap_body.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_snap_body_f2.png b/_sprites/sorted-merged/chapter4/spr_tenna_snap_body_f2.png
new file mode 100755
index 0000000..59cdf21
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_snap_body_f2.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_a.png b/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_a.png
new file mode 100755
index 0000000..943eedd
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_a.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_b.png b/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_b.png
new file mode 100755
index 0000000..a02bee0
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_b.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_c.png b/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_c.png
new file mode 100755
index 0000000..1ff3b72
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_tie_adjust_c.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_twirl.png b/_sprites/sorted-merged/chapter4/spr_tenna_twirl.png
new file mode 100644
index 0000000..6157b1a
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_twirl.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_whisper.png b/_sprites/sorted-merged/chapter4/spr_tenna_whisper.png
new file mode 100755
index 0000000..1094fdb
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_whisper.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_whisper_blush.png b/_sprites/sorted-merged/chapter4/spr_tenna_whisper_blush.png
new file mode 100755
index 0000000..e19bc6d
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_whisper_blush.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tenna_whisper_chef.png b/_sprites/sorted-merged/chapter4/spr_tenna_whisper_chef.png
new file mode 100755
index 0000000..fe51645
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tenna_whisper_chef.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tiredmark.png b/_sprites/sorted-merged/chapter4/spr_tiredmark.png
new file mode 100755
index 0000000..f7f7eeb
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tiredmark.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tplogo.png b/_sprites/sorted-merged/chapter4/spr_tplogo.png
new file mode 100755
index 0000000..ffcc9d6
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tplogo.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_tutu.png b/_sprites/sorted-merged/chapter4/spr_tutu.png
new file mode 100644
index 0000000..73092b8
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_tutu.png differ
diff --git a/_sprites/sorted-merged/chapter4/spr_volume_logo.png b/_sprites/sorted-merged/chapter4/spr_volume_logo.png
new file mode 100644
index 0000000..9b12f81
Binary files /dev/null and b/_sprites/sorted-merged/chapter4/spr_volume_logo.png differ
diff --git a/_sprites/translation/bg_building_diner.png b/_sprites/translation/bg_building_diner.png
index fdca972..5e68100 100755
Binary files a/_sprites/translation/bg_building_diner.png and b/_sprites/translation/bg_building_diner.png differ
diff --git a/_sprites/translation/sp_bg_building_diner.png b/_sprites/translation/sp_bg_building_diner.png
new file mode 100644
index 0000000..fdca972
Binary files /dev/null and b/_sprites/translation/sp_bg_building_diner.png differ
diff --git a/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_0.png b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_0.png
new file mode 100644
index 0000000..bcebc5e
Binary files /dev/null and b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_0.png differ
diff --git a/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_1.png b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_1.png
new file mode 100644
index 0000000..44bcd85
Binary files /dev/null and b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_1.png differ
diff --git a/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_2.png b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_2.png
new file mode 100644
index 0000000..30e8f8c
Binary files /dev/null and b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_2.png differ
diff --git a/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_3.png b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_3.png
new file mode 100644
index 0000000..bcebc5e
Binary files /dev/null and b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_3.png differ
diff --git a/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_4.png b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_4.png
new file mode 100644
index 0000000..4df4cdc
Binary files /dev/null and b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_4.png differ
diff --git a/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_5.png b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_5.png
new file mode 100644
index 0000000..30e8f8c
Binary files /dev/null and b/_sprites/translation/sp_spr_blockler_b/sp_spr_blockler_o_5.png differ
diff --git a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_0.png b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_0.png
index e758ef1..8ef7253 100755
Binary files a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_0.png and b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_0.png differ
diff --git a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_1.png b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_1.png
index 831d7bc..881714d 100755
Binary files a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_1.png and b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_1.png differ
diff --git a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_2.png b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_2.png
index c5df9b0..7459c0d 100755
Binary files a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_2.png and b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_2.png differ
diff --git a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_3.png b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_3.png
index fee3a94..c89efa4 100755
Binary files a/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_3.png and b/_sprites/translation/sp_spr_blockler_o/sp_spr_blockler_o_3.png differ
diff --git a/_sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_0.png b/_sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_0.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_0.png
rename to _sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_0.png
diff --git a/_sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_1.png b/_sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_1.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_1.png
rename to _sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_1.png
diff --git a/_sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_2.png b/_sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_2.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_2.png
rename to _sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_2.png
diff --git a/_sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_3.png b/_sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_3.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_3.png
rename to _sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_3.png
diff --git a/_sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_4.png b/_sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_4.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/translation/sp_spr_gigaqueen_intro_fight/sp_spr_gigaqueen_intro_fight_4.png
rename to _sprites/translation/spm_spr_gigaqueen_intro_fight/spm_spr_gigaqueen_intro_fight_4.png
diff --git a/_sprites/translation/spr_blockler_b/spr_blockler_b_0.png b/_sprites/translation/spr_blockler_b/spr_blockler_b_0.png
index c57c5cd..99b0fee 100755
Binary files a/_sprites/translation/spr_blockler_b/spr_blockler_b_0.png and b/_sprites/translation/spr_blockler_b/spr_blockler_b_0.png differ
diff --git a/_sprites/translation/spr_blockler_b/spr_blockler_b_1.png b/_sprites/translation/spr_blockler_b/spr_blockler_b_1.png
index c3fe2b3..e4dd9ff 100755
Binary files a/_sprites/translation/spr_blockler_b/spr_blockler_b_1.png and b/_sprites/translation/spr_blockler_b/spr_blockler_b_1.png differ
diff --git a/_sprites/translation/spr_blockler_b/spr_blockler_b_2.png b/_sprites/translation/spr_blockler_b/spr_blockler_b_2.png
index b469c36..ec1b0f4 100755
Binary files a/_sprites/translation/spr_blockler_b/spr_blockler_b_2.png and b/_sprites/translation/spr_blockler_b/spr_blockler_b_2.png differ
diff --git a/_sprites/translation/spr_blockler_b/spr_blockler_b_3.png b/_sprites/translation/spr_blockler_b/spr_blockler_b_3.png
index c57c5cd..99b0fee 100755
Binary files a/_sprites/translation/spr_blockler_b/spr_blockler_b_3.png and b/_sprites/translation/spr_blockler_b/spr_blockler_b_3.png differ
diff --git a/_sprites/translation/spr_blockler_b/spr_blockler_b_4.png b/_sprites/translation/spr_blockler_b/spr_blockler_b_4.png
index f3e960f..c709328 100755
Binary files a/_sprites/translation/spr_blockler_b/spr_blockler_b_4.png and b/_sprites/translation/spr_blockler_b/spr_blockler_b_4.png differ
diff --git a/_sprites/translation/spr_blockler_b/spr_blockler_b_5.png b/_sprites/translation/spr_blockler_b/spr_blockler_b_5.png
index b469c36..ec1b0f4 100755
Binary files a/_sprites/translation/spr_blockler_b/spr_blockler_b_5.png and b/_sprites/translation/spr_blockler_b/spr_blockler_b_5.png differ
diff --git a/_sprites/translation/spr_blockler_o/spr_blockler_o_0.png b/_sprites/translation/spr_blockler_o/spr_blockler_o_0.png
new file mode 100644
index 0000000..8ef7253
Binary files /dev/null and b/_sprites/translation/spr_blockler_o/spr_blockler_o_0.png differ
diff --git a/_sprites/translation/spr_blockler_o/spr_blockler_o_1.png b/_sprites/translation/spr_blockler_o/spr_blockler_o_1.png
new file mode 100644
index 0000000..881714d
Binary files /dev/null and b/_sprites/translation/spr_blockler_o/spr_blockler_o_1.png differ
diff --git a/_sprites/translation/spr_blockler_o/spr_blockler_o_2.png b/_sprites/translation/spr_blockler_o/spr_blockler_o_2.png
new file mode 100644
index 0000000..7459c0d
Binary files /dev/null and b/_sprites/translation/spr_blockler_o/spr_blockler_o_2.png differ
diff --git a/_sprites/translation/spr_blockler_o/spr_blockler_o_3.png b/_sprites/translation/spr_blockler_o/spr_blockler_o_3.png
new file mode 100644
index 0000000..c89efa4
Binary files /dev/null and b/_sprites/translation/spr_blockler_o/spr_blockler_o_3.png differ
diff --git a/_sprites/translation/spr_blockler_и/spr_blockler_и_0.png b/_sprites/translation/spr_blockler_и/spr_blockler_и_0.png
new file mode 100644
index 0000000..c049516
Binary files /dev/null and b/_sprites/translation/spr_blockler_и/spr_blockler_и_0.png differ
diff --git a/_sprites/translation/spr_blockler_и/spr_blockler_и_1.png b/_sprites/translation/spr_blockler_и/spr_blockler_и_1.png
new file mode 100644
index 0000000..c56933d
Binary files /dev/null and b/_sprites/translation/spr_blockler_и/spr_blockler_и_1.png differ
diff --git a/_sprites/translation/spr_blockler_и/spr_blockler_и_2.png b/_sprites/translation/spr_blockler_и/spr_blockler_и_2.png
new file mode 100644
index 0000000..4b4d098
Binary files /dev/null and b/_sprites/translation/spr_blockler_и/spr_blockler_и_2.png differ
diff --git a/_sprites/translation/spr_blockler_и/spr_blockler_и_3.png b/_sprites/translation/spr_blockler_и/spr_blockler_и_3.png
new file mode 100644
index 0000000..3df3abd
Binary files /dev/null and b/_sprites/translation/spr_blockler_и/spr_blockler_и_3.png differ
diff --git a/_sprites/translation/spr_blockler_с/spr_blockler_с_0.png b/_sprites/translation/spr_blockler_с/spr_blockler_с_0.png
new file mode 100644
index 0000000..059a0a8
Binary files /dev/null and b/_sprites/translation/spr_blockler_с/spr_blockler_с_0.png differ
diff --git a/_sprites/translation/spr_blockler_с/spr_blockler_с_1.png b/_sprites/translation/spr_blockler_с/spr_blockler_с_1.png
new file mode 100644
index 0000000..a938535
Binary files /dev/null and b/_sprites/translation/spr_blockler_с/spr_blockler_с_1.png differ
diff --git a/_sprites/translation/spr_blockler_с/spr_blockler_с_2.png b/_sprites/translation/spr_blockler_с/spr_blockler_с_2.png
new file mode 100644
index 0000000..4f2e607
Binary files /dev/null and b/_sprites/translation/spr_blockler_с/spr_blockler_с_2.png differ
diff --git a/_sprites/translation/spr_blockler_с/spr_blockler_с_3.png b/_sprites/translation/spr_blockler_с/spr_blockler_с_3.png
new file mode 100644
index 0000000..059a0a8
Binary files /dev/null and b/_sprites/translation/spr_blockler_с/spr_blockler_с_3.png differ
diff --git a/_sprites/translation/spr_blockler_с/spr_blockler_с_4.png b/_sprites/translation/spr_blockler_с/spr_blockler_с_4.png
new file mode 100644
index 0000000..52889f8
Binary files /dev/null and b/_sprites/translation/spr_blockler_с/spr_blockler_с_4.png differ
diff --git a/_sprites/translation/spr_blockler_с/spr_blockler_с_5.png b/_sprites/translation/spr_blockler_с/spr_blockler_с_5.png
new file mode 100644
index 0000000..4f2e607
Binary files /dev/null and b/_sprites/translation/spr_blockler_с/spr_blockler_с_5.png differ
diff --git a/_sprites/translation/spr_bnamekris.png b/_sprites/translation/spr_bnamekris.png
index 9e5bf21..10228ce 100755
Binary files a/_sprites/translation/spr_bnamekris.png and b/_sprites/translation/spr_bnamekris.png differ
diff --git a/_sprites/translation/spr_bnameralsei.png b/_sprites/translation/spr_bnameralsei.png
index 544ae27..efb7401 100755
Binary files a/_sprites/translation/spr_bnameralsei.png and b/_sprites/translation/spr_bnameralsei.png differ
diff --git a/_sprites/translation/spr_bnamesusie.png b/_sprites/translation/spr_bnamesusie.png
index 3552926..31a886f 100755
Binary files a/_sprites/translation/spr_bnamesusie.png and b/_sprites/translation/spr_bnamesusie.png differ
diff --git a/_sprites/translation/spr_board_tile_quiz.png b/_sprites/translation/spr_board_tile_quiz.png
deleted file mode 100755
index e62bd85..0000000
Binary files a/_sprites/translation/spr_board_tile_quiz.png and /dev/null differ
diff --git a/_sprites/translation/spr_board_treasuremarker/spr_board_treasuremarker_0.png b/_sprites/translation/spr_board_treasuremarker/spr_board_treasuremarker_0.png
old mode 100755
new mode 100644
diff --git a/_sprites/translation/spr_board_treasuremarker/spr_board_treasuremarker_1.png b/_sprites/translation/spr_board_treasuremarker/spr_board_treasuremarker_1.png
old mode 100755
new mode 100644
diff --git a/_sprites/translation/spr_board_treasuremarker/spr_board_treasuremarker_2.png b/_sprites/translation/spr_board_treasuremarker/spr_board_treasuremarker_2.png
old mode 100755
new mode 100644
diff --git a/_sprites/translation/spr_ch3_chef_specialguestText.png b/_sprites/translation/spr_ch3_chef_specialguestText.png
deleted file mode 100755
index 57d69e7..0000000
Binary files a/_sprites/translation/spr_ch3_chef_specialguestText.png and /dev/null differ
diff --git a/_sprites/translation/spr_dw_green_room_door_changing/sp_spr_dw_green_room_door_changing_1.png b/_sprites/translation/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_1.png
similarity index 100%
rename from _sprites/translation/spr_dw_green_room_door_changing/sp_spr_dw_green_room_door_changing_1.png
rename to _sprites/translation/spr_dw_green_room_door_changing/spr_dw_green_room_door_changing_1.png
diff --git a/_sprites/translation/spr_dw_green_room_poster_left.png b/_sprites/translation/spr_dw_green_room_poster_left.png
deleted file mode 100755
index ab88ae7..0000000
Binary files a/_sprites/translation/spr_dw_green_room_poster_left.png and /dev/null differ
diff --git a/_sprites/translation/spr_dw_inbetween_room_door/sp_spr_dw_inbetween_room_door_1.png b/_sprites/translation/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_1.png
similarity index 100%
rename from _sprites/translation/spr_dw_inbetween_room_door/sp_spr_dw_inbetween_room_door_1.png
rename to _sprites/translation/spr_dw_inbetween_room_door/spr_dw_inbetween_room_door_1.png
diff --git a/_sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_gameshow_screen_logo_0.png b/_sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_dw_tv_tvtimeSign_animated_0.png
similarity index 100%
rename from _sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_gameshow_screen_logo_0.png
rename to _sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_dw_tv_tvtimeSign_animated_0.png
diff --git a/_sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_gameshow_screen_logo_1.png b/_sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_dw_tv_tvtimeSign_animated_1.png
similarity index 100%
rename from _sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_gameshow_screen_logo_1.png
rename to _sprites/translation/spr_dw_tv_tvtimeSign_animated/spr_dw_tv_tvtimeSign_animated_1.png
diff --git a/_sprites/translation/spr_dw_tv_tvtimeSign_half/spr_gameshow_screen_logo_0.png b/_sprites/translation/spr_dw_tv_tvtimeSign_half/spr_dw_tv_tvtimeSign_half_0.png
similarity index 100%
rename from _sprites/translation/spr_dw_tv_tvtimeSign_half/spr_gameshow_screen_logo_0.png
rename to _sprites/translation/spr_dw_tv_tvtimeSign_half/spr_dw_tv_tvtimeSign_half_0.png
diff --git a/_sprites/translation/spr_dw_tv_tvtimeSign_half/spr_gameshow_screen_logo_1.png b/_sprites/translation/spr_dw_tv_tvtimeSign_half/spr_dw_tv_tvtimeSign_half_1.png
similarity index 100%
rename from _sprites/translation/spr_dw_tv_tvtimeSign_half/spr_gameshow_screen_logo_1.png
rename to _sprites/translation/spr_dw_tv_tvtimeSign_half/spr_dw_tv_tvtimeSign_half_1.png
diff --git a/_sprites/translation/spr_funnytext_board2.png b/_sprites/translation/spr_funnytext_board2.png
deleted file mode 100755
index 1fc659d..0000000
Binary files a/_sprites/translation/spr_funnytext_board2.png and /dev/null differ
diff --git a/_sprites/translation/spr_gameshow_pushingbuddies.png b/_sprites/translation/spr_gameshow_pushingbuddies.png
old mode 100755
new mode 100644
diff --git a/_sprites/translation/spr_gameshow_screen_halloffame.png b/_sprites/translation/spr_gameshow_screen_halloffame.png
deleted file mode 100755
index 502895b..0000000
Binary files a/_sprites/translation/spr_gameshow_screen_halloffame.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_0.png b/_sprites/translation/spr_headkris/spr_headkris_0.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_0.png
rename to _sprites/translation/spr_headkris/spr_headkris_0.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_1.png b/_sprites/translation/spr_headkris/spr_headkris_1.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_1.png
rename to _sprites/translation/spr_headkris/spr_headkris_1.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_10.png b/_sprites/translation/spr_headkris/spr_headkris_10.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_10.png
rename to _sprites/translation/spr_headkris/spr_headkris_10.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_2.png b/_sprites/translation/spr_headkris/spr_headkris_2.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_2.png
rename to _sprites/translation/spr_headkris/spr_headkris_2.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_3.png b/_sprites/translation/spr_headkris/spr_headkris_3.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_3.png
rename to _sprites/translation/spr_headkris/spr_headkris_3.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_4.png b/_sprites/translation/spr_headkris/spr_headkris_4.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_4.png
rename to _sprites/translation/spr_headkris/spr_headkris_4.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_5.png b/_sprites/translation/spr_headkris/spr_headkris_5.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_5.png
rename to _sprites/translation/spr_headkris/spr_headkris_5.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_6.png b/_sprites/translation/spr_headkris/spr_headkris_6.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_6.png
rename to _sprites/translation/spr_headkris/spr_headkris_6.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_7.png b/_sprites/translation/spr_headkris/spr_headkris_7.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_7.png
rename to _sprites/translation/spr_headkris/spr_headkris_7.png
diff --git a/_sprites/original/chapter2/spr_headkris/spr_headkris_8.png b/_sprites/translation/spr_headkris/spr_headkris_8.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headkris/spr_headkris_8.png
rename to _sprites/translation/spr_headkris/spr_headkris_8.png
diff --git a/_sprites/translation/spr_headnoelle/spr_headnoelle_9.png b/_sprites/translation/spr_headnoelle/spr_headnoelle_9.png
deleted file mode 100755
index 1bd4104..0000000
Binary files a/_sprites/translation/spr_headnoelle/spr_headnoelle_9.png and /dev/null differ
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_0.png b/_sprites/translation/spr_headralsei/spr_headralsei_0.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_0.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_0.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_1.png b/_sprites/translation/spr_headralsei/spr_headralsei_1.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_1.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_1.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_10.png b/_sprites/translation/spr_headralsei/spr_headralsei_10.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_10.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_10.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_2.png b/_sprites/translation/spr_headralsei/spr_headralsei_2.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_2.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_2.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_3.png b/_sprites/translation/spr_headralsei/spr_headralsei_3.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_3.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_3.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_4.png b/_sprites/translation/spr_headralsei/spr_headralsei_4.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_4.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_4.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_5.png b/_sprites/translation/spr_headralsei/spr_headralsei_5.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_5.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_5.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_6.png b/_sprites/translation/spr_headralsei/spr_headralsei_6.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_6.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_6.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_7.png b/_sprites/translation/spr_headralsei/spr_headralsei_7.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_7.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_7.png
diff --git a/_sprites/original/chapter2/spr_headralsei/spr_headralsei_8.png b/_sprites/translation/spr_headralsei/spr_headralsei_8.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headralsei/spr_headralsei_8.png
rename to _sprites/translation/spr_headralsei/spr_headralsei_8.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_0.png b/_sprites/translation/spr_headsusie/spr_headsusie_0.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_0.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_0.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_1.png b/_sprites/translation/spr_headsusie/spr_headsusie_1.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_1.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_1.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_10.png b/_sprites/translation/spr_headsusie/spr_headsusie_10.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_10.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_10.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_2.png b/_sprites/translation/spr_headsusie/spr_headsusie_2.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_2.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_2.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_3.png b/_sprites/translation/spr_headsusie/spr_headsusie_3.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_3.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_3.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_4.png b/_sprites/translation/spr_headsusie/spr_headsusie_4.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_4.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_4.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_5.png b/_sprites/translation/spr_headsusie/spr_headsusie_5.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_5.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_5.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_6.png b/_sprites/translation/spr_headsusie/spr_headsusie_6.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_6.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_6.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_7.png b/_sprites/translation/spr_headsusie/spr_headsusie_7.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_7.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_7.png
diff --git a/_sprites/original/chapter2/spr_headsusie/spr_headsusie_8.png b/_sprites/translation/spr_headsusie/spr_headsusie_8.png
old mode 100755
new mode 100644
similarity index 100%
rename from _sprites/original/chapter2/spr_headsusie/spr_headsusie_8.png
rename to _sprites/translation/spr_headsusie/spr_headsusie_8.png
diff --git a/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_0.png b/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_0.png
index c4da636..d1015ea 100755
Binary files a/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_0.png and b/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_0.png differ
diff --git a/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_1.png b/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_1.png
index d4ad8f3..346f9bc 100755
Binary files a/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_1.png and b/_sprites/translation/spr_npc_bibliox/spr_npc_bibliox_1.png differ
diff --git a/_sprites/unique.txt b/_sprites/unique.txt
new file mode 100644
index 0000000..e0088f4
--- /dev/null
+++ b/_sprites/unique.txt
@@ -0,0 +1,16 @@
+UNIQUE FOR SORTING:
+chapter1/spr_blockler_и
+chapter1/spr_blockler_с
+chapter3/spr_funnytext_loves
+chapter3/spr_funnytext_star2
+
+
+UNIQUE FRAME COUNT:
+IMAGE_LOGO_CENTER_SEPARATE
+spr_ch2_keyboard_tile_text
+spr_funnytext_dark_fountain
+spr_funnytext_game
+spr_funnytext_game_over
+spr_funnytext_toriel
+spr_tvlandfont
+IMAGE_LOGO_CENTER_SHATTER_PIECES
\ No newline at end of file
diff --git a/_sprites/unready/Sprite3691/Sprite3691_0.png b/_sprites/unready/Sprite3691/Sprite3691_0.png
deleted file mode 100644
index 582c866..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_0.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_1.png b/_sprites/unready/Sprite3691/Sprite3691_1.png
deleted file mode 100644
index 2d06798..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_1.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_10.png b/_sprites/unready/Sprite3691/Sprite3691_10.png
deleted file mode 100644
index e962638..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_10.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_11.png b/_sprites/unready/Sprite3691/Sprite3691_11.png
deleted file mode 100644
index c942bcc..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_11.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_12.png b/_sprites/unready/Sprite3691/Sprite3691_12.png
deleted file mode 100644
index 1303d73..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_12.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_13.png b/_sprites/unready/Sprite3691/Sprite3691_13.png
deleted file mode 100644
index 0d3cab3..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_13.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_14.png b/_sprites/unready/Sprite3691/Sprite3691_14.png
deleted file mode 100644
index c789475..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_14.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_15.png b/_sprites/unready/Sprite3691/Sprite3691_15.png
deleted file mode 100644
index 940c678..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_15.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_16.png b/_sprites/unready/Sprite3691/Sprite3691_16.png
deleted file mode 100644
index 6fd313e..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_16.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_17.png b/_sprites/unready/Sprite3691/Sprite3691_17.png
deleted file mode 100644
index a7ba69e..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_17.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_18.png b/_sprites/unready/Sprite3691/Sprite3691_18.png
deleted file mode 100644
index 24322ec..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_18.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_19.png b/_sprites/unready/Sprite3691/Sprite3691_19.png
deleted file mode 100644
index 0c2bdc9..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_19.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_2.png b/_sprites/unready/Sprite3691/Sprite3691_2.png
deleted file mode 100644
index 0395167..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_2.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_20.png b/_sprites/unready/Sprite3691/Sprite3691_20.png
deleted file mode 100644
index b5fb73b..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_20.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_21.png b/_sprites/unready/Sprite3691/Sprite3691_21.png
deleted file mode 100644
index 864e720..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_21.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_22.png b/_sprites/unready/Sprite3691/Sprite3691_22.png
deleted file mode 100644
index 579b8ab..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_22.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_23.png b/_sprites/unready/Sprite3691/Sprite3691_23.png
deleted file mode 100644
index 8cd343f..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_23.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_24.png b/_sprites/unready/Sprite3691/Sprite3691_24.png
deleted file mode 100644
index 8901b68..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_24.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_25.png b/_sprites/unready/Sprite3691/Sprite3691_25.png
deleted file mode 100644
index 26b9434..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_25.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_26.png b/_sprites/unready/Sprite3691/Sprite3691_26.png
deleted file mode 100644
index ce5fc3d..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_26.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_27.png b/_sprites/unready/Sprite3691/Sprite3691_27.png
deleted file mode 100644
index 86df825..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_27.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_28.png b/_sprites/unready/Sprite3691/Sprite3691_28.png
deleted file mode 100644
index 3715b5e..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_28.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_29.png b/_sprites/unready/Sprite3691/Sprite3691_29.png
deleted file mode 100644
index 38ffe59..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_29.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_3.png b/_sprites/unready/Sprite3691/Sprite3691_3.png
deleted file mode 100644
index 62e1af6..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_3.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_4.png b/_sprites/unready/Sprite3691/Sprite3691_4.png
deleted file mode 100644
index b51aa29..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_4.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_5.png b/_sprites/unready/Sprite3691/Sprite3691_5.png
deleted file mode 100644
index 7584b04..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_5.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_6.png b/_sprites/unready/Sprite3691/Sprite3691_6.png
deleted file mode 100644
index 4d1f57f..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_6.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_7.png b/_sprites/unready/Sprite3691/Sprite3691_7.png
deleted file mode 100644
index 89e08a7..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_7.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_8.png b/_sprites/unready/Sprite3691/Sprite3691_8.png
deleted file mode 100644
index 9c6f3e2..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_8.png and /dev/null differ
diff --git a/_sprites/unready/Sprite3691/Sprite3691_9.png b/_sprites/unready/Sprite3691/Sprite3691_9.png
deleted file mode 100644
index 2febc84..0000000
Binary files a/_sprites/unready/Sprite3691/Sprite3691_9.png and /dev/null differ
diff --git a/_sprites/unready/bg_building_icee.png b/_sprites/unready/bg_building_icee.png
deleted file mode 100644
index 1747723..0000000
Binary files a/_sprites/unready/bg_building_icee.png and /dev/null differ
diff --git a/_sprites/unready/bg_building_townhall.png b/_sprites/unready/bg_building_townhall.png
deleted file mode 100644
index 13df592..0000000
Binary files a/_sprites/unready/bg_building_townhall.png and /dev/null differ
diff --git a/_sprites/unready/bg_cctiles.png b/_sprites/unready/bg_cctiles.png
deleted file mode 100644
index 7f589ae..0000000
Binary files a/_sprites/unready/bg_cctiles.png and /dev/null differ
diff --git a/_sprites/unready/bg_dw_b3bs_interstitial.png b/_sprites/unready/bg_dw_b3bs_interstitial.png
deleted file mode 100644
index 941aef4..0000000
Binary files a/_sprites/unready/bg_dw_b3bs_interstitial.png and /dev/null differ
diff --git a/_sprites/unready/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_0.png b/_sprites/unready/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_0.png
new file mode 100644
index 0000000..3b06942
Binary files /dev/null and b/_sprites/unready/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_0.png differ
diff --git a/_sprites/unready/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_1.png b/_sprites/unready/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_1.png
new file mode 100644
index 0000000..e90ba3f
Binary files /dev/null and b/_sprites/unready/bg_dw_cyber_keyboard/bg_dw_cyber_keyboard_1.png differ
diff --git a/_sprites/unready/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_0.png b/_sprites/unready/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_0.png
new file mode 100644
index 0000000..3559289
Binary files /dev/null and b/_sprites/unready/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_0.png differ
diff --git a/_sprites/unready/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_1.png b/_sprites/unready/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_1.png
new file mode 100644
index 0000000..608a883
Binary files /dev/null and b/_sprites/unready/bg_dw_cyber_keyboard_big/bg_dw_cyber_keyboard_big_1.png differ
diff --git a/_sprites/unready/bg_dw_tvland_backstage_tiles_old.png b/_sprites/unready/bg_dw_tvland_backstage_tiles_old.png
deleted file mode 100644
index a52db45..0000000
Binary files a/_sprites/unready/bg_dw_tvland_backstage_tiles_old.png and /dev/null differ
diff --git a/_sprites/unready/bg_dw_tvland_stage_tiles_old.png b/_sprites/unready/bg_dw_tvland_stage_tiles_old.png
deleted file mode 100644
index a51271c..0000000
Binary files a/_sprites/unready/bg_dw_tvland_stage_tiles_old.png and /dev/null differ
diff --git a/_sprites/unready/saloon_Train_NoneMove.png b/_sprites/unready/saloon_Train_NoneMove.png
deleted file mode 100644
index 46c8c91..0000000
Binary files a/_sprites/unready/saloon_Train_NoneMove.png and /dev/null differ
diff --git a/_sprites/unready/spr_bell_note/spr_bell_note_0.png b/_sprites/unready/spr_bell_note/spr_bell_note_0.png
deleted file mode 100644
index 6bd5eca..0000000
Binary files a/_sprites/unready/spr_bell_note/spr_bell_note_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_bell_note/spr_bell_note_1.png b/_sprites/unready/spr_bell_note/spr_bell_note_1.png
deleted file mode 100644
index 834d76d..0000000
Binary files a/_sprites/unready/spr_bell_note/spr_bell_note_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_bell_note/spr_bell_note_2.png b/_sprites/unready/spr_bell_note/spr_bell_note_2.png
deleted file mode 100644
index a25684e..0000000
Binary files a/_sprites/unready/spr_bell_note/spr_bell_note_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_bell_note/spr_bell_note_3.png b/_sprites/unready/spr_bell_note/spr_bell_note_3.png
deleted file mode 100644
index 08bf118..0000000
Binary files a/_sprites/unready/spr_bell_note/spr_bell_note_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_bell_note/spr_bell_note_4.png b/_sprites/unready/spr_bell_note/spr_bell_note_4.png
deleted file mode 100644
index 430d0ba..0000000
Binary files a/_sprites/unready/spr_bell_note/spr_bell_note_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_blockler_o/spr_blockler_o_0.png b/_sprites/unready/spr_blockler_o/spr_blockler_o_0.png
deleted file mode 100644
index 02efed2..0000000
Binary files a/_sprites/unready/spr_blockler_o/spr_blockler_o_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_blockler_o/spr_blockler_o_1.png b/_sprites/unready/spr_blockler_o/spr_blockler_o_1.png
deleted file mode 100644
index 8b664ff..0000000
Binary files a/_sprites/unready/spr_blockler_o/spr_blockler_o_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_blockler_o/spr_blockler_o_2.png b/_sprites/unready/spr_blockler_o/spr_blockler_o_2.png
deleted file mode 100644
index 13f0d16..0000000
Binary files a/_sprites/unready/spr_blockler_o/spr_blockler_o_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_blockler_o/spr_blockler_o_3.png b/_sprites/unready/spr_blockler_o/spr_blockler_o_3.png
deleted file mode 100644
index 7fea44d..0000000
Binary files a/_sprites/unready/spr_blockler_o/spr_blockler_o_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_b3stairdoor.png b/_sprites/unready/spr_board_b3stairdoor.png
deleted file mode 100644
index 8f612f5..0000000
Binary files a/_sprites/unready/spr_board_b3stairdoor.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_b3stairdoor_big.png b/_sprites/unready/spr_board_b3stairdoor_big.png
deleted file mode 100644
index 67fc63f..0000000
Binary files a/_sprites/unready/spr_board_b3stairdoor_big.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_b3stairs.png b/_sprites/unready/spr_board_b3stairs.png
deleted file mode 100644
index d6c0917..0000000
Binary files a/_sprites/unready/spr_board_b3stairs.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_b3tvtower.png b/_sprites/unready/spr_board_b3tvtower.png
deleted file mode 100644
index eabc59f..0000000
Binary files a/_sprites/unready/spr_board_b3tvtower.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_check_warp.png b/_sprites/unready/spr_board_check_warp.png
deleted file mode 100644
index a99862b..0000000
Binary files a/_sprites/unready/spr_board_check_warp.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_event.png b/_sprites/unready/spr_board_event.png
deleted file mode 100644
index dc3e839..0000000
Binary files a/_sprites/unready/spr_board_event.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_freeroamTrigger.png b/_sprites/unready/spr_board_freeroamTrigger.png
deleted file mode 100644
index 59d3a52..0000000
Binary files a/_sprites/unready/spr_board_freeroamTrigger.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_game_title_tvtime.png b/_sprites/unready/spr_board_game_title_tvtime.png
deleted file mode 100644
index 3dca324..0000000
Binary files a/_sprites/unready/spr_board_game_title_tvtime.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_movingEnemy.png b/_sprites/unready/spr_board_movingEnemy.png
deleted file mode 100644
index d4b061c..0000000
Binary files a/_sprites/unready/spr_board_movingEnemy.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_quiztile.png b/_sprites/unready/spr_board_quiztile.png
deleted file mode 100644
index 0b080b8..0000000
Binary files a/_sprites/unready/spr_board_quiztile.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_screenColorChanger.png b/_sprites/unready/spr_board_screenColorChanger.png
deleted file mode 100644
index 9343b4e..0000000
Binary files a/_sprites/unready/spr_board_screenColorChanger.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_treasuremarker.png b/_sprites/unready/spr_board_treasuremarker.png
deleted file mode 100644
index ab8b922..0000000
Binary files a/_sprites/unready/spr_board_treasuremarker.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency/spr_board_yogurtemergency_0.png b/_sprites/unready/spr_board_yogurtemergency/spr_board_yogurtemergency_0.png
deleted file mode 100644
index accfcf8..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency/spr_board_yogurtemergency_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency/spr_board_yogurtemergency_1.png b/_sprites/unready/spr_board_yogurtemergency/spr_board_yogurtemergency_1.png
deleted file mode 100644
index b95f5bc..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency/spr_board_yogurtemergency_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_0.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_0.png
deleted file mode 100644
index f56a440..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_1.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_1.png
deleted file mode 100644
index dbb3a42..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_10.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_10.png
deleted file mode 100644
index 8695507..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_11.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_11.png
deleted file mode 100644
index c0fe50d..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_12.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_12.png
deleted file mode 100644
index 19c7c16..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_13.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_13.png
deleted file mode 100644
index b83f656..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_14.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_14.png
deleted file mode 100644
index 83b6b07..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_15.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_15.png
deleted file mode 100644
index 2941e8c..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_16.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_16.png
deleted file mode 100644
index 114d989..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_17.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_17.png
deleted file mode 100644
index 8fa9307..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_18.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_18.png
deleted file mode 100644
index cb34178..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_19.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_19.png
deleted file mode 100644
index eeb6a49..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_2.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_2.png
deleted file mode 100644
index f74e583..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_20.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_20.png
deleted file mode 100644
index afe7212..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_21.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_21.png
deleted file mode 100644
index ca13dab..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_22.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_22.png
deleted file mode 100644
index a775b9e..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_23.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_23.png
deleted file mode 100644
index 53a0b63..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_24.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_24.png
deleted file mode 100644
index ab1e6b2..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_25.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_25.png
deleted file mode 100644
index 23185ff..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_26.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_26.png
deleted file mode 100644
index a5baec6..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_27.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_27.png
deleted file mode 100644
index 6a8d191..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_28.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_28.png
deleted file mode 100644
index ceb6341..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_29.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_29.png
deleted file mode 100644
index 54d00c2..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_3.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_3.png
deleted file mode 100644
index 8dcb344..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_4.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_4.png
deleted file mode 100644
index 2c11efe..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_5.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_5.png
deleted file mode 100644
index d81036c..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_6.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_6.png
deleted file mode 100644
index b8632fc..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_7.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_7.png
deleted file mode 100644
index 2e3fdc6..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_8.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_8.png
deleted file mode 100644
index d59a7ee..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_9.png b/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_9.png
deleted file mode 100644
index ae58cf2..0000000
Binary files a/_sprites/unready/spr_board_yogurtemergency_text/spr_board_yogurtemergency_text_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_btact_rouxls_white.png b/_sprites/unready/spr_btact_rouxls_white.png
deleted file mode 100644
index 1ef453a..0000000
Binary files a/_sprites/unready/spr_btact_rouxls_white.png and /dev/null differ
diff --git a/_sprites/unready/spr_btdog/spr_btdog_0.png b/_sprites/unready/spr_btdog/spr_btdog_0.png
deleted file mode 100644
index 401616d..0000000
Binary files a/_sprites/unready/spr_btdog/spr_btdog_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_btdog/spr_btdog_1.png b/_sprites/unready/spr_btdog/spr_btdog_1.png
deleted file mode 100644
index 2b1ed9e..0000000
Binary files a/_sprites/unready/spr_btdog/spr_btdog_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_btdog_success.png b/_sprites/unready/spr_btdog_success.png
deleted file mode 100644
index a73f7ae..0000000
Binary files a/_sprites/unready/spr_btdog_success.png and /dev/null differ
diff --git a/_sprites/unready/spr_btdog_success2.png b/_sprites/unready/spr_btdog_success2.png
deleted file mode 100644
index 966cc9d..0000000
Binary files a/_sprites/unready/spr_btdog_success2.png and /dev/null differ
diff --git a/_sprites/unready/spr_btexclamation1.png b/_sprites/unready/spr_btexclamation1.png
deleted file mode 100644
index 44abd25..0000000
Binary files a/_sprites/unready/spr_btexclamation1.png and /dev/null differ
diff --git a/_sprites/unready/spr_btexclamation1_spade.png b/_sprites/unready/spr_btexclamation1_spade.png
deleted file mode 100644
index b079591..0000000
Binary files a/_sprites/unready/spr_btexclamation1_spade.png and /dev/null differ
diff --git a/_sprites/unready/spr_btexclamation2.png b/_sprites/unready/spr_btexclamation2.png
deleted file mode 100644
index 86beab8..0000000
Binary files a/_sprites/unready/spr_btexclamation2.png and /dev/null differ
diff --git a/_sprites/unready/spr_camera_bg.png b/_sprites/unready/spr_camera_bg.png
deleted file mode 100644
index e479d79..0000000
Binary files a/_sprites/unready/spr_camera_bg.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_0.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_0.png
deleted file mode 100644
index 6160c10..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_1.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_1.png
deleted file mode 100644
index 2079a56..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_2.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_2.png
deleted file mode 100644
index 4d9be1c..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_3.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_3.png
deleted file mode 100644
index b2b3712..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_4.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_4.png
deleted file mode 100644
index a3744ce..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_5.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_5.png
deleted file mode 100644
index 0d93f15..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_6.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_6.png
deleted file mode 100644
index 0a226fd..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_7.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_7.png
deleted file mode 100644
index 06cd854..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_8.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_8.png
deleted file mode 100644
index b84a82d..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_9.png b/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_9.png
deleted file mode 100644
index 4bb17a6..0000000
Binary files a/_sprites/unready/spr_ch2_gimmick_bombtext_0/spr_ch2_gimmick_bombtext_0_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_0.png b/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_0.png
deleted file mode 100644
index 26e03fa..0000000
Binary files a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_1.png b/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_1.png
deleted file mode 100644
index 5af9844..0000000
Binary files a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_2.png b/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_2.png
deleted file mode 100644
index 9ae518d..0000000
Binary files a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_3.png b/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_3.png
deleted file mode 100644
index 7c5507d..0000000
Binary files a/_sprites/unready/spr_ch3_wheel_center/spr_ch3_wheel_center_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_cutscene_26_plugboy.png b/_sprites/unready/spr_cutscene_26_plugboy.png
deleted file mode 100755
index 472dabf..0000000
Binary files a/_sprites/unready/spr_cutscene_26_plugboy.png and /dev/null differ
diff --git a/_sprites/unready/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_0.png b/_sprites/unready/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_0.png
new file mode 100644
index 0000000..39a7a95
Binary files /dev/null and b/_sprites/unready/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_0.png differ
diff --git a/_sprites/unready/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_1.png b/_sprites/unready/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_1.png
new file mode 100644
index 0000000..6ada77e
Binary files /dev/null and b/_sprites/unready/spr_cutscene_26_plugboy/spr_cutscene_26_plugboy_1.png differ
diff --git a/_sprites/unready/spr_debug_camera/spr_debug_camera_0.png b/_sprites/unready/spr_debug_camera/spr_debug_camera_0.png
deleted file mode 100644
index 5678c12..0000000
Binary files a/_sprites/unready/spr_debug_camera/spr_debug_camera_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_debug_camera/spr_debug_camera_1.png b/_sprites/unready/spr_debug_camera/spr_debug_camera_1.png
deleted file mode 100644
index 5b993fb..0000000
Binary files a/_sprites/unready/spr_debug_camera/spr_debug_camera_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_debug_camera/spr_debug_camera_2.png b/_sprites/unready/spr_debug_camera/spr_debug_camera_2.png
deleted file mode 100644
index 5dd6658..0000000
Binary files a/_sprites/unready/spr_debug_camera/spr_debug_camera_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_debug_camera_screen.png b/_sprites/unready/spr_debug_camera_screen.png
deleted file mode 100644
index 487513d..0000000
Binary files a/_sprites/unready/spr_debug_camera_screen.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_0.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_0.png
deleted file mode 100644
index 725acdc..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_1.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_1.png
deleted file mode 100644
index 10e1105..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_10.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_10.png
deleted file mode 100644
index d853ff3..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_11.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_11.png
deleted file mode 100644
index 3d0b6aa..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_12.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_12.png
deleted file mode 100644
index 7755041..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_13.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_13.png
deleted file mode 100644
index 8617a6a..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_14.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_14.png
deleted file mode 100644
index a139b9d..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_15.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_15.png
deleted file mode 100644
index 3007297..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_16.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_16.png
deleted file mode 100644
index ea3607c..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_17.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_17.png
deleted file mode 100644
index e4c56f2..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_18.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_18.png
deleted file mode 100644
index 107f0de..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_19.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_19.png
deleted file mode 100644
index 4af1c82..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_2.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_2.png
deleted file mode 100644
index 4e990ad..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_20.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_20.png
deleted file mode 100644
index 9b21f77..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_21.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_21.png
deleted file mode 100644
index 63fc36f..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_22.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_22.png
deleted file mode 100644
index 86d8848..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_3.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_3.png
deleted file mode 100644
index 97757bd..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_4.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_4.png
deleted file mode 100644
index 9899944..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_5.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_5.png
deleted file mode 100644
index 070ca26..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_6.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_6.png
deleted file mode 100644
index d5b0675..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_7.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_7.png
deleted file mode 100644
index 42e4051..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_8.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_8.png
deleted file mode 100644
index e7322d0..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_9.png b/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_9.png
deleted file mode 100644
index d76d2be..0000000
Binary files a/_sprites/unready/spr_dg_vs_bg1/spr_dg_vs_bg1_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_0.png b/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_0.png
deleted file mode 100644
index fc0122d..0000000
Binary files a/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_1.png b/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_1.png
deleted file mode 100644
index 7dd542e..0000000
Binary files a/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_2.png b/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_2.png
deleted file mode 100644
index 77b22cf..0000000
Binary files a/_sprites/unready/spr_dw_castle_queen_room_traffic_display/spr_dw_castle_queen_room_traffic_display_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_0.png b/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_0.png
deleted file mode 100644
index 7cb2b7e..0000000
Binary files a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_1.png b/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_1.png
deleted file mode 100644
index 3ee7d32..0000000
Binary files a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_2.png b/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_2.png
deleted file mode 100644
index f5be8af..0000000
Binary files a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_3.png b/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_3.png
deleted file mode 100644
index 7c7d917..0000000
Binary files a/_sprites/unready/spr_dw_ch3_latenitesign/spr_dw_ch3_latenitesign_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_0.png b/_sprites/unready/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_0.png
deleted file mode 100644
index ac68ed2..0000000
Binary files a/_sprites/unready/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_1.png b/_sprites/unready/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_1.png
deleted file mode 100644
index 639aa56..0000000
Binary files a/_sprites/unready/spr_dw_church_prophecy_initial2/spr_dw_church_prophecy_initial2_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_church_prophecy_knight2.png b/_sprites/unready/spr_dw_church_prophecy_knight2.png
deleted file mode 100644
index d416906..0000000
Binary files a/_sprites/unready/spr_dw_church_prophecy_knight2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_church_prophecy_knight2_icon.png b/_sprites/unready/spr_dw_church_prophecy_knight2_icon.png
deleted file mode 100644
index 5771b26..0000000
Binary files a/_sprites/unready/spr_dw_church_prophecy_knight2_icon.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_gameshow_screen_bonus_confirmed.png b/_sprites/unready/spr_dw_gameshow_screen_bonus_confirmed.png
deleted file mode 100644
index 944c5b1..0000000
Binary files a/_sprites/unready/spr_dw_gameshow_screen_bonus_confirmed.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_gameshow_screen_round_3_bonus.png b/_sprites/unready/spr_dw_gameshow_screen_round_3_bonus.png
deleted file mode 100644
index cfdd122..0000000
Binary files a/_sprites/unready/spr_dw_gameshow_screen_round_3_bonus.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_gameshow_screen_round_3_bonus_backup.png b/_sprites/unready/spr_dw_gameshow_screen_round_3_bonus_backup.png
deleted file mode 100644
index 89e3d0e..0000000
Binary files a/_sprites/unready/spr_dw_gameshow_screen_round_3_bonus_backup.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_green_room_door_changing.png b/_sprites/unready/spr_dw_green_room_door_changing.png
deleted file mode 100644
index 83b2770..0000000
Binary files a/_sprites/unready/spr_dw_green_room_door_changing.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_inbetween_room_door.png b/_sprites/unready/spr_dw_inbetween_room_door.png
deleted file mode 100644
index fc7d98d..0000000
Binary files a/_sprites/unready/spr_dw_inbetween_room_door.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_poster_band.png b/_sprites/unready/spr_dw_poster_band.png
deleted file mode 100644
index 499dc68..0000000
Binary files a/_sprites/unready/spr_dw_poster_band.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_0.png b/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_0.png
deleted file mode 100644
index a617e54..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_1.png b/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_1.png
deleted file mode 100644
index 1d943a1..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_2.png b/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_2.png
deleted file mode 100644
index b2cac96..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_3.png b/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_3.png
deleted file mode 100644
index eaf0020..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base/spr_dw_tv_funometer_base_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_0.png b/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_0.png
deleted file mode 100644
index d193e6d..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_1.png b/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_1.png
deleted file mode 100644
index 9f80861..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_2.png b/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_2.png
deleted file mode 100644
index 38ae226..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_3.png b/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_3.png
deleted file mode 100644
index 4659bfa..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_base_1x/spr_dw_tv_funometer_base_1x_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_hope.png b/_sprites/unready/spr_dw_tv_funometer_hope.png
deleted file mode 100644
index 048d3b6..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_hope.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_funometer_hopeText.png b/_sprites/unready/spr_dw_tv_funometer_hopeText.png
deleted file mode 100644
index 595165b..0000000
Binary files a/_sprites/unready/spr_dw_tv_funometer_hopeText.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_mysterySign_half.png b/_sprites/unready/spr_dw_tv_mysterySign_half.png
deleted file mode 100644
index c186360..0000000
Binary files a/_sprites/unready/spr_dw_tv_mysterySign_half.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_0.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_0.png
deleted file mode 100644
index ca92c74..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_1.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_1.png
deleted file mode 100644
index 23dfa6f..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_10.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_10.png
deleted file mode 100644
index 6e436e1..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_11.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_11.png
deleted file mode 100644
index bd39443..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_2.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_2.png
deleted file mode 100644
index 21c14cd..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_3.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_3.png
deleted file mode 100644
index 5475376..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_4.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_4.png
deleted file mode 100644
index c9220ef..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_5.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_5.png
deleted file mode 100644
index 4b109da..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_6.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_6.png
deleted file mode 100644
index 30bab5f..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_7.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_7.png
deleted file mode 100644
index 53ca7e8..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_8.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_8.png
deleted file mode 100644
index 0d45133..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_9.png b/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_9.png
deleted file mode 100644
index 2df0263..0000000
Binary files a/_sprites/unready/spr_dw_tv_prizes/spr_dw_tv_prizes_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_dw_tv_time_sample.png b/_sprites/unready/spr_dw_tv_time_sample.png
deleted file mode 100644
index 535e0b2..0000000
Binary files a/_sprites/unready/spr_dw_tv_time_sample.png and /dev/null differ
diff --git a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_0.png b/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_0.png
deleted file mode 100644
index 9ddba9c..0000000
Binary files a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_1.png b/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_1.png
deleted file mode 100644
index 7038df0..0000000
Binary files a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_2.png b/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_2.png
deleted file mode 100644
index d6a5e83..0000000
Binary files a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_3.png b/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_3.png
deleted file mode 100644
index 70d6968..0000000
Binary files a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_4.png b/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_4.png
deleted file mode 100644
index f5fc8c8..0000000
Binary files a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_5.png b/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_5.png
deleted file mode 100644
index 70e0a1c..0000000
Binary files a/_sprites/unready/spr_elevator_floornum/spr_elevator_floornum_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_0.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_0.png
deleted file mode 100644
index 9cdff9e..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_1.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_1.png
deleted file mode 100644
index de138ea..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_10.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_10.png
deleted file mode 100644
index 57cdd53..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_11.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_11.png
deleted file mode 100644
index b9c649f..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_12.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_12.png
deleted file mode 100644
index 1c79cdd..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_13.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_13.png
deleted file mode 100644
index 73dddb5..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_14.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_14.png
deleted file mode 100644
index 18843a0..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_15.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_15.png
deleted file mode 100644
index ebbf917..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_16.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_16.png
deleted file mode 100644
index edf3d1e..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_17.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_17.png
deleted file mode 100644
index 8f7de8f..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_18.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_18.png
deleted file mode 100644
index dc64edd..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_19.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_19.png
deleted file mode 100644
index 1350fdf..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_2.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_2.png
deleted file mode 100644
index 8634892..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_20.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_20.png
deleted file mode 100644
index 1e53e3c..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_3.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_3.png
deleted file mode 100644
index 5adfc3c..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_4.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_4.png
deleted file mode 100644
index 6caa178..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_5.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_5.png
deleted file mode 100644
index d597d30..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_6.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_6.png
deleted file mode 100644
index 8b438da..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_7.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_7.png
deleted file mode 100644
index fbc6c46..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_8.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_8.png
deleted file mode 100644
index a54593c..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_9.png b/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_9.png
deleted file mode 100644
index d2aae40..0000000
Binary files a/_sprites/unready/spr_enemy_spawner/spr_enemy_spawner_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_floorTrigger/spr_floorTrigger_0.png b/_sprites/unready/spr_floorTrigger/spr_floorTrigger_0.png
deleted file mode 100755
index e95df8d..0000000
Binary files a/_sprites/unready/spr_floorTrigger/spr_floorTrigger_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_floorTrigger/spr_floorTrigger_1.png b/_sprites/unready/spr_floorTrigger/spr_floorTrigger_1.png
deleted file mode 100755
index 7c49e4a..0000000
Binary files a/_sprites/unready/spr_floorTrigger/spr_floorTrigger_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_floorTrigger/spr_floorTrigger_2.png b/_sprites/unready/spr_floorTrigger/spr_floorTrigger_2.png
deleted file mode 100755
index b24c104..0000000
Binary files a/_sprites/unready/spr_floorTrigger/spr_floorTrigger_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_0.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_0.png
deleted file mode 100644
index fa71add..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_1.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_1.png
deleted file mode 100644
index e5ff2c0..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_10.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_10.png
deleted file mode 100644
index 44c7b7b..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_11.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_11.png
deleted file mode 100644
index 8732db7..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_12.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_12.png
deleted file mode 100644
index 3a739c2..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_13.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_13.png
deleted file mode 100644
index 841ad01..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_14.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_14.png
deleted file mode 100644
index 3587a58..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_15.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_15.png
deleted file mode 100644
index bf7d91a..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_16.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_16.png
deleted file mode 100644
index b6131a4..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_17.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_17.png
deleted file mode 100644
index 62d8ad9..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_18.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_18.png
deleted file mode 100644
index ca797d3..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_19.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_19.png
deleted file mode 100644
index 5a75336..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_2.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_2.png
deleted file mode 100644
index 3b9fbec..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_20.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_20.png
deleted file mode 100644
index f222732..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_21.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_21.png
deleted file mode 100644
index 05d3822..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_22.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_22.png
deleted file mode 100644
index aaf348a..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_23.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_23.png
deleted file mode 100644
index ccd33b1..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_24.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_24.png
deleted file mode 100644
index a27def7..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_25.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_25.png
deleted file mode 100644
index eff5ecd..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_26.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_26.png
deleted file mode 100644
index 41c1f6b..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_27.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_27.png
deleted file mode 100644
index 881c8aa..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_28.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_28.png
deleted file mode 100644
index a5eac71..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_29.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_29.png
deleted file mode 100644
index de26be5..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_3.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_3.png
deleted file mode 100644
index 6556a5a..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_4.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_4.png
deleted file mode 100644
index 7e952c6..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_5.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_5.png
deleted file mode 100644
index 11a77ec..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_6.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_6.png
deleted file mode 100644
index 1786716..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_7.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_7.png
deleted file mode 100644
index 3d16a1f..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_8.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_8.png
deleted file mode 100644
index 15a7409..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_9.png b/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_9.png
deleted file mode 100644
index f8d46c3..0000000
Binary files a/_sprites/unready/spr_funnytext_dark_fountain/spr_funnytext_dark_fountain_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_free.png b/_sprites/unready/spr_funnytext_free.png
deleted file mode 100644
index 5b2b1e1..0000000
Binary files a/_sprites/unready/spr_funnytext_free.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_0.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_0.png
deleted file mode 100644
index 393a238..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_1.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_1.png
deleted file mode 100644
index 66de6e8..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_10.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_10.png
deleted file mode 100644
index 62329c7..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_11.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_11.png
deleted file mode 100644
index 6fc161f..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_12.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_12.png
deleted file mode 100644
index ea0b2c1..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_13.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_13.png
deleted file mode 100644
index 153a4e1..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_14.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_14.png
deleted file mode 100644
index 536540e..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_15.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_15.png
deleted file mode 100644
index a1aa511..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_16.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_16.png
deleted file mode 100644
index 9d23e36..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_17.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_17.png
deleted file mode 100644
index 797d460..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_18.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_18.png
deleted file mode 100644
index c3eb71b..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_19.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_19.png
deleted file mode 100644
index cabe5ab..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_2.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_2.png
deleted file mode 100644
index 3d2d67b..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_20.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_20.png
deleted file mode 100644
index 18e6aa6..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_21.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_21.png
deleted file mode 100644
index 847d5be..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_22.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_22.png
deleted file mode 100644
index bf94375..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_23.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_23.png
deleted file mode 100644
index 88b2ba0..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_24.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_24.png
deleted file mode 100644
index ca64be9..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_25.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_25.png
deleted file mode 100644
index e36f965..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_26.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_26.png
deleted file mode 100644
index e7349e4..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_27.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_27.png
deleted file mode 100644
index 6246f3c..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_28.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_28.png
deleted file mode 100644
index 0f90a35..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_29.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_29.png
deleted file mode 100644
index 25b804f..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_3.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_3.png
deleted file mode 100644
index d74cd11..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_4.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_4.png
deleted file mode 100644
index 59a543d..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_5.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_5.png
deleted file mode 100644
index 64802cb..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_6.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_6.png
deleted file mode 100644
index ef64ca0..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_7.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_7.png
deleted file mode 100644
index e57328f..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_8.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_8.png
deleted file mode 100644
index b9e327a..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_9.png b/_sprites/unready/spr_funnytext_game/spr_funnytext_game_9.png
deleted file mode 100644
index ae11b3c..0000000
Binary files a/_sprites/unready/spr_funnytext_game/spr_funnytext_game_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_0.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_0.png
deleted file mode 100644
index 43b2b89..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_1.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_1.png
deleted file mode 100644
index 91da79d..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_10.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_10.png
deleted file mode 100644
index 4ec0b3c..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_11.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_11.png
deleted file mode 100644
index 1ad15c6..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_12.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_12.png
deleted file mode 100644
index 5342f72..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_13.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_13.png
deleted file mode 100644
index 8498e61..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_14.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_14.png
deleted file mode 100644
index c80d7fb..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_15.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_15.png
deleted file mode 100644
index 103a47c..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_16.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_16.png
deleted file mode 100644
index cfae093..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_17.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_17.png
deleted file mode 100644
index 1b98788..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_18.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_18.png
deleted file mode 100644
index 1e848c1..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_19.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_19.png
deleted file mode 100644
index ae16d80..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_2.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_2.png
deleted file mode 100644
index a730720..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_20.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_20.png
deleted file mode 100644
index d1e6390..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_21.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_21.png
deleted file mode 100644
index facfd70..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_22.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_22.png
deleted file mode 100644
index a93543b..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_23.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_23.png
deleted file mode 100644
index d528e09..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_24.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_24.png
deleted file mode 100644
index 68f31d4..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_25.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_25.png
deleted file mode 100644
index fd0f285..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_26.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_26.png
deleted file mode 100644
index e183d66..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_27.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_27.png
deleted file mode 100644
index e5d43df..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_28.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_28.png
deleted file mode 100644
index 69e86d4..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_29.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_29.png
deleted file mode 100644
index 5a8ed2e..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_3.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_3.png
deleted file mode 100644
index 56711d1..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_4.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_4.png
deleted file mode 100644
index 39f3838..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_5.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_5.png
deleted file mode 100644
index 9aacbe4..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_6.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_6.png
deleted file mode 100644
index 6a86fe8..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_7.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_7.png
deleted file mode 100644
index 554a9f5..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_8.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_8.png
deleted file mode 100644
index 708ab08..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_9.png b/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_9.png
deleted file mode 100644
index f904c8e..0000000
Binary files a/_sprites/unready/spr_funnytext_game_over/spr_funnytext_game_over_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_0.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_0.png
deleted file mode 100644
index 76eb7ac..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_1.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_1.png
deleted file mode 100644
index d08d801..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_10.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_10.png
deleted file mode 100644
index a5b7af4..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_11.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_11.png
deleted file mode 100644
index 54d1dde..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_12.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_12.png
deleted file mode 100644
index a688b4a..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_13.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_13.png
deleted file mode 100644
index a6b2083..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_14.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_14.png
deleted file mode 100644
index 1f3ea09..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_15.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_15.png
deleted file mode 100644
index 3ca4d06..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_16.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_16.png
deleted file mode 100644
index bd3abd1..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_17.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_17.png
deleted file mode 100644
index 484eb98..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_18.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_18.png
deleted file mode 100644
index d9283a2..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_19.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_19.png
deleted file mode 100644
index 2420706..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_2.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_2.png
deleted file mode 100644
index 25b8c30..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_20.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_20.png
deleted file mode 100644
index b9da0e6..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_21.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_21.png
deleted file mode 100644
index 71dc0b3..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_22.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_22.png
deleted file mode 100644
index 48f0d28..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_23.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_23.png
deleted file mode 100644
index 9e073e6..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_24.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_24.png
deleted file mode 100644
index ab0ed0b..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_25.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_25.png
deleted file mode 100644
index 3f7b8e7..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_26.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_26.png
deleted file mode 100644
index 831f49c..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_27.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_27.png
deleted file mode 100644
index 57587c4..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_28.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_28.png
deleted file mode 100644
index 02cfa26..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_29.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_29.png
deleted file mode 100644
index e2dfe23..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_3.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_3.png
deleted file mode 100644
index eb7ea39..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_4.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_4.png
deleted file mode 100644
index 8be6506..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_5.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_5.png
deleted file mode 100644
index 70aa370..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_6.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_6.png
deleted file mode 100644
index 833e2a2..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_7.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_7.png
deleted file mode 100644
index 03b6913..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_8.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_8.png
deleted file mode 100644
index 242e43b..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_9.png b/_sprites/unready/spr_funnytext_over/spr_funnytext_over_9.png
deleted file mode 100644
index 40650f7..0000000
Binary files a/_sprites/unready/spr_funnytext_over/spr_funnytext_over_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_0.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_0.png
deleted file mode 100755
index c9f68cd..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_1.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_1.png
deleted file mode 100755
index 94c45af..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_2.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_2.png
deleted file mode 100755
index c32c856..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_3.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_3.png
deleted file mode 100755
index 03ae451..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_4.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_4.png
deleted file mode 100755
index 0f20bce..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_5.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_5.png
deleted file mode 100755
index 35cfbe4..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_6.png b/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_6.png
deleted file mode 100755
index ce05514..0000000
Binary files a/_sprites/unready/spr_funnytext_resumes/spr_funnytext_resumes_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_0.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_0.png
deleted file mode 100644
index 2ffcecd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_1.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_1.png
deleted file mode 100644
index 2ffcecd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_10.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_10.png
deleted file mode 100644
index d2b3fc6..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_11.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_11.png
deleted file mode 100644
index d184cd6..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_12.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_12.png
deleted file mode 100644
index 562eefd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_13.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_13.png
deleted file mode 100644
index b8c8bf4..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_14.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_14.png
deleted file mode 100644
index 9c83095..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_15.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_15.png
deleted file mode 100644
index 47ed9f6..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_16.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_16.png
deleted file mode 100644
index c59ab01..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_17.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_17.png
deleted file mode 100644
index 7fea2cb..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_18.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_18.png
deleted file mode 100644
index 89ad6d5..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_19.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_19.png
deleted file mode 100644
index 91bcc63..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_2.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_2.png
deleted file mode 100644
index 2ffcecd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_20.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_20.png
deleted file mode 100644
index 7f50993..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_21.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_21.png
deleted file mode 100644
index 35ea872..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_22.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_22.png
deleted file mode 100644
index 54d72dc..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_23.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_23.png
deleted file mode 100644
index 118c50f..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_24.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_24.png
deleted file mode 100644
index 11fff80..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_25.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_25.png
deleted file mode 100644
index ac62b88..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_26.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_26.png
deleted file mode 100644
index ac62b88..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_27.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_27.png
deleted file mode 100644
index ac62b88..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_28.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_28.png
deleted file mode 100644
index ac62b88..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_29.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_29.png
deleted file mode 100644
index ac62b88..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_3.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_3.png
deleted file mode 100644
index 2ffcecd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_4.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_4.png
deleted file mode 100644
index 2ffcecd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_5.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_5.png
deleted file mode 100644
index 2ffcecd..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_6.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_6.png
deleted file mode 100644
index 73b214d..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_7.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_7.png
deleted file mode 100644
index b7943f3..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_8.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_8.png
deleted file mode 100644
index 031e623..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_9.png b/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_9.png
deleted file mode 100644
index 7405532..0000000
Binary files a/_sprites/unready/spr_funnytext_toriel/spr_funnytext_toriel_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_pushingbuddies_0.png b/_sprites/unready/spr_gameshow_pushingbuddies_0.png
deleted file mode 100644
index 271cdb2..0000000
Binary files a/_sprites/unready/spr_gameshow_pushingbuddies_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_screen_round_1_end.png b/_sprites/unready/spr_gameshow_screen_round_1_end.png
deleted file mode 100644
index 5ff9da8..0000000
Binary files a/_sprites/unready/spr_gameshow_screen_round_1_end.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_screen_theend.png b/_sprites/unready/spr_gameshow_screen_theend.png
deleted file mode 100644
index e2f0190..0000000
Binary files a/_sprites/unready/spr_gameshow_screen_theend.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_screen_theend_bonus.png b/_sprites/unready/spr_gameshow_screen_theend_bonus.png
deleted file mode 100644
index 5492ee8..0000000
Binary files a/_sprites/unready/spr_gameshow_screen_theend_bonus.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_screen_theend_bonus_bonus.png b/_sprites/unready/spr_gameshow_screen_theend_bonus_bonus.png
deleted file mode 100644
index 253d07e..0000000
Binary files a/_sprites/unready/spr_gameshow_screen_theend_bonus_bonus.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_screen_theend_bonus_start.png b/_sprites/unready/spr_gameshow_screen_theend_bonus_start.png
deleted file mode 100644
index 4d67997..0000000
Binary files a/_sprites/unready/spr_gameshow_screen_theend_bonus_start.png and /dev/null differ
diff --git a/_sprites/unready/spr_gameshow_screen_theend_round_1.png b/_sprites/unready/spr_gameshow_screen_theend_round_1.png
deleted file mode 100644
index a397eee..0000000
Binary files a/_sprites/unready/spr_gameshow_screen_theend_round_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_0.png b/_sprites/unready/spr_headkris/spr_headkris_0.png
deleted file mode 100644
index a5f35da..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_1.png b/_sprites/unready/spr_headkris/spr_headkris_1.png
deleted file mode 100644
index ae4a4d7..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_10.png b/_sprites/unready/spr_headkris/spr_headkris_10.png
deleted file mode 100644
index dcd30db..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_2.png b/_sprites/unready/spr_headkris/spr_headkris_2.png
deleted file mode 100644
index 971f081..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_3.png b/_sprites/unready/spr_headkris/spr_headkris_3.png
deleted file mode 100644
index 7b21470..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_4.png b/_sprites/unready/spr_headkris/spr_headkris_4.png
deleted file mode 100644
index 7e77d87..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_5.png b/_sprites/unready/spr_headkris/spr_headkris_5.png
deleted file mode 100644
index 6d5b535..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_6.png b/_sprites/unready/spr_headkris/spr_headkris_6.png
deleted file mode 100644
index d464cb4..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_7.png b/_sprites/unready/spr_headkris/spr_headkris_7.png
deleted file mode 100644
index 3699912..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_8.png b/_sprites/unready/spr_headkris/spr_headkris_8.png
deleted file mode 100644
index 89678f6..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_headkris/spr_headkris_9.png b/_sprites/unready/spr_headkris/spr_headkris_9.png
deleted file mode 100644
index 82ad272..0000000
Binary files a/_sprites/unready/spr_headkris/spr_headkris_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_0.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_0.png
deleted file mode 100644
index fa2d2a1..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_1.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_1.png
deleted file mode 100644
index 3c9980d..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_10.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_10.png
deleted file mode 100644
index fb74d8c..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_2.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_2.png
deleted file mode 100644
index 5894c6f..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_3.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_3.png
deleted file mode 100644
index 52cc1f9..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_4.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_4.png
deleted file mode 100644
index ffca171..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_5.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_5.png
deleted file mode 100644
index cc6da96..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_6.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_6.png
deleted file mode 100644
index 646f9cc..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_7.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_7.png
deleted file mode 100644
index e45649d..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_8.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_8.png
deleted file mode 100644
index ebcabf1..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_headnoelle/spr_headnoelle_9.png b/_sprites/unready/spr_headnoelle/spr_headnoelle_9.png
deleted file mode 100644
index a633fd3..0000000
Binary files a/_sprites/unready/spr_headnoelle/spr_headnoelle_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_0.png b/_sprites/unready/spr_headralsei/spr_headralsei_0.png
deleted file mode 100644
index 9f11256..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_1.png b/_sprites/unready/spr_headralsei/spr_headralsei_1.png
deleted file mode 100644
index b065a23..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_10.png b/_sprites/unready/spr_headralsei/spr_headralsei_10.png
deleted file mode 100644
index 0d79793..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_2.png b/_sprites/unready/spr_headralsei/spr_headralsei_2.png
deleted file mode 100644
index 75a5c71..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_3.png b/_sprites/unready/spr_headralsei/spr_headralsei_3.png
deleted file mode 100644
index 9e19ec5..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_4.png b/_sprites/unready/spr_headralsei/spr_headralsei_4.png
deleted file mode 100644
index 8fc03cc..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_5.png b/_sprites/unready/spr_headralsei/spr_headralsei_5.png
deleted file mode 100644
index f980a91..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_6.png b/_sprites/unready/spr_headralsei/spr_headralsei_6.png
deleted file mode 100644
index 7c8e177..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_7.png b/_sprites/unready/spr_headralsei/spr_headralsei_7.png
deleted file mode 100644
index d85f4b3..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_8.png b/_sprites/unready/spr_headralsei/spr_headralsei_8.png
deleted file mode 100644
index a84cb03..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_headralsei/spr_headralsei_9.png b/_sprites/unready/spr_headralsei/spr_headralsei_9.png
deleted file mode 100644
index b0e5a1e..0000000
Binary files a/_sprites/unready/spr_headralsei/spr_headralsei_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_0.png b/_sprites/unready/spr_headsusie/spr_headsusie_0.png
deleted file mode 100644
index 986b46f..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_1.png b/_sprites/unready/spr_headsusie/spr_headsusie_1.png
deleted file mode 100644
index 7a48b37..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_10.png b/_sprites/unready/spr_headsusie/spr_headsusie_10.png
deleted file mode 100644
index 443caf7..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_2.png b/_sprites/unready/spr_headsusie/spr_headsusie_2.png
deleted file mode 100644
index cc435e9..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_3.png b/_sprites/unready/spr_headsusie/spr_headsusie_3.png
deleted file mode 100644
index 1b65dd0..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_4.png b/_sprites/unready/spr_headsusie/spr_headsusie_4.png
deleted file mode 100644
index 6e1b2fa..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_5.png b/_sprites/unready/spr_headsusie/spr_headsusie_5.png
deleted file mode 100644
index 6a3cc8e..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_6.png b/_sprites/unready/spr_headsusie/spr_headsusie_6.png
deleted file mode 100644
index bbe49ff..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_7.png b/_sprites/unready/spr_headsusie/spr_headsusie_7.png
deleted file mode 100644
index 263ea49..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_8.png b/_sprites/unready/spr_headsusie/spr_headsusie_8.png
deleted file mode 100644
index 31127b6..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_headsusie/spr_headsusie_9.png b/_sprites/unready/spr_headsusie/spr_headsusie_9.png
deleted file mode 100644
index 2537792..0000000
Binary files a/_sprites/unready/spr_headsusie/spr_headsusie_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_door_new/spr_lancer_door_new_0.png b/_sprites/unready/spr_lancer_door_new/spr_lancer_door_new_0.png
deleted file mode 100644
index 215b8d3..0000000
Binary files a/_sprites/unready/spr_lancer_door_new/spr_lancer_door_new_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_door_new/spr_lancer_door_new_1.png b/_sprites/unready/spr_lancer_door_new/spr_lancer_door_new_1.png
deleted file mode 100644
index 638284a..0000000
Binary files a/_sprites/unready/spr_lancer_door_new/spr_lancer_door_new_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_0.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_0.png
deleted file mode 100644
index 308a2a0..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_1.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_1.png
deleted file mode 100644
index 308a2a0..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_10.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_10.png
deleted file mode 100644
index 9cea801..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_11.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_11.png
deleted file mode 100644
index 9cea801..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_12.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_12.png
deleted file mode 100644
index 1d268d8..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_13.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_13.png
deleted file mode 100644
index a9230ad..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_14.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_14.png
deleted file mode 100644
index a0f3270..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_15.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_15.png
deleted file mode 100644
index 6d6e21d..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_16.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_16.png
deleted file mode 100644
index 9d49725..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_17.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_17.png
deleted file mode 100644
index 6d6e21d..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_18.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_18.png
deleted file mode 100644
index 9d49725..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_19.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_19.png
deleted file mode 100644
index 6d6e21d..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_2.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_2.png
deleted file mode 100644
index 3eb97bd..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_20.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_20.png
deleted file mode 100644
index 9d49725..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_3.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_3.png
deleted file mode 100644
index 3eb97bd..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_4.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_4.png
deleted file mode 100644
index 1dd5028..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_5.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_5.png
deleted file mode 100644
index 317d6c6..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_6.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_6.png
deleted file mode 100644
index 118b111..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_7.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_7.png
deleted file mode 100644
index 96bbda9..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_8.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_8.png
deleted file mode 100644
index 82d83a8..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_9.png b/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_9.png
deleted file mode 100644
index 89bda96..0000000
Binary files a/_sprites/unready/spr_lancer_susie_highfive/spr_lancer_susie_highfive_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_marquee_debug.png b/_sprites/unready/spr_marquee_debug.png
deleted file mode 100644
index b3277b7..0000000
Binary files a/_sprites/unready/spr_marquee_debug.png and /dev/null differ
diff --git a/_sprites/unready/spr_mike_door/spr_mike_door_0.png b/_sprites/unready/spr_mike_door/spr_mike_door_0.png
deleted file mode 100644
index 2553f6e..0000000
Binary files a/_sprites/unready/spr_mike_door/spr_mike_door_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_mike_door/spr_mike_door_1.png b/_sprites/unready/spr_mike_door/spr_mike_door_1.png
deleted file mode 100644
index 37740f5..0000000
Binary files a/_sprites/unready/spr_mike_door/spr_mike_door_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_mike_door/spr_mike_door_2.png b/_sprites/unready/spr_mike_door/spr_mike_door_2.png
deleted file mode 100644
index 6d392ff..0000000
Binary files a/_sprites/unready/spr_mike_door/spr_mike_door_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_mike_door/spr_mike_door_3.png b/_sprites/unready/spr_mike_door/spr_mike_door_3.png
deleted file mode 100644
index 0e6dc42..0000000
Binary files a/_sprites/unready/spr_mike_door/spr_mike_door_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_mike_door/spr_mike_door_4.png b/_sprites/unready/spr_mike_door/spr_mike_door_4.png
deleted file mode 100644
index 62fb800..0000000
Binary files a/_sprites/unready/spr_mike_door/spr_mike_door_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy.png b/_sprites/unready/spr_npc_plugboy.png
deleted file mode 100755
index 76245ff..0000000
Binary files a/_sprites/unready/spr_npc_plugboy.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy/spr_npc_plugboy_0.png b/_sprites/unready/spr_npc_plugboy/spr_npc_plugboy_0.png
new file mode 100644
index 0000000..94a7b10
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy/spr_npc_plugboy_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy/spr_npc_plugboy_1.png b/_sprites/unready/spr_npc_plugboy/spr_npc_plugboy_1.png
new file mode 100644
index 0000000..af072e2
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy/spr_npc_plugboy_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_bandana.png b/_sprites/unready/spr_npc_plugboy_bandana.png
deleted file mode 100755
index 4895757..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_bandana.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png b/_sprites/unready/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png
new file mode 100644
index 0000000..4ddfda9
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png b/_sprites/unready/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png
new file mode 100644
index 0000000..f8bd70e
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_bandana/spr_npc_plugboy_bandana_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_girl.png b/_sprites/unready/spr_npc_plugboy_girl.png
deleted file mode 100755
index 0e914c1..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_girl.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png b/_sprites/unready/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png
new file mode 100644
index 0000000..e86616b
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_girl/spr_npc_plugboy_girl_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png b/_sprites/unready/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png
new file mode 100644
index 0000000..0756a05
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_girl/spr_npc_plugboy_girl_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_hat.png b/_sprites/unready/spr_npc_plugboy_hat.png
deleted file mode 100755
index 7543675..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_hat.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png b/_sprites/unready/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png
new file mode 100644
index 0000000..73ca1e1
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_hat/spr_npc_plugboy_hat_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png b/_sprites/unready/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png
new file mode 100644
index 0000000..ecfb5d3
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_hat/spr_npc_plugboy_hat_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_shock.png b/_sprites/unready/spr_npc_plugboy_shock.png
deleted file mode 100755
index 7d54a1f..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_shock.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png b/_sprites/unready/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png
new file mode 100644
index 0000000..4ce3f2b
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_shock/spr_npc_plugboy_shock_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png b/_sprites/unready/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png
new file mode 100644
index 0000000..7782224
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_shock/spr_npc_plugboy_shock_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_static.png b/_sprites/unready/spr_npc_plugboy_static.png
deleted file mode 100755
index 472dabf..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_static.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png b/_sprites/unready/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png
new file mode 100644
index 0000000..2b8f1d3
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_static/spr_npc_plugboy_static_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png b/_sprites/unready/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png
new file mode 100644
index 0000000..c293304
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_static/spr_npc_plugboy_static_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_static_outline.png b/_sprites/unready/spr_npc_plugboy_static_outline.png
deleted file mode 100755
index fc55213..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_static_outline.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png b/_sprites/unready/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png
new file mode 100644
index 0000000..0dfc860
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png b/_sprites/unready/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png
new file mode 100644
index 0000000..14340bf
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_static_outline/spr_npc_plugboy_static_outline_1.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_wig.png b/_sprites/unready/spr_npc_plugboy_wig.png
deleted file mode 100755
index c8b9f66..0000000
Binary files a/_sprites/unready/spr_npc_plugboy_wig.png and /dev/null differ
diff --git a/_sprites/unready/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png b/_sprites/unready/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png
new file mode 100644
index 0000000..15afc09
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_wig/spr_npc_plugboy_wig_0.png differ
diff --git a/_sprites/unready/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png b/_sprites/unready/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png
new file mode 100644
index 0000000..5c2c132
Binary files /dev/null and b/_sprites/unready/spr_npc_plugboy_wig/spr_npc_plugboy_wig_1.png differ
diff --git a/_sprites/unready/spr_npc_ramb_body_full_stone.png b/_sprites/unready/spr_npc_ramb_body_full_stone.png
new file mode 100644
index 0000000..e6d1010
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_body_full_stone.png differ
diff --git a/_sprites/unready/spr_npc_ramb_clean/spr_npc_ramb_clean_0.png b/_sprites/unready/spr_npc_ramb_clean/spr_npc_ramb_clean_0.png
new file mode 100644
index 0000000..32675b6
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_clean/spr_npc_ramb_clean_0.png differ
diff --git a/_sprites/unready/spr_npc_ramb_clean/spr_npc_ramb_clean_1.png b/_sprites/unready/spr_npc_ramb_clean/spr_npc_ramb_clean_1.png
new file mode 100644
index 0000000..df3ad58
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_clean/spr_npc_ramb_clean_1.png differ
diff --git a/_sprites/unready/spr_npc_ramb_half_stone.png b/_sprites/unready/spr_npc_ramb_half_stone.png
new file mode 100644
index 0000000..f685d76
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_half_stone.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_annoyed.png b/_sprites/unready/spr_npc_ramb_head_annoyed.png
new file mode 100644
index 0000000..853d4d3
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_annoyed.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_happy.png b/_sprites/unready/spr_npc_ramb_head_happy.png
new file mode 100644
index 0000000..2eb36f1
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_happy.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_0.png b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_0.png
new file mode 100644
index 0000000..8b269df
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_0.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_1.png b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_1.png
new file mode 100644
index 0000000..44c2038
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_1.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_2.png b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_2.png
new file mode 100644
index 0000000..cb33633
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_2.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_3.png b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_3.png
new file mode 100644
index 0000000..81462b8
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_happy_nostalgic/spr_npc_ramb_head_happy_nostalgic_3.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_nostalgic.png b/_sprites/unready/spr_npc_ramb_head_nostalgic.png
new file mode 100644
index 0000000..20e3c35
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_nostalgic.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_surprised.png b/_sprites/unready/spr_npc_ramb_head_surprised.png
new file mode 100644
index 0000000..06c8ae2
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_surprised.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_0.png b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_0.png
new file mode 100644
index 0000000..5cdca0c
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_0.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_1.png b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_1.png
new file mode 100644
index 0000000..19245c5
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_1.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_2.png b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_2.png
new file mode 100644
index 0000000..377d213
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_2.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_3.png b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_3.png
new file mode 100644
index 0000000..61063e5
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn/spr_npc_ramb_head_turn_3.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn_look.png b/_sprites/unready/spr_npc_ramb_head_turn_look.png
new file mode 100644
index 0000000..817630e
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn_look.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn_look_side.png b/_sprites/unready/spr_npc_ramb_head_turn_look_side.png
new file mode 100644
index 0000000..d143ca0
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn_look_side.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turn_subtle.png b/_sprites/unready/spr_npc_ramb_head_turn_subtle.png
new file mode 100644
index 0000000..99a5c8b
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turn_subtle.png differ
diff --git a/_sprites/unready/spr_npc_ramb_head_turned.png b/_sprites/unready/spr_npc_ramb_head_turned.png
new file mode 100644
index 0000000..9183b52
Binary files /dev/null and b/_sprites/unready/spr_npc_ramb_head_turned.png differ
diff --git a/_sprites/unready/spr_pipissign/spr_pipissign_0.png b/_sprites/unready/spr_pipissign/spr_pipissign_0.png
deleted file mode 100755
index 491dfc5..0000000
Binary files a/_sprites/unready/spr_pipissign/spr_pipissign_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_pipissign/spr_pipissign_1.png b/_sprites/unready/spr_pipissign/spr_pipissign_1.png
deleted file mode 100755
index 2e8e14f..0000000
Binary files a/_sprites/unready/spr_pipissign/spr_pipissign_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_plugboy_cower.png b/_sprites/unready/spr_plugboy_cower.png
deleted file mode 100755
index 05cfc7d..0000000
Binary files a/_sprites/unready/spr_plugboy_cower.png and /dev/null differ
diff --git a/_sprites/unready/spr_plugboy_cower/spr_plugboy_cower_0.png b/_sprites/unready/spr_plugboy_cower/spr_plugboy_cower_0.png
new file mode 100644
index 0000000..1a1c567
Binary files /dev/null and b/_sprites/unready/spr_plugboy_cower/spr_plugboy_cower_0.png differ
diff --git a/_sprites/unready/spr_plugboy_cower/spr_plugboy_cower_1.png b/_sprites/unready/spr_plugboy_cower/spr_plugboy_cower_1.png
new file mode 100644
index 0000000..c57d983
Binary files /dev/null and b/_sprites/unready/spr_plugboy_cower/spr_plugboy_cower_1.png differ
diff --git a/_sprites/unready/spr_plugboy_shock.png b/_sprites/unready/spr_plugboy_shock.png
deleted file mode 100755
index cfb68ca..0000000
Binary files a/_sprites/unready/spr_plugboy_shock.png and /dev/null differ
diff --git a/_sprites/unready/spr_plugboy_shock/spr_plugboy_shock_0.png b/_sprites/unready/spr_plugboy_shock/spr_plugboy_shock_0.png
new file mode 100644
index 0000000..b9e1846
Binary files /dev/null and b/_sprites/unready/spr_plugboy_shock/spr_plugboy_shock_0.png differ
diff --git a/_sprites/unready/spr_plugboy_shock/spr_plugboy_shock_1.png b/_sprites/unready/spr_plugboy_shock/spr_plugboy_shock_1.png
new file mode 100644
index 0000000..b19257a
Binary files /dev/null and b/_sprites/unready/spr_plugboy_shock/spr_plugboy_shock_1.png differ
diff --git a/_sprites/unready/spr_plugboy_spare.png b/_sprites/unready/spr_plugboy_spare.png
old mode 100755
new mode 100644
index ae566f4..34b8086
Binary files a/_sprites/unready/spr_plugboy_spare.png and b/_sprites/unready/spr_plugboy_spare.png differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_0.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_0.png
deleted file mode 100644
index de1a051..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_1.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_1.png
deleted file mode 100644
index 61889ad..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_10.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_10.png
deleted file mode 100644
index 1677f17..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_11.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_11.png
deleted file mode 100644
index 5c6e798..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_12.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_12.png
deleted file mode 100644
index 98a13e5..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_13.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_13.png
deleted file mode 100644
index 67f5721..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_14.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_14.png
deleted file mode 100644
index 1e149c8..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_15.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_15.png
deleted file mode 100644
index b4ef2c9..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_16.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_16.png
deleted file mode 100644
index 7dae5a1..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_17.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_17.png
deleted file mode 100644
index 5ba9316..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_18.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_18.png
deleted file mode 100644
index 7e670f2..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_19.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_19.png
deleted file mode 100644
index f3a3d50..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_2.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_2.png
deleted file mode 100644
index c4edab8..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_3.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_3.png
deleted file mode 100644
index fb80175..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_4.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_4.png
deleted file mode 100644
index 745a331..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_5.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_5.png
deleted file mode 100644
index 2df8d25..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_6.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_6.png
deleted file mode 100644
index 4fc3b5a..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_7.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_7.png
deleted file mode 100644
index 657967e..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_8.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_8.png
deleted file mode 100644
index 34cf397..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_9.png b/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_9.png
deleted file mode 100644
index 234dcd5..0000000
Binary files a/_sprites/unready/spr_quiz_answer_cursor/spr_quiz_answer_cursor_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_images/spr_quiz_images_0.png b/_sprites/unready/spr_quiz_images/spr_quiz_images_0.png
deleted file mode 100644
index 1dd4336..0000000
Binary files a/_sprites/unready/spr_quiz_images/spr_quiz_images_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_images/spr_quiz_images_1.png b/_sprites/unready/spr_quiz_images/spr_quiz_images_1.png
deleted file mode 100644
index b284ff2..0000000
Binary files a/_sprites/unready/spr_quiz_images/spr_quiz_images_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_quiz_thisbutton.png b/_sprites/unready/spr_quiz_thisbutton.png
deleted file mode 100644
index 74ae9e9..0000000
Binary files a/_sprites/unready/spr_quiz_thisbutton.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_0.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_0.png
deleted file mode 100644
index 18808ae..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_1.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_1.png
deleted file mode 100644
index 07d188c..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_2.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_2.png
deleted file mode 100644
index fe412e4..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_3.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_3.png
deleted file mode 100644
index 5f24a35..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_4.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_4.png
deleted file mode 100644
index 10c666a..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_5.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_5.png
deleted file mode 100644
index 10c666a..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_6.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_6.png
deleted file mode 100644
index 5f24a35..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_7.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_7.png
deleted file mode 100644
index fe412e4..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_8.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_8.png
deleted file mode 100644
index 07d188c..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_9.png b/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_9.png
deleted file mode 100644
index 18808ae..0000000
Binary files a/_sprites/unready/spr_recovery_platform_glow/spr_recovery_platform_glow_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png b/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png
deleted file mode 100755
index f845a54..0000000
Binary files a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png b/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png
deleted file mode 100755
index cd30d8e..0000000
Binary files a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png b/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png
deleted file mode 100755
index 63b457f..0000000
Binary files a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png b/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png
deleted file mode 100755
index af0cd0e..0000000
Binary files a/_sprites/unready/spr_rhythmgame_bg_spotlights/spr_rhythmgame_bg_spotlights_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_screen_the_end.png b/_sprites/unready/spr_screen_the_end.png
deleted file mode 100644
index d8a545a..0000000
Binary files a/_sprites/unready/spr_screen_the_end.png and /dev/null differ
diff --git a/_sprites/unready/spr_shootout_train/spr_shootout_train_0.png b/_sprites/unready/spr_shootout_train/spr_shootout_train_0.png
deleted file mode 100644
index 256430c..0000000
Binary files a/_sprites/unready/spr_shootout_train/spr_shootout_train_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_shootout_train/spr_shootout_train_1.png b/_sprites/unready/spr_shootout_train/spr_shootout_train_1.png
deleted file mode 100644
index aecc9a4..0000000
Binary files a/_sprites/unready/spr_shootout_train/spr_shootout_train_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_shootout_train/spr_shootout_train_2.png b/_sprites/unready/spr_shootout_train/spr_shootout_train_2.png
deleted file mode 100644
index a8df17e..0000000
Binary files a/_sprites/unready/spr_shootout_train/spr_shootout_train_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_shootout_train/spr_shootout_train_3.png b/_sprites/unready/spr_shootout_train/spr_shootout_train_3.png
deleted file mode 100644
index 96a2f6d..0000000
Binary files a/_sprites/unready/spr_shootout_train/spr_shootout_train_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_slowwalk.png b/_sprites/unready/spr_slowwalk.png
deleted file mode 100644
index e124294..0000000
Binary files a/_sprites/unready/spr_slowwalk.png and /dev/null differ
diff --git a/_sprites/unready/spr_susie_wan_sign_0.png b/_sprites/unready/spr_susie_wan_sign_0.png
deleted file mode 100644
index 8c836b0..0000000
Binary files a/_sprites/unready/spr_susie_wan_sign_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_0.png b/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_0.png
deleted file mode 100644
index de33069..0000000
Binary files a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_1.png b/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_1.png
deleted file mode 100644
index d21c6d1..0000000
Binary files a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_2.png b/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_2.png
deleted file mode 100644
index 556053a..0000000
Binary files a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_3.png b/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_3.png
deleted file mode 100644
index b5b69bf..0000000
Binary files a/_sprites/unready/spr_tenna_attack_clapvfx/spr_tenna_attack_clapvfx_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_0.png b/_sprites/unready/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_0.png
deleted file mode 100644
index 3ab88c0..0000000
Binary files a/_sprites/unready/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_1.png b/_sprites/unready/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_1.png
deleted file mode 100644
index e936e90..0000000
Binary files a/_sprites/unready/spr_tenna_attack_mouth_open/spr_tenna_attack_mouth_open_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_0.png b/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_0.png
deleted file mode 100755
index c6a9e01..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_1.png b/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_1.png
deleted file mode 100755
index cc34c20..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_2.png b/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_2.png
deleted file mode 100755
index c45f4c2..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_3.png b/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_3.png
deleted file mode 100755
index aa57b2a..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation/spr_tenna_blossom_animation_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_0.png b/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_0.png
deleted file mode 100755
index d65efdf..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_1.png b/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_1.png
deleted file mode 100755
index b746df1..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_2.png b/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_2.png
deleted file mode 100755
index 2fc69a0..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_3.png b/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_3.png
deleted file mode 100755
index e95ec13..0000000
Binary files a/_sprites/unready/spr_tenna_blossom_animation_singleframes/spr_tenna_blossom_animation_singleframes_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png b/_sprites/unready/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png
deleted file mode 100644
index 1262260..0000000
Binary files a/_sprites/unready/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png b/_sprites/unready/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png
deleted file mode 100644
index 0aa3f0f..0000000
Binary files a/_sprites/unready/spr_tenna_grasp_chef2/spr_tenna_grasp_chef2_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_0.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_0.png
deleted file mode 100644
index b7c81b5..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_1.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_1.png
deleted file mode 100644
index 08a64ae..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_10.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_10.png
deleted file mode 100644
index c531661..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_11.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_11.png
deleted file mode 100644
index 3a8101a..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_12.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_12.png
deleted file mode 100644
index 26e07f6..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_13.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_13.png
deleted file mode 100644
index 24a96fb..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_14.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_14.png
deleted file mode 100644
index c8a9acf..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_2.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_2.png
deleted file mode 100644
index ce70647..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_3.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_3.png
deleted file mode 100644
index db236c6..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_4.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_4.png
deleted file mode 100644
index bfc36e2..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_5.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_5.png
deleted file mode 100644
index be84bcf..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_6.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_6.png
deleted file mode 100644
index 7a3a8de..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_7.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_7.png
deleted file mode 100644
index 7d7f85d..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_8.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_8.png
deleted file mode 100644
index 33acaea..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_9.png b/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_9.png
deleted file mode 100644
index 46b7fee..0000000
Binary files a/_sprites/unready/spr_tenna_t_pose_uncleaned/spr_tenna_t_pose_uncleaned_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_0.png b/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_0.png
deleted file mode 100644
index 228a073..0000000
Binary files a/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_1.png b/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_1.png
deleted file mode 100644
index 3bc3d30..0000000
Binary files a/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_2.png b/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_2.png
deleted file mode 100644
index c3cc598..0000000
Binary files a/_sprites/unready/spr_tv_counter_letters/spr_tv_counter_letters_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_0.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_0.png
deleted file mode 100644
index 767e3ce..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_0.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_1.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_1.png
deleted file mode 100644
index 3671eb8..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_1.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_10.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_10.png
deleted file mode 100644
index 1dcfd95..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_10.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_11.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_11.png
deleted file mode 100644
index f8357d7..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_11.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_12.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_12.png
deleted file mode 100644
index 598aed7..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_12.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_13.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_13.png
deleted file mode 100644
index 90ce2d1..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_13.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_14.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_14.png
deleted file mode 100644
index 7dea59b..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_14.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_15.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_15.png
deleted file mode 100644
index 4701070..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_15.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_16.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_16.png
deleted file mode 100644
index 99c36e1..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_16.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_17.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_17.png
deleted file mode 100644
index 0764d8e..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_17.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_18.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_18.png
deleted file mode 100644
index 051879c..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_18.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_19.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_19.png
deleted file mode 100644
index ef3bd08..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_19.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_2.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_2.png
deleted file mode 100644
index 1546a15..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_2.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_20.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_20.png
deleted file mode 100644
index 615dd77..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_20.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_21.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_21.png
deleted file mode 100644
index bc8e477..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_21.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_22.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_22.png
deleted file mode 100644
index 97a6873..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_22.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_23.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_23.png
deleted file mode 100644
index 71227bd..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_23.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_24.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_24.png
deleted file mode 100644
index 6b9c27a..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_24.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_25.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_25.png
deleted file mode 100644
index 10a32ac..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_25.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_26.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_26.png
deleted file mode 100644
index 26d8366..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_26.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_27.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_27.png
deleted file mode 100644
index 0ab8fb2..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_27.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_28.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_28.png
deleted file mode 100644
index 1da81cd..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_28.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_29.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_29.png
deleted file mode 100644
index 7da4067..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_29.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_3.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_3.png
deleted file mode 100644
index 4b61610..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_3.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_30.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_30.png
deleted file mode 100644
index 110b094..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_30.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_31.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_31.png
deleted file mode 100644
index 767e3ce..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_31.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_32.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_32.png
deleted file mode 100644
index 3671eb8..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_32.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_33.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_33.png
deleted file mode 100644
index 1546a15..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_33.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_34.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_34.png
deleted file mode 100644
index 4b61610..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_34.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_35.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_35.png
deleted file mode 100644
index 2b21e64..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_35.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_36.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_36.png
deleted file mode 100644
index 5e5394a..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_36.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_37.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_37.png
deleted file mode 100644
index 70fe680..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_37.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_38.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_38.png
deleted file mode 100644
index 8343dcd..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_38.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_39.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_39.png
deleted file mode 100644
index 89a310d..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_39.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_4.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_4.png
deleted file mode 100644
index 2b21e64..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_4.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_40.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_40.png
deleted file mode 100644
index d0066a0..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_40.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_41.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_41.png
deleted file mode 100644
index 1dcfd95..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_41.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_42.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_42.png
deleted file mode 100644
index f8357d7..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_42.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_43.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_43.png
deleted file mode 100644
index 598aed7..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_43.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_44.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_44.png
deleted file mode 100644
index 90ce2d1..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_44.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_45.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_45.png
deleted file mode 100644
index 7dea59b..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_45.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_46.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_46.png
deleted file mode 100644
index 4701070..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_46.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_47.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_47.png
deleted file mode 100644
index 99c36e1..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_47.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_48.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_48.png
deleted file mode 100644
index 0764d8e..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_48.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_49.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_49.png
deleted file mode 100644
index 051879c..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_49.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_5.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_5.png
deleted file mode 100644
index 5e5394a..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_5.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_50.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_50.png
deleted file mode 100644
index ef3bd08..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_50.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_51.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_51.png
deleted file mode 100644
index 615dd77..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_51.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_52.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_52.png
deleted file mode 100644
index bc8e477..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_52.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_53.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_53.png
deleted file mode 100644
index 97a6873..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_53.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_54.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_54.png
deleted file mode 100644
index 71227bd..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_54.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_55.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_55.png
deleted file mode 100644
index 6b9c27a..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_55.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_56.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_56.png
deleted file mode 100644
index 10a32ac..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_56.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_57.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_57.png
deleted file mode 100644
index a1179b3..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_57.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_58.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_58.png
deleted file mode 100644
index 61bc6d2..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_58.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_59.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_59.png
deleted file mode 100644
index 31bbd0b..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_59.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_6.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_6.png
deleted file mode 100644
index 70fe680..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_6.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_60.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_60.png
deleted file mode 100644
index 5615b74..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_60.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_61.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_61.png
deleted file mode 100644
index 78073d7..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_61.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_62.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_62.png
deleted file mode 100644
index fb6a22d..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_62.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_63.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_63.png
deleted file mode 100644
index 986fa0b..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_63.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_64.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_64.png
deleted file mode 100644
index 1ac6865..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_64.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_65.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_65.png
deleted file mode 100644
index 59bfb76..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_65.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_66.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_66.png
deleted file mode 100644
index e28ea1c..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_66.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_7.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_7.png
deleted file mode 100644
index 8343dcd..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_7.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_8.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_8.png
deleted file mode 100644
index 89a310d..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_8.png and /dev/null differ
diff --git a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_9.png b/_sprites/unready/spr_tvlandfont/spr_tvlandfont_9.png
deleted file mode 100644
index d0066a0..0000000
Binary files a/_sprites/unready/spr_tvlandfont/spr_tvlandfont_9.png and /dev/null differ
diff --git a/_sprites/unready/spr_ui_parallaxer.png b/_sprites/unready/spr_ui_parallaxer.png
deleted file mode 100644
index cfc11cc..0000000
Binary files a/_sprites/unready/spr_ui_parallaxer.png and /dev/null differ
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
deleted file mode 100644
index 8065bcb..0000000
--- a/node_modules/.package-lock.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "DELTASPRITE",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "node_modules/@types/adm-zip": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.5.7.tgz",
- "integrity": "sha512-DNEs/QvmyRLurdQPChqq0Md4zGvPwHerAJYWk9l2jCbD1VPpnzRJorOdiq4zsw09NFbYnhfsoEhWtxIzXpn2yw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/node": {
- "version": "24.0.15",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.15.tgz",
- "integrity": "sha512-oaeTSbCef7U/z7rDeJA138xpG3NuKc64/rZ2qmUFkFJmnMsAPaluIifqyWd8hSSMxyP9oie3dLAqYPblag9KgA==",
- "dev": true,
- "dependencies": {
- "undici-types": "~7.8.0"
- }
- },
- "node_modules/adm-zip": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
- "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
- "engines": {
- "node": ">=12.0"
- }
- },
- "node_modules/undici-types": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
- "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
- "dev": true
- }
- }
-}
diff --git a/node_modules/@types/adm-zip/LICENSE b/node_modules/@types/adm-zip/LICENSE
deleted file mode 100644
index 9e841e7..0000000
--- a/node_modules/@types/adm-zip/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
- MIT License
-
- Copyright (c) Microsoft Corporation.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE
diff --git a/node_modules/@types/adm-zip/README.md b/node_modules/@types/adm-zip/README.md
deleted file mode 100644
index 2dcd056..0000000
--- a/node_modules/@types/adm-zip/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Installation
-> `npm install --save @types/adm-zip`
-
-# Summary
-This package contains type definitions for adm-zip (https://github.com/cthackers/adm-zip).
-
-# Details
-Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/adm-zip.
-
-### Additional Details
- * Last updated: Thu, 28 Nov 2024 16:02:52 GMT
- * Dependencies: [@types/node](https://npmjs.com/package/@types/node)
-
-# Credits
-These definitions were written by [John Vilk](https://github.com/jvilk), [Abner Oliveira](https://github.com/abner), [BendingBender](https://github.com/BendingBender), and [Lei Nelissen](https://github.com/LeiNelissen).
diff --git a/node_modules/@types/adm-zip/index.d.ts b/node_modules/@types/adm-zip/index.d.ts
deleted file mode 100644
index 2dc1b9d..0000000
--- a/node_modules/@types/adm-zip/index.d.ts
+++ /dev/null
@@ -1,368 +0,0 @@
-///
-
-import * as FS from "fs";
-import { Constants } from "./util";
-
-declare class AdmZip {
- /**
- * @param fileNameOrRawData If provided, reads an existing archive. Otherwise creates a new, empty archive.
- * @param options Options when initializing the ZIP file
- */
- constructor(fileNameOrRawData?: string | Buffer, options?: Partial);
- /**
- * Extracts the given entry from the archive and returns the content as a Buffer object
- * @param entry ZipEntry object or String with the full path of the entry
- * @param pass Password used for decrypting the file
- * @return Buffer or Null in case of error
- */
- readFile(entry: string | AdmZip.IZipEntry, pass?: string | Buffer): Buffer | null;
- /**
- * Asynchronous `readFile`.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @param callback Called with a `Buffer` or `null` in case of error.
- */
- readFileAsync(entry: string | AdmZip.IZipEntry, callback: (data: Buffer | null, err: string) => void): void;
- /**
- * Extracts the given entry from the archive and returns the content as
- * plain text in the given encoding.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @param encoding If no encoding is specified `"utf8"` is used.
- */
- readAsText(fileName: string | AdmZip.IZipEntry, encoding?: string): string;
- /**
- * Asynchronous `readAsText`.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @param callback Called with the resulting string.
- * @param encoding If no encoding is specified `"utf8"` is used.
- */
- readAsTextAsync(
- fileName: string | AdmZip.IZipEntry,
- callback: (data: string, err: string) => void,
- encoding?: string,
- ): void;
- /**
- * Remove the entry from the file or the entry and all its nested directories
- * and files if the given entry is a directory.
- * @param entry The full path of the entry or a `IZipEntry` object.
- */
- deleteFile(entry: string | AdmZip.IZipEntry): void;
- /**
- * Adds a comment to the zip. The zip must be rewritten after
- * adding the comment.
- * @param comment Content of the comment.
- */
- addZipComment(comment: string): void;
- /**
- * @return The zip comment.
- */
- getZipComment(): string;
- /**
- * Adds a comment to a specified file or `IZipEntry`. The zip must be rewritten after
- * adding the comment.
- * The comment cannot exceed 65535 characters in length.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @param comment The comment to add to the entry.
- */
- addZipEntryComment(entry: string | AdmZip.IZipEntry, comment: string): void;
- /**
- * Returns the comment of the specified entry.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @return The comment of the specified entry.
- */
- getZipEntryComment(entry: string | AdmZip.IZipEntry): string;
- /**
- * Updates the content of an existing entry inside the archive. The zip
- * must be rewritten after updating the content.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @param content The entry's new contents.
- */
- updateFile(entry: string | AdmZip.IZipEntry, content: Buffer): void;
- /**
- * Adds a file from the disk to the archive.
- * @param localPath Path to a file on disk.
- * @param zipPath Path to a directory in the archive. Defaults to the empty
- * string.
- * @param zipName Name for the file.
- * @param comment Comment to be attached to the file
- */
- addLocalFile(localPath: string, zipPath?: string, zipName?: string, comment?: string): void;
- /**
- * Adds a local directory and all its nested files and directories to the
- * archive.
- * @param localPath Path to a folder on disk.
- * @param zipPath Path to a folder in the archive. Default: `""`.
- * @param filter RegExp or Function if files match will be included.
- */
- addLocalFolder(localPath: string, zipPath?: string, filter?: RegExp | ((filename: string) => boolean)): void;
- /**
- * Asynchronous addLocalFile
- * @param localPath
- * @param callback
- * @param zipPath optional path inside zip
- * @param filter optional RegExp or Function if files match will
- * be included.
- */
- addLocalFolderAsync(
- localPath: string,
- callback: (success?: boolean, err?: string) => void,
- zipPath?: string,
- filter?: RegExp | ((filename: string) => boolean),
- ): void;
- /**
- * @param localPath - path where files will be extracted
- * @param props - optional properties
- * @param props.zipPath - optional path inside zip
- * @param props.filter - RegExp or Function if files match will be included.
- */
- addLocalFolderPromise(
- localPath: string,
- props: { zipPath?: string; filter?: RegExp | ((filename: string) => boolean) },
- ): Promise;
- /**
- * Allows you to create a entry (file or directory) in the zip file.
- * If you want to create a directory the `entryName` must end in `"/"` and a `null`
- * buffer should be provided.
- * @param entryName Entry path.
- * @param content Content to add to the entry; must be a 0-length buffer
- * for a directory.
- * @param comment Comment to add to the entry.
- * @param attr Attribute to add to the entry.
- * @return The entry corresponding to one which was just added.
- */
- addFile(entryName: string, content: Buffer, comment?: string, attr?: number): AdmZip.IZipEntry;
- /**
- * Returns an array of `IZipEntry` objects representing the files and folders
- * inside the archive.
- */
- getEntries(): AdmZip.IZipEntry[];
- /**
- * Returns a `IZipEntry` object representing the file or folder specified by `name`.
- * @param name Name of the file or folder to retrieve.
- * @return The entry corresponding to the `name`.
- */
- getEntry(name: string): AdmZip.IZipEntry | null;
- /**
- * Returns the number of entries in the ZIP
- * @return The amount of entries in the ZIP
- */
- getEntryCount(): number;
- /**
- * Loop through each entry in the ZIP
- * @param callback The callback that receives each individual entry
- */
- forEach(callback: (entry: AdmZip.IZipEntry) => void): void;
- /**
- * Extracts the given entry to the given `targetPath`.
- * If the entry is a directory inside the archive, the entire directory and
- * its subdirectories will be extracted.
- * @param entry The full path of the entry or a `IZipEntry` object.
- * @param targetPath Target folder where to write the file.
- * @param maintainEntryPath If maintainEntryPath is `true` and the entry is
- * inside a folder, the entry folder will be created in `targetPath` as
- * well. Default: `true`.
- * @param overwrite If the file already exists at the target path, the file
- * will be overwriten if this is `true`. Default: `false`.
- * @param keepOriginalPermission The file will be set as the permission from
- * the entry if this is true. Default: `false`.
- * @param outFileName String If set will override the filename of the
- * extracted file (Only works if the entry is a file)
- * @return Boolean
- */
- extractEntryTo(
- entryPath: string | AdmZip.IZipEntry,
- targetPath: string,
- maintainEntryPath?: boolean,
- overwrite?: boolean,
- keepOriginalPermission?: boolean,
- outFileName?: string,
- ): boolean;
- /**
- * Test the archive
- * @param password The password for the archive
- */
- test(password?: string | Buffer): boolean;
- /**
- * Extracts the entire archive to the given location.
- * @param targetPath Target location.
- * @param overwrite If the file already exists at the target path, the file
- * will be overwriten if this is `true`. Default: `false`.
- * @param keepOriginalPermission The file will be set as the permission from
- * the entry if this is true. Default: `false`.
- * @param password The password for the archive
- */
- extractAllTo(
- targetPath: string,
- overwrite?: boolean,
- keepOriginalPermission?: boolean,
- password?: string | Buffer,
- ): void;
- /**
- * Extracts the entire archive to the given location.
- * @param targetPath Target location.
- * @param overwrite If the file already exists at the target path, the file
- * will be overwriten if this is `true`. Default: `false`.
- * @param keepOriginalPermission The file will be set as the permission from
- * the entry if this is true. Default: `false`.
- * @param callback The callback function will be called after extraction.
- */
- extractAllToAsync(
- targetPath: string,
- overwrite?: boolean,
- keepOriginalPermission?: boolean,
- callback?: (error?: Error) => void,
- ): void;
- /**
- * Writes the newly created zip file to disk at the specified location or
- * if a zip was opened and no `targetFileName` is provided, it will
- * overwrite the opened zip.
- */
- writeZip(targetFileName?: string, callback?: (error: Error | null) => void): void;
- /**
- * Writes the newly created zip file to disk at the specified location or
- * if a zip was opened and no `targetFileName` is provided, it will
- * overwrite the opened zip.
- */
- writeZipPromise(targetFileName?: string, props?: { overwrite?: boolean; perm?: number }): Promise;
- /**
- * Returns the content of the entire zip file.
- */
- toBuffer(): Buffer;
- /**
- * Asynchronously returns the content of the entire zip file.
- * @param onSuccess called with the content of the zip file, once it has been generated.
- * @param onFail unused.
- * @param onItemStart called before an entry is compressed.
- * @param onItemEnd called after an entry is compressed.
- */
- toBuffer(
- onSuccess: (buffer: Buffer) => void,
- onFail?: (...args: any[]) => void,
- onItemStart?: (name: string) => void,
- onItemEnd?: (name: string) => void,
- ): void;
- /**
- * Asynchronously convert the promise to a Buffer
- */
- toBufferPromise(): Promise;
-}
-
-declare namespace AdmZip {
- /**
- * The `IZipEntry` is more than a structure representing the entry inside the
- * zip file. Beside the normal attributes and headers a entry can have, the
- * class contains a reference to the part of the file where the compressed
- * data resides and decompresses it when requested. It also compresses the
- * data and creates the headers required to write in the zip file.
- */
- // disable warning about the I-prefix in interface name to prevent breaking stuff for users without a major bump
- // eslint-disable-next-line @typescript-eslint/naming-convention
- interface IZipEntry {
- /**
- * Represents the full name and path of the file
- */
- entryName: string;
- readonly rawEntryName: Buffer;
- /**
- * Extra data associated with this entry.
- */
- extra: Buffer;
- /**
- * Entry comment.
- */
- comment: string;
- readonly name: string;
- /**
- * Read-Only property that indicates the type of the entry.
- */
- readonly isDirectory: boolean;
- /**
- * Get the header associated with this ZipEntry.
- */
- readonly header: EntryHeader;
- attr: number;
- /**
- * Retrieve the compressed data for this entry. Note that this may trigger
- * compression if any properties were modified.
- */
- getCompressedData(): Buffer;
- /**
- * Asynchronously retrieve the compressed data for this entry. Note that
- * this may trigger compression if any properties were modified.
- */
- getCompressedDataAsync(callback: (data: Buffer) => void): void;
- /**
- * Set the (uncompressed) data to be associated with this entry.
- */
- setData(value: string | Buffer): void;
- /**
- * Get the decompressed data associated with this entry.
- */
- getData(): Buffer;
- /**
- * Asynchronously get the decompressed data associated with this entry.
- */
- getDataAsync(callback: (data: Buffer, err: string) => void): void;
- /**
- * Returns the CEN Entry Header to be written to the output zip file, plus
- * the extra data and the entry comment.
- */
- packHeader(): Buffer;
- /**
- * Returns a nicely formatted string with the most important properties of
- * the ZipEntry.
- */
- toString(): string;
- }
-
- interface EntryHeader {
- made: number;
- version: number;
- flags: number;
- method: number;
- time: Date;
- crc: number;
- compressedSize: number;
- size: number;
- fileNameLength: number;
- extraLength: number;
- commentLength: number;
- diskNumStart: number;
- inAttr: number;
- attr: number;
- offset: number;
- readonly encripted: boolean;
- readonly entryHeaderSize: number;
- readonly realDataOffset: number;
- readonly dataHeader: DataHeader;
- loadDataHeaderFromBinary(data: Buffer): void;
- loadFromBinary(data: Buffer): void;
- dataHeaderToBinary(): Buffer;
- entryHeaderToBinary(): Buffer;
- toString(): string;
- }
-
- interface DataHeader {
- version: number;
- flags: number;
- method: number;
- time: number;
- crc: number;
- compressedSize: number;
- size: number;
- fnameLen: number;
- extraLen: number;
- }
-
- interface InitOptions {
- /* If true it disables files sorting */
- noSort: boolean;
- /* Read entries during load (initial loading may be slower) */
- readEntries: boolean;
- /* Read method */
- method: (typeof Constants)[keyof typeof Constants] | number;
- /* file system */
- fs: null | typeof FS;
- }
-}
-
-export = AdmZip;
diff --git a/node_modules/@types/adm-zip/package.json b/node_modules/@types/adm-zip/package.json
deleted file mode 100644
index b711da8..0000000
--- a/node_modules/@types/adm-zip/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "@types/adm-zip",
- "version": "0.5.7",
- "description": "TypeScript definitions for adm-zip",
- "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/adm-zip",
- "license": "MIT",
- "contributors": [
- {
- "name": "John Vilk",
- "githubUsername": "jvilk",
- "url": "https://github.com/jvilk"
- },
- {
- "name": "Abner Oliveira",
- "githubUsername": "abner",
- "url": "https://github.com/abner"
- },
- {
- "name": "BendingBender",
- "githubUsername": "BendingBender",
- "url": "https://github.com/BendingBender"
- },
- {
- "name": "Lei Nelissen",
- "githubUsername": "LeiNelissen",
- "url": "https://github.com/LeiNelissen"
- }
- ],
- "main": "",
- "types": "index.d.ts",
- "repository": {
- "type": "git",
- "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
- "directory": "types/adm-zip"
- },
- "scripts": {},
- "dependencies": {
- "@types/node": "*"
- },
- "peerDependencies": {},
- "typesPublisherContentHash": "2b7ccefc1df4e05662e7d47904e27f4af394ff59c9d5f8b3ea47f579e5146bba",
- "typeScriptVersion": "5.0"
-}
\ No newline at end of file
diff --git a/node_modules/@types/adm-zip/util.d.ts b/node_modules/@types/adm-zip/util.d.ts
deleted file mode 100644
index 1691f38..0000000
--- a/node_modules/@types/adm-zip/util.d.ts
+++ /dev/null
@@ -1,178 +0,0 @@
-export const Constants: {
- /* The local file header */
- LOCHDR: 30; // LOC header size
- LOCSIG: 0x04034b50; // "PK\003\004"
- LOCVER: 4; // version needed to extract
- LOCFLG: 6; // general purpose bit flag
- LOCHOW: 8; // compression method
- LOCTIM: 10; // modification time (2 bytes time, 2 bytes date)
- LOCCRC: 14; // uncompressed file crc-32 value
- LOCSIZ: 18; // compressed size
- LOCLEN: 22; // uncompressed size
- LOCNAM: 26; // filename length
- LOCEXT: 28; // extra field length
-
- /* The Data descriptor */
- EXTSIG: 0x08074b50; // "PK\007\008"
- EXTHDR: 16; // EXT header size
- EXTCRC: 4; // uncompressed file crc-32 value
- EXTSIZ: 8; // compressed size
- EXTLEN: 12; // uncompressed size
-
- /* The central directory file header */
- CENHDR: 46; // CEN header size
- CENSIG: 0x02014b50; // "PK\001\002"
- CENVEM: 4; // version made by
- CENVER: 6; // version needed to extract
- CENFLG: 8; // encrypt, decrypt flags
- CENHOW: 10; // compression method
- CENTIM: 12; // modification time (2 bytes time, 2 bytes date)
- CENCRC: 16; // uncompressed file crc-32 value
- CENSIZ: 20; // compressed size
- CENLEN: 24; // uncompressed size
- CENNAM: 28; // filename length
- CENEXT: 30; // extra field length
- CENCOM: 32; // file comment length
- CENDSK: 34; // volume number start
- CENATT: 36; // internal file attributes
- CENATX: 38; // external file attributes (host system dependent)
- CENOFF: 42; // LOC header offset
-
- /* The entries in the end of central directory */
- ENDHDR: 22; // END header size
- ENDSIG: 0x06054b50; // "PK\005\006"
- ENDSUB: 8; // number of entries on this disk
- ENDTOT: 10; // total number of entries
- ENDSIZ: 12; // central directory size in bytes
- ENDOFF: 16; // offset of first CEN header
- ENDCOM: 20; // zip file comment length
-
- END64HDR: 20; // zip64 END header size
- END64SIG: 0x07064b50; // zip64 Locator signature, "PK\006\007"
- END64START: 4; // number of the disk with the start of the zip64
- END64OFF: 8; // relative offset of the zip64 end of central directory
- END64NUMDISKS: 16; // total number of disks
-
- ZIP64SIG: 0x06064b50; // zip64 signature, "PK\006\006"
- ZIP64HDR: 56; // zip64 record minimum size
- ZIP64LEAD: 12; // leading bytes at the start of the record, not counted by the value stored in ZIP64SIZE
- ZIP64SIZE: 4; // zip64 size of the central directory record
- ZIP64VEM: 12; // zip64 version made by
- ZIP64VER: 14; // zip64 version needed to extract
- ZIP64DSK: 16; // zip64 number of this disk
- ZIP64DSKDIR: 20; // number of the disk with the start of the record directory
- ZIP64SUB: 24; // number of entries on this disk
- ZIP64TOT: 32; // total number of entries
- ZIP64SIZB: 40; // zip64 central directory size in bytes
- ZIP64OFF: 48; // offset of start of central directory with respect to the starting disk number
- ZIP64EXTRA: 56; // extensible data sector
-
- /* Compression methods */
- STORED: 0; // no compression
- SHRUNK: 1; // shrunk
- REDUCED1: 2; // reduced with compression factor 1
- REDUCED2: 3; // reduced with compression factor 2
- REDUCED3: 4; // reduced with compression factor 3
- REDUCED4: 5; // reduced with compression factor 4
- IMPLODED: 6; // imploded
- // 7 reserved for Tokenizing compression algorithm
- DEFLATED: 8; // deflated
- ENHANCED_DEFLATED: 9; // enhanced deflated
- PKWARE: 10; // PKWare DCL imploded
- // 11 reserved by PKWARE
- BZIP2: 12; // compressed using BZIP2
- // 13 reserved by PKWARE
- LZMA: 14; // LZMA
- // 15-17 reserved by PKWARE
- IBM_TERSE: 18; // compressed using IBM TERSE
- IBM_LZ77: 19; // IBM LZ77 z
- AES_ENCRYPT: 99; // WinZIP AES encryption method
-
- /* General purpose bit flag */
- // values can obtained with expression 2**bitnr
- FLG_ENC: 1; // Bit 0: encrypted file
- FLG_COMP1: 2; // Bit 1, compression option
- FLG_COMP2: 4; // Bit 2, compression option
- FLG_DESC: 8; // Bit 3, data descriptor
- FLG_ENH: 16; // Bit 4, enhanced deflating
- FLG_PATCH: 32; // Bit 5, indicates that the file is compressed patched data.
- FLG_STR: 64; // Bit 6, strong encryption (patented)
- // Bits 7-10: Currently unused.
- FLG_EFS: 2048; // Bit 11: Language encoding flag (EFS)
- // Bit 12: Reserved by PKWARE for enhanced compression.
- // Bit 13: encrypted the Central Directory (patented).
- // Bits 14-15: Reserved by PKWARE.
- FLG_MSK: 4096; // mask header values
-
- /* Load type */
- FILE: 2;
- BUFFER: 1;
- NONE: 0;
-
- /* 4.5 Extensible data fields */
- EF_ID: 0;
- EF_SIZE: 2;
-
- /* Header IDs */
- ID_ZIP64: 0x0001;
- ID_AVINFO: 0x0007;
- ID_PFS: 0x0008;
- ID_OS2: 0x0009;
- ID_NTFS: 0x000a;
- ID_OPENVMS: 0x000c;
- ID_UNIX: 0x000d;
- ID_FORK: 0x000e;
- ID_PATCH: 0x000f;
- ID_X509_PKCS7: 0x0014;
- ID_X509_CERTID_F: 0x0015;
- ID_X509_CERTID_C: 0x0016;
- ID_STRONGENC: 0x0017;
- ID_RECORD_MGT: 0x0018;
- ID_X509_PKCS7_RL: 0x0019;
- ID_IBM1: 0x0065;
- ID_IBM2: 0x0066;
- ID_POSZIP: 0x4690;
-
- EF_ZIP64_OR_32: 0xffffffff;
- EF_ZIP64_OR_16: 0xffff;
- EF_ZIP64_SUNCOMP: 0;
- EF_ZIP64_SCOMP: 8;
- EF_ZIP64_RHO: 16;
- EF_ZIP64_DSN: 24;
-};
-
-export const Errors: {
- /* Header error messages */
- INVALID_LOC: "Invalid LOC header (bad signature)";
- INVALID_CEN: "Invalid CEN header (bad signature)";
- INVALID_END: "Invalid END header (bad signature)";
-
- /* ZipEntry error messages */
- NO_DATA: "Nothing to decompress";
- BAD_CRC: "CRC32 checksum failed";
- FILE_IN_THE_WAY: "There is a file in the way: %s";
- UNKNOWN_METHOD: "Invalid/unsupported compression method";
-
- /* Inflater error messages */
- AVAIL_DATA: "inflate::Available inflate data did not terminate";
- INVALID_DISTANCE: "inflate::Invalid literal/length or distance code in fixed or dynamic block";
- TO_MANY_CODES: "inflate::Dynamic block code description: too many length or distance codes";
- INVALID_REPEAT_LEN: "inflate::Dynamic block code description: repeat more than specified lengths";
- INVALID_REPEAT_FIRST: "inflate::Dynamic block code description: repeat lengths with no first length";
- INCOMPLETE_CODES: "inflate::Dynamic block code description: code lengths codes incomplete";
- INVALID_DYN_DISTANCE: "inflate::Dynamic block code description: invalid distance code lengths";
- INVALID_CODES_LEN: "inflate::Dynamic block code description: invalid literal/length code lengths";
- INVALID_STORE_BLOCK: "inflate::Stored block length did not match one's complement";
- INVALID_BLOCK_TYPE: "inflate::Invalid block type (type == 3)";
-
- /* ADM-ZIP error messages */
- CANT_EXTRACT_FILE: "Could not extract the file";
- CANT_OVERRIDE: "Target file already exists";
- NO_ZIP: "No zip file was loaded";
- NO_ENTRY: "Entry doesn't exist";
- DIRECTORY_CONTENT_ERROR: "A directory cannot have content";
- FILE_NOT_FOUND: "File not found: %s";
- NOT_IMPLEMENTED: "Not implemented";
- INVALID_FILENAME: "Invalid filename";
- INVALID_FORMAT: "Invalid or unsupported zip format. No END header found";
-};
diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE
deleted file mode 100644
index 9e841e7..0000000
--- a/node_modules/@types/node/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
- MIT License
-
- Copyright (c) Microsoft Corporation.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE
diff --git a/node_modules/@types/node/README.md b/node_modules/@types/node/README.md
deleted file mode 100644
index bae675f..0000000
--- a/node_modules/@types/node/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Installation
-> `npm install --save @types/node`
-
-# Summary
-This package contains type definitions for node (https://nodejs.org/).
-
-# Details
-Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
-
-### Additional Details
- * Last updated: Sat, 19 Jul 2025 00:47:11 GMT
- * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
-
-# Credits
-These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [David Junger](https://github.com/touffy), [Mohsen Azimi](https://github.com/mohsen1), [Nikita Galkin](https://github.com/galkin), [Sebastian Silbermann](https://github.com/eps1lon), [Wilco Bakker](https://github.com/WilcoBakker), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), [Dmitry Semigradsky](https://github.com/Semigradsky), [René](https://github.com/Renegade334), and [Yagiz Nizipli](https://github.com/anonrig).
diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts
deleted file mode 100644
index b79fc21..0000000
--- a/node_modules/@types/node/assert.d.ts
+++ /dev/null
@@ -1,1056 +0,0 @@
-/**
- * The `node:assert` module provides a set of assertion functions for verifying
- * invariants.
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/assert.js)
- */
-declare module "assert" {
- /**
- * An alias of {@link ok}.
- * @since v0.5.9
- * @param value The input that is checked for being truthy.
- */
- function assert(value: unknown, message?: string | Error): asserts value;
- namespace assert {
- /**
- * Indicates the failure of an assertion. All errors thrown by the `node:assert` module will be instances of the `AssertionError` class.
- */
- class AssertionError extends Error {
- /**
- * Set to the `actual` argument for methods such as {@link assert.strictEqual()}.
- */
- actual: unknown;
- /**
- * Set to the `expected` argument for methods such as {@link assert.strictEqual()}.
- */
- expected: unknown;
- /**
- * Set to the passed in operator value.
- */
- operator: string;
- /**
- * Indicates if the message was auto-generated (`true`) or not.
- */
- generatedMessage: boolean;
- /**
- * Value is always `ERR_ASSERTION` to show that the error is an assertion error.
- */
- code: "ERR_ASSERTION";
- constructor(options?: {
- /** If provided, the error message is set to this value. */
- message?: string | undefined;
- /** The `actual` property on the error instance. */
- actual?: unknown | undefined;
- /** The `expected` property on the error instance. */
- expected?: unknown | undefined;
- /** The `operator` property on the error instance. */
- operator?: string | undefined;
- /** If provided, the generated stack trace omits frames before this function. */
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
- stackStartFn?: Function | undefined;
- });
- }
- /**
- * This feature is deprecated and will be removed in a future version.
- * Please consider using alternatives such as the `mock` helper function.
- * @since v14.2.0, v12.19.0
- * @deprecated Deprecated
- */
- class CallTracker {
- /**
- * The wrapper function is expected to be called exactly `exact` times. If the
- * function has not been called exactly `exact` times when `tracker.verify()` is called, then `tracker.verify()` will throw an
- * error.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * // Creates call tracker.
- * const tracker = new assert.CallTracker();
- *
- * function func() {}
- *
- * // Returns a function that wraps func() that must be called exact times
- * // before tracker.verify().
- * const callsfunc = tracker.calls(func);
- * ```
- * @since v14.2.0, v12.19.0
- * @param [fn='A no-op function']
- * @param [exact=1]
- * @return A function that wraps `fn`.
- */
- calls(exact?: number): () => void;
- calls(fn: undefined, exact?: number): () => void;
- calls any>(fn: Func, exact?: number): Func;
- calls any>(fn?: Func, exact?: number): Func | (() => void);
- /**
- * Example:
- *
- * ```js
- * import assert from 'node:assert';
- *
- * const tracker = new assert.CallTracker();
- *
- * function func() {}
- * const callsfunc = tracker.calls(func);
- * callsfunc(1, 2, 3);
- *
- * assert.deepStrictEqual(tracker.getCalls(callsfunc),
- * [{ thisArg: undefined, arguments: [1, 2, 3] }]);
- * ```
- * @since v18.8.0, v16.18.0
- * @return An array with all the calls to a tracked function.
- */
- getCalls(fn: Function): CallTrackerCall[];
- /**
- * The arrays contains information about the expected and actual number of calls of
- * the functions that have not been called the expected number of times.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * // Creates call tracker.
- * const tracker = new assert.CallTracker();
- *
- * function func() {}
- *
- * // Returns a function that wraps func() that must be called exact times
- * // before tracker.verify().
- * const callsfunc = tracker.calls(func, 2);
- *
- * // Returns an array containing information on callsfunc()
- * console.log(tracker.report());
- * // [
- * // {
- * // message: 'Expected the func function to be executed 2 time(s) but was
- * // executed 0 time(s).',
- * // actual: 0,
- * // expected: 2,
- * // operator: 'func',
- * // stack: stack trace
- * // }
- * // ]
- * ```
- * @since v14.2.0, v12.19.0
- * @return An array of objects containing information about the wrapper functions returned by {@link tracker.calls()}.
- */
- report(): CallTrackerReportInformation[];
- /**
- * Reset calls of the call tracker. If a tracked function is passed as an argument, the calls will be reset for it.
- * If no arguments are passed, all tracked functions will be reset.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * const tracker = new assert.CallTracker();
- *
- * function func() {}
- * const callsfunc = tracker.calls(func);
- *
- * callsfunc();
- * // Tracker was called once
- * assert.strictEqual(tracker.getCalls(callsfunc).length, 1);
- *
- * tracker.reset(callsfunc);
- * assert.strictEqual(tracker.getCalls(callsfunc).length, 0);
- * ```
- * @since v18.8.0, v16.18.0
- * @param fn a tracked function to reset.
- */
- reset(fn?: Function): void;
- /**
- * Iterates through the list of functions passed to {@link tracker.calls()} and will throw an error for functions that
- * have not been called the expected number of times.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * // Creates call tracker.
- * const tracker = new assert.CallTracker();
- *
- * function func() {}
- *
- * // Returns a function that wraps func() that must be called exact times
- * // before tracker.verify().
- * const callsfunc = tracker.calls(func, 2);
- *
- * callsfunc();
- *
- * // Will throw an error since callsfunc() was only called once.
- * tracker.verify();
- * ```
- * @since v14.2.0, v12.19.0
- */
- verify(): void;
- }
- interface CallTrackerCall {
- thisArg: object;
- arguments: unknown[];
- }
- interface CallTrackerReportInformation {
- message: string;
- /** The actual number of times the function was called. */
- actual: number;
- /** The number of times the function was expected to be called. */
- expected: number;
- /** The name of the function that is wrapped. */
- operator: string;
- /** A stack trace of the function. */
- stack: object;
- }
- type AssertPredicate = RegExp | (new() => object) | ((thrown: unknown) => boolean) | object | Error;
- /**
- * Throws an `AssertionError` with the provided error message or a default
- * error message. If the `message` parameter is an instance of an `Error` then
- * it will be thrown instead of the `AssertionError`.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.fail();
- * // AssertionError [ERR_ASSERTION]: Failed
- *
- * assert.fail('boom');
- * // AssertionError [ERR_ASSERTION]: boom
- *
- * assert.fail(new TypeError('need array'));
- * // TypeError: need array
- * ```
- *
- * Using `assert.fail()` with more than two arguments is possible but deprecated.
- * See below for further details.
- * @since v0.1.21
- * @param [message='Failed']
- */
- function fail(message?: string | Error): never;
- /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */
- function fail(
- actual: unknown,
- expected: unknown,
- message?: string | Error,
- operator?: string,
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
- stackStartFn?: Function,
- ): never;
- /**
- * Tests if `value` is truthy. It is equivalent to `assert.equal(!!value, true, message)`.
- *
- * If `value` is not truthy, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is `undefined`, a default
- * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.
- * If no arguments are passed in at all `message` will be set to the string:`` 'No value argument passed to `assert.ok()`' ``.
- *
- * Be aware that in the `repl` the error message will be different to the one
- * thrown in a file! See below for further details.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.ok(true);
- * // OK
- * assert.ok(1);
- * // OK
- *
- * assert.ok();
- * // AssertionError: No value argument passed to `assert.ok()`
- *
- * assert.ok(false, 'it\'s false');
- * // AssertionError: it's false
- *
- * // In the repl:
- * assert.ok(typeof 123 === 'string');
- * // AssertionError: false == true
- *
- * // In a file (e.g. test.js):
- * assert.ok(typeof 123 === 'string');
- * // AssertionError: The expression evaluated to a falsy value:
- * //
- * // assert.ok(typeof 123 === 'string')
- *
- * assert.ok(false);
- * // AssertionError: The expression evaluated to a falsy value:
- * //
- * // assert.ok(false)
- *
- * assert.ok(0);
- * // AssertionError: The expression evaluated to a falsy value:
- * //
- * // assert.ok(0)
- * ```
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * // Using `assert()` works the same:
- * assert(0);
- * // AssertionError: The expression evaluated to a falsy value:
- * //
- * // assert(0)
- * ```
- * @since v0.1.21
- */
- function ok(value: unknown, message?: string | Error): asserts value;
- /**
- * **Strict assertion mode**
- *
- * An alias of {@link strictEqual}.
- *
- * **Legacy assertion mode**
- *
- * > Stability: 3 - Legacy: Use {@link strictEqual} instead.
- *
- * Tests shallow, coercive equality between the `actual` and `expected` parameters
- * using the [`==` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality). `NaN` is specially handled
- * and treated as being identical if both sides are `NaN`.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * assert.equal(1, 1);
- * // OK, 1 == 1
- * assert.equal(1, '1');
- * // OK, 1 == '1'
- * assert.equal(NaN, NaN);
- * // OK
- *
- * assert.equal(1, 2);
- * // AssertionError: 1 == 2
- * assert.equal({ a: { b: 1 } }, { a: { b: 1 } });
- * // AssertionError: { a: { b: 1 } } == { a: { b: 1 } }
- * ```
- *
- * If the values are not equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default
- * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.
- * @since v0.1.21
- */
- function equal(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * **Strict assertion mode**
- *
- * An alias of {@link notStrictEqual}.
- *
- * **Legacy assertion mode**
- *
- * > Stability: 3 - Legacy: Use {@link notStrictEqual} instead.
- *
- * Tests shallow, coercive inequality with the [`!=` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Inequality). `NaN` is
- * specially handled and treated as being identical if both sides are `NaN`.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * assert.notEqual(1, 2);
- * // OK
- *
- * assert.notEqual(1, 1);
- * // AssertionError: 1 != 1
- *
- * assert.notEqual(1, '1');
- * // AssertionError: 1 != '1'
- * ```
- *
- * If the values are equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error
- * message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.
- * @since v0.1.21
- */
- function notEqual(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * **Strict assertion mode**
- *
- * An alias of {@link deepStrictEqual}.
- *
- * **Legacy assertion mode**
- *
- * > Stability: 3 - Legacy: Use {@link deepStrictEqual} instead.
- *
- * Tests for deep equality between the `actual` and `expected` parameters. Consider
- * using {@link deepStrictEqual} instead. {@link deepEqual} can have
- * surprising results.
- *
- * _Deep equality_ means that the enumerable "own" properties of child objects
- * are also recursively evaluated by the following rules.
- * @since v0.1.21
- */
- function deepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * **Strict assertion mode**
- *
- * An alias of {@link notDeepStrictEqual}.
- *
- * **Legacy assertion mode**
- *
- * > Stability: 3 - Legacy: Use {@link notDeepStrictEqual} instead.
- *
- * Tests for any deep inequality. Opposite of {@link deepEqual}.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * const obj1 = {
- * a: {
- * b: 1,
- * },
- * };
- * const obj2 = {
- * a: {
- * b: 2,
- * },
- * };
- * const obj3 = {
- * a: {
- * b: 1,
- * },
- * };
- * const obj4 = { __proto__: obj1 };
- *
- * assert.notDeepEqual(obj1, obj1);
- * // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
- *
- * assert.notDeepEqual(obj1, obj2);
- * // OK
- *
- * assert.notDeepEqual(obj1, obj3);
- * // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
- *
- * assert.notDeepEqual(obj1, obj4);
- * // OK
- * ```
- *
- * If the values are deeply equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default
- * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown
- * instead of the `AssertionError`.
- * @since v0.1.21
- */
- function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * Tests strict equality between the `actual` and `expected` parameters as
- * determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.strictEqual(1, 2);
- * // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
- * //
- * // 1 !== 2
- *
- * assert.strictEqual(1, 1);
- * // OK
- *
- * assert.strictEqual('Hello foobar', 'Hello World!');
- * // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
- * // + actual - expected
- * //
- * // + 'Hello foobar'
- * // - 'Hello World!'
- * // ^
- *
- * const apples = 1;
- * const oranges = 2;
- * assert.strictEqual(apples, oranges, `apples ${apples} !== oranges ${oranges}`);
- * // AssertionError [ERR_ASSERTION]: apples 1 !== oranges 2
- *
- * assert.strictEqual(1, '1', new TypeError('Inputs are not identical'));
- * // TypeError: Inputs are not identical
- * ```
- *
- * If the values are not strictly equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a
- * default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown
- * instead of the `AssertionError`.
- * @since v0.1.21
- */
- function strictEqual(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
- /**
- * Tests strict inequality between the `actual` and `expected` parameters as
- * determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.notStrictEqual(1, 2);
- * // OK
- *
- * assert.notStrictEqual(1, 1);
- * // AssertionError [ERR_ASSERTION]: Expected "actual" to be strictly unequal to:
- * //
- * // 1
- *
- * assert.notStrictEqual(1, '1');
- * // OK
- * ```
- *
- * If the values are strictly equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a
- * default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown
- * instead of the `AssertionError`.
- * @since v0.1.21
- */
- function notStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * Tests for deep equality between the `actual` and `expected` parameters.
- * "Deep" equality means that the enumerable "own" properties of child objects
- * are recursively evaluated also by the following rules.
- * @since v1.2.0
- */
- function deepStrictEqual(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
- /**
- * Tests for deep strict inequality. Opposite of {@link deepStrictEqual}.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.notDeepStrictEqual({ a: 1 }, { a: '1' });
- * // OK
- * ```
- *
- * If the values are deeply and strictly equal, an `AssertionError` is thrown
- * with a `message` property set equal to the value of the `message` parameter. If
- * the `message` parameter is undefined, a default error message is assigned. If
- * the `message` parameter is an instance of an `Error` then it will be thrown
- * instead of the `AssertionError`.
- * @since v1.2.0
- */
- function notDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * Expects the function `fn` to throw an error.
- *
- * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
- * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,
- * a validation object where each property will be tested for strict deep equality,
- * or an instance of error where each property will be tested for strict deep
- * equality including the non-enumerable `message` and `name` properties. When
- * using an object, it is also possible to use a regular expression, when
- * validating against a string property. See below for examples.
- *
- * If specified, `message` will be appended to the message provided by the `AssertionError` if the `fn` call fails to throw or in case the error validation
- * fails.
- *
- * Custom validation object/error instance:
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * const err = new TypeError('Wrong value');
- * err.code = 404;
- * err.foo = 'bar';
- * err.info = {
- * nested: true,
- * baz: 'text',
- * };
- * err.reg = /abc/i;
- *
- * assert.throws(
- * () => {
- * throw err;
- * },
- * {
- * name: 'TypeError',
- * message: 'Wrong value',
- * info: {
- * nested: true,
- * baz: 'text',
- * },
- * // Only properties on the validation object will be tested for.
- * // Using nested objects requires all properties to be present. Otherwise
- * // the validation is going to fail.
- * },
- * );
- *
- * // Using regular expressions to validate error properties:
- * assert.throws(
- * () => {
- * throw err;
- * },
- * {
- * // The `name` and `message` properties are strings and using regular
- * // expressions on those will match against the string. If they fail, an
- * // error is thrown.
- * name: /^TypeError$/,
- * message: /Wrong/,
- * foo: 'bar',
- * info: {
- * nested: true,
- * // It is not possible to use regular expressions for nested properties!
- * baz: 'text',
- * },
- * // The `reg` property contains a regular expression and only if the
- * // validation object contains an identical regular expression, it is going
- * // to pass.
- * reg: /abc/i,
- * },
- * );
- *
- * // Fails due to the different `message` and `name` properties:
- * assert.throws(
- * () => {
- * const otherErr = new Error('Not found');
- * // Copy all enumerable properties from `err` to `otherErr`.
- * for (const [key, value] of Object.entries(err)) {
- * otherErr[key] = value;
- * }
- * throw otherErr;
- * },
- * // The error's `message` and `name` properties will also be checked when using
- * // an error as validation object.
- * err,
- * );
- * ```
- *
- * Validate instanceof using constructor:
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.throws(
- * () => {
- * throw new Error('Wrong value');
- * },
- * Error,
- * );
- * ```
- *
- * Validate error message using [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions):
- *
- * Using a regular expression runs `.toString` on the error object, and will
- * therefore also include the error name.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.throws(
- * () => {
- * throw new Error('Wrong value');
- * },
- * /^Error: Wrong value$/,
- * );
- * ```
- *
- * Custom error validation:
- *
- * The function must return `true` to indicate all internal validations passed.
- * It will otherwise fail with an `AssertionError`.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.throws(
- * () => {
- * throw new Error('Wrong value');
- * },
- * (err) => {
- * assert(err instanceof Error);
- * assert(/value/.test(err));
- * // Avoid returning anything from validation functions besides `true`.
- * // Otherwise, it's not clear what part of the validation failed. Instead,
- * // throw an error about the specific validation that failed (as done in this
- * // example) and add as much helpful debugging information to that error as
- * // possible.
- * return true;
- * },
- * 'unexpected error',
- * );
- * ```
- *
- * `error` cannot be a string. If a string is provided as the second
- * argument, then `error` is assumed to be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Using the same
- * message as the thrown error message is going to result in an `ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using
- * a string as the second argument gets considered:
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * function throwingFirst() {
- * throw new Error('First');
- * }
- *
- * function throwingSecond() {
- * throw new Error('Second');
- * }
- *
- * function notThrowing() {}
- *
- * // The second argument is a string and the input function threw an Error.
- * // The first case will not throw as it does not match for the error message
- * // thrown by the input function!
- * assert.throws(throwingFirst, 'Second');
- * // In the next example the message has no benefit over the message from the
- * // error and since it is not clear if the user intended to actually match
- * // against the error message, Node.js throws an `ERR_AMBIGUOUS_ARGUMENT` error.
- * assert.throws(throwingSecond, 'Second');
- * // TypeError [ERR_AMBIGUOUS_ARGUMENT]
- *
- * // The string is only used (as message) in case the function does not throw:
- * assert.throws(notThrowing, 'Second');
- * // AssertionError [ERR_ASSERTION]: Missing expected exception: Second
- *
- * // If it was intended to match for the error message do this instead:
- * // It does not throw because the error messages match.
- * assert.throws(throwingSecond, /Second$/);
- *
- * // If the error message does not match, an AssertionError is thrown.
- * assert.throws(throwingFirst, /Second$/);
- * // AssertionError [ERR_ASSERTION]
- * ```
- *
- * Due to the confusing error-prone notation, avoid a string as the second
- * argument.
- * @since v0.1.21
- */
- function throws(block: () => unknown, message?: string | Error): void;
- function throws(block: () => unknown, error: AssertPredicate, message?: string | Error): void;
- /**
- * Asserts that the function `fn` does not throw an error.
- *
- * Using `assert.doesNotThrow()` is actually not useful because there
- * is no benefit in catching an error and then rethrowing it. Instead, consider
- * adding a comment next to the specific code path that should not throw and keep
- * error messages as expressive as possible.
- *
- * When `assert.doesNotThrow()` is called, it will immediately call the `fn` function.
- *
- * If an error is thrown and it is the same type as that specified by the `error` parameter, then an `AssertionError` is thrown. If the error is of a
- * different type, or if the `error` parameter is undefined, the error is
- * propagated back to the caller.
- *
- * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
- * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), or a validation
- * function. See {@link throws} for more details.
- *
- * The following, for instance, will throw the `TypeError` because there is no
- * matching error type in the assertion:
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.doesNotThrow(
- * () => {
- * throw new TypeError('Wrong value');
- * },
- * SyntaxError,
- * );
- * ```
- *
- * However, the following will result in an `AssertionError` with the message
- * 'Got unwanted exception...':
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.doesNotThrow(
- * () => {
- * throw new TypeError('Wrong value');
- * },
- * TypeError,
- * );
- * ```
- *
- * If an `AssertionError` is thrown and a value is provided for the `message` parameter, the value of `message` will be appended to the `AssertionError` message:
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.doesNotThrow(
- * () => {
- * throw new TypeError('Wrong value');
- * },
- * /Wrong value/,
- * 'Whoops',
- * );
- * // Throws: AssertionError: Got unwanted exception: Whoops
- * ```
- * @since v0.1.21
- */
- function doesNotThrow(block: () => unknown, message?: string | Error): void;
- function doesNotThrow(block: () => unknown, error: AssertPredicate, message?: string | Error): void;
- /**
- * Throws `value` if `value` is not `undefined` or `null`. This is useful when
- * testing the `error` argument in callbacks. The stack trace contains all frames
- * from the error passed to `ifError()` including the potential new frames for `ifError()` itself.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.ifError(null);
- * // OK
- * assert.ifError(0);
- * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 0
- * assert.ifError('error');
- * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 'error'
- * assert.ifError(new Error());
- * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Error
- *
- * // Create some random error frames.
- * let err;
- * (function errorFrame() {
- * err = new Error('test error');
- * })();
- *
- * (function ifErrorFrame() {
- * assert.ifError(err);
- * })();
- * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error
- * // at ifErrorFrame
- * // at errorFrame
- * ```
- * @since v0.1.97
- */
- function ifError(value: unknown): asserts value is null | undefined;
- /**
- * Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
- * calls the function and awaits the returned promise to complete. It will then
- * check that the promise is rejected.
- *
- * If `asyncFn` is a function and it throws an error synchronously, `assert.rejects()` will return a rejected `Promise` with that error. If the
- * function does not return a promise, `assert.rejects()` will return a rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v24.x/api/errors.html#err_invalid_return_value)
- * error. In both cases the error handler is skipped.
- *
- * Besides the async nature to await the completion behaves identically to {@link throws}.
- *
- * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
- * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,
- * an object where each property will be tested for, or an instance of error where
- * each property will be tested for including the non-enumerable `message` and `name` properties.
- *
- * If specified, `message` will be the message provided by the `{@link AssertionError}` if the `asyncFn` fails to reject.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * await assert.rejects(
- * async () => {
- * throw new TypeError('Wrong value');
- * },
- * {
- * name: 'TypeError',
- * message: 'Wrong value',
- * },
- * );
- * ```
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * await assert.rejects(
- * async () => {
- * throw new TypeError('Wrong value');
- * },
- * (err) => {
- * assert.strictEqual(err.name, 'TypeError');
- * assert.strictEqual(err.message, 'Wrong value');
- * return true;
- * },
- * );
- * ```
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.rejects(
- * Promise.reject(new Error('Wrong value')),
- * Error,
- * ).then(() => {
- * // ...
- * });
- * ```
- *
- * `error` cannot be a string. If a string is provided as the second argument, then `error` is assumed to
- * be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Please read the
- * example in {@link throws} carefully if using a string as the second argument gets considered.
- * @since v10.0.0
- */
- function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise;
- function rejects(
- block: (() => Promise) | Promise,
- error: AssertPredicate,
- message?: string | Error,
- ): Promise;
- /**
- * Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
- * calls the function and awaits the returned promise to complete. It will then
- * check that the promise is not rejected.
- *
- * If `asyncFn` is a function and it throws an error synchronously, `assert.doesNotReject()` will return a rejected `Promise` with that error. If
- * the function does not return a promise, `assert.doesNotReject()` will return a
- * rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v24.x/api/errors.html#err_invalid_return_value) error. In both cases
- * the error handler is skipped.
- *
- * Using `assert.doesNotReject()` is actually not useful because there is little
- * benefit in catching a rejection and then rejecting it again. Instead, consider
- * adding a comment next to the specific code path that should not reject and keep
- * error messages as expressive as possible.
- *
- * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
- * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), or a validation
- * function. See {@link throws} for more details.
- *
- * Besides the async nature to await the completion behaves identically to {@link doesNotThrow}.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * await assert.doesNotReject(
- * async () => {
- * throw new TypeError('Wrong value');
- * },
- * SyntaxError,
- * );
- * ```
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.doesNotReject(Promise.reject(new TypeError('Wrong value')))
- * .then(() => {
- * // ...
- * });
- * ```
- * @since v10.0.0
- */
- function doesNotReject(
- block: (() => Promise) | Promise,
- message?: string | Error,
- ): Promise;
- function doesNotReject(
- block: (() => Promise) | Promise,
- error: AssertPredicate,
- message?: string | Error,
- ): Promise;
- /**
- * Expects the `string` input to match the regular expression.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.match('I will fail', /pass/);
- * // AssertionError [ERR_ASSERTION]: The input did not match the regular ...
- *
- * assert.match(123, /pass/);
- * // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string.
- *
- * assert.match('I will pass', /pass/);
- * // OK
- * ```
- *
- * If the values do not match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal
- * to the value of the `message` parameter. If the `message` parameter is
- * undefined, a default error message is assigned. If the `message` parameter is an
- * instance of an [Error](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
- * @since v13.6.0, v12.16.0
- */
- function match(value: string, regExp: RegExp, message?: string | Error): void;
- /**
- * Expects the `string` input not to match the regular expression.
- *
- * ```js
- * import assert from 'node:assert/strict';
- *
- * assert.doesNotMatch('I will fail', /fail/);
- * // AssertionError [ERR_ASSERTION]: The input was expected to not match the ...
- *
- * assert.doesNotMatch(123, /pass/);
- * // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string.
- *
- * assert.doesNotMatch('I will pass', /different/);
- * // OK
- * ```
- *
- * If the values do match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal
- * to the value of the `message` parameter. If the `message` parameter is
- * undefined, a default error message is assigned. If the `message` parameter is an
- * instance of an [Error](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
- * @since v13.6.0, v12.16.0
- */
- function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
- /**
- * Tests for partial deep equality between the `actual` and `expected` parameters.
- * "Deep" equality means that the enumerable "own" properties of child objects
- * are recursively evaluated also by the following rules. "Partial" equality means
- * that only properties that exist on the `expected` parameter are going to be
- * compared.
- *
- * This method always passes the same test cases as `assert.deepStrictEqual()`,
- * behaving as a super set of it.
- * @since v22.13.0
- */
- function partialDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
- /**
- * In strict assertion mode, non-strict methods behave like their corresponding strict methods. For example,
- * {@link deepEqual} will behave like {@link deepStrictEqual}.
- *
- * In strict assertion mode, error messages for objects display a diff. In legacy assertion mode, error
- * messages for objects display the objects, often truncated.
- *
- * To use strict assertion mode:
- *
- * ```js
- * import { strict as assert } from 'node:assert';
- * import assert from 'node:assert/strict';
- * ```
- *
- * Example error diff:
- *
- * ```js
- * import { strict as assert } from 'node:assert';
- *
- * assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);
- * // AssertionError: Expected inputs to be strictly deep-equal:
- * // + actual - expected ... Lines skipped
- * //
- * // [
- * // [
- * // ...
- * // 2,
- * // + 3
- * // - '3'
- * // ],
- * // ...
- * // 5
- * // ]
- * ```
- *
- * To deactivate the colors, use the `NO_COLOR` or `NODE_DISABLE_COLORS` environment variables. This will also
- * deactivate the colors in the REPL. For more on color support in terminal environments, read the tty
- * `getColorDepth()` documentation.
- *
- * @since v15.0.0, v13.9.0, v12.16.2, v9.9.0
- */
- namespace strict {
- type AssertionError = assert.AssertionError;
- type AssertPredicate = assert.AssertPredicate;
- type CallTrackerCall = assert.CallTrackerCall;
- type CallTrackerReportInformation = assert.CallTrackerReportInformation;
- }
- const strict:
- & Omit<
- typeof assert,
- | "equal"
- | "notEqual"
- | "deepEqual"
- | "notDeepEqual"
- | "ok"
- | "strictEqual"
- | "deepStrictEqual"
- | "ifError"
- | "strict"
- | "AssertionError"
- >
- & {
- (value: unknown, message?: string | Error): asserts value;
- equal: typeof strictEqual;
- notEqual: typeof notStrictEqual;
- deepEqual: typeof deepStrictEqual;
- notDeepEqual: typeof notDeepStrictEqual;
- // Mapped types and assertion functions are incompatible?
- // TS2775: Assertions require every name in the call target
- // to be declared with an explicit type annotation.
- ok: typeof ok;
- strictEqual: typeof strictEqual;
- deepStrictEqual: typeof deepStrictEqual;
- ifError: typeof ifError;
- strict: typeof strict;
- AssertionError: typeof AssertionError;
- };
- }
- export = assert;
-}
-declare module "node:assert" {
- import assert = require("assert");
- export = assert;
-}
diff --git a/node_modules/@types/node/assert/strict.d.ts b/node_modules/@types/node/assert/strict.d.ts
deleted file mode 100644
index f333913..0000000
--- a/node_modules/@types/node/assert/strict.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-declare module "assert/strict" {
- import { strict } from "node:assert";
- export = strict;
-}
-declare module "node:assert/strict" {
- import { strict } from "node:assert";
- export = strict;
-}
diff --git a/node_modules/@types/node/async_hooks.d.ts b/node_modules/@types/node/async_hooks.d.ts
deleted file mode 100644
index 2377689..0000000
--- a/node_modules/@types/node/async_hooks.d.ts
+++ /dev/null
@@ -1,623 +0,0 @@
-/**
- * We strongly discourage the use of the `async_hooks` API.
- * Other APIs that can cover most of its use cases include:
- *
- * * [`AsyncLocalStorage`](https://nodejs.org/docs/latest-v24.x/api/async_context.html#class-asynclocalstorage) tracks async context
- * * [`process.getActiveResourcesInfo()`](https://nodejs.org/docs/latest-v24.x/api/process.html#processgetactiveresourcesinfo) tracks active resources
- *
- * The `node:async_hooks` module provides an API to track asynchronous resources.
- * It can be accessed using:
- *
- * ```js
- * import async_hooks from 'node:async_hooks';
- * ```
- * @experimental
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/async_hooks.js)
- */
-declare module "async_hooks" {
- /**
- * ```js
- * import { executionAsyncId } from 'node:async_hooks';
- * import fs from 'node:fs';
- *
- * console.log(executionAsyncId()); // 1 - bootstrap
- * const path = '.';
- * fs.open(path, 'r', (err, fd) => {
- * console.log(executionAsyncId()); // 6 - open()
- * });
- * ```
- *
- * The ID returned from `executionAsyncId()` is related to execution timing, not
- * causality (which is covered by `triggerAsyncId()`):
- *
- * ```js
- * const server = net.createServer((conn) => {
- * // Returns the ID of the server, not of the new connection, because the
- * // callback runs in the execution scope of the server's MakeCallback().
- * async_hooks.executionAsyncId();
- *
- * }).listen(port, () => {
- * // Returns the ID of a TickObject (process.nextTick()) because all
- * // callbacks passed to .listen() are wrapped in a nextTick().
- * async_hooks.executionAsyncId();
- * });
- * ```
- *
- * Promise contexts may not get precise `executionAsyncIds` by default.
- * See the section on [promise execution tracking](https://nodejs.org/docs/latest-v24.x/api/async_hooks.html#promise-execution-tracking).
- * @since v8.1.0
- * @return The `asyncId` of the current execution context. Useful to track when something calls.
- */
- function executionAsyncId(): number;
- /**
- * Resource objects returned by `executionAsyncResource()` are most often internal
- * Node.js handle objects with undocumented APIs. Using any functions or properties
- * on the object is likely to crash your application and should be avoided.
- *
- * Using `executionAsyncResource()` in the top-level execution context will
- * return an empty object as there is no handle or request object to use,
- * but having an object representing the top-level can be helpful.
- *
- * ```js
- * import { open } from 'node:fs';
- * import { executionAsyncId, executionAsyncResource } from 'node:async_hooks';
- *
- * console.log(executionAsyncId(), executionAsyncResource()); // 1 {}
- * open(new URL(import.meta.url), 'r', (err, fd) => {
- * console.log(executionAsyncId(), executionAsyncResource()); // 7 FSReqWrap
- * });
- * ```
- *
- * This can be used to implement continuation local storage without the
- * use of a tracking `Map` to store the metadata:
- *
- * ```js
- * import { createServer } from 'node:http';
- * import {
- * executionAsyncId,
- * executionAsyncResource,
- * createHook,
- * } from 'node:async_hooks';
- * const sym = Symbol('state'); // Private symbol to avoid pollution
- *
- * createHook({
- * init(asyncId, type, triggerAsyncId, resource) {
- * const cr = executionAsyncResource();
- * if (cr) {
- * resource[sym] = cr[sym];
- * }
- * },
- * }).enable();
- *
- * const server = createServer((req, res) => {
- * executionAsyncResource()[sym] = { state: req.url };
- * setTimeout(function() {
- * res.end(JSON.stringify(executionAsyncResource()[sym]));
- * }, 100);
- * }).listen(3000);
- * ```
- * @since v13.9.0, v12.17.0
- * @return The resource representing the current execution. Useful to store data within the resource.
- */
- function executionAsyncResource(): object;
- /**
- * ```js
- * const server = net.createServer((conn) => {
- * // The resource that caused (or triggered) this callback to be called
- * // was that of the new connection. Thus the return value of triggerAsyncId()
- * // is the asyncId of "conn".
- * async_hooks.triggerAsyncId();
- *
- * }).listen(port, () => {
- * // Even though all callbacks passed to .listen() are wrapped in a nextTick()
- * // the callback itself exists because the call to the server's .listen()
- * // was made. So the return value would be the ID of the server.
- * async_hooks.triggerAsyncId();
- * });
- * ```
- *
- * Promise contexts may not get valid `triggerAsyncId`s by default. See
- * the section on [promise execution tracking](https://nodejs.org/docs/latest-v24.x/api/async_hooks.html#promise-execution-tracking).
- * @return The ID of the resource responsible for calling the callback that is currently being executed.
- */
- function triggerAsyncId(): number;
- interface HookCallbacks {
- /**
- * Called when a class is constructed that has the possibility to emit an asynchronous event.
- * @param asyncId A unique ID for the async resource
- * @param type The type of the async resource
- * @param triggerAsyncId The unique ID of the async resource in whose execution context this async resource was created
- * @param resource Reference to the resource representing the async operation, needs to be released during destroy
- */
- init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;
- /**
- * When an asynchronous operation is initiated or completes a callback is called to notify the user.
- * The before callback is called just before said callback is executed.
- * @param asyncId the unique identifier assigned to the resource about to execute the callback.
- */
- before?(asyncId: number): void;
- /**
- * Called immediately after the callback specified in `before` is completed.
- *
- * If an uncaught exception occurs during execution of the callback, then `after` will run after the `'uncaughtException'` event is emitted or a `domain`'s handler runs.
- * @param asyncId the unique identifier assigned to the resource which has executed the callback.
- */
- after?(asyncId: number): void;
- /**
- * Called when a promise has resolve() called. This may not be in the same execution id
- * as the promise itself.
- * @param asyncId the unique id for the promise that was resolve()d.
- */
- promiseResolve?(asyncId: number): void;
- /**
- * Called after the resource corresponding to asyncId is destroyed
- * @param asyncId a unique ID for the async resource
- */
- destroy?(asyncId: number): void;
- }
- interface AsyncHook {
- /**
- * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.
- */
- enable(): this;
- /**
- * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.
- */
- disable(): this;
- }
- /**
- * Registers functions to be called for different lifetime events of each async
- * operation.
- *
- * The callbacks `init()`/`before()`/`after()`/`destroy()` are called for the
- * respective asynchronous event during a resource's lifetime.
- *
- * All callbacks are optional. For example, if only resource cleanup needs to
- * be tracked, then only the `destroy` callback needs to be passed. The
- * specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.
- *
- * ```js
- * import { createHook } from 'node:async_hooks';
- *
- * const asyncHook = createHook({
- * init(asyncId, type, triggerAsyncId, resource) { },
- * destroy(asyncId) { },
- * });
- * ```
- *
- * The callbacks will be inherited via the prototype chain:
- *
- * ```js
- * class MyAsyncCallbacks {
- * init(asyncId, type, triggerAsyncId, resource) { }
- * destroy(asyncId) {}
- * }
- *
- * class MyAddedCallbacks extends MyAsyncCallbacks {
- * before(asyncId) { }
- * after(asyncId) { }
- * }
- *
- * const asyncHook = async_hooks.createHook(new MyAddedCallbacks());
- * ```
- *
- * Because promises are asynchronous resources whose lifecycle is tracked
- * via the async hooks mechanism, the `init()`, `before()`, `after()`, and`destroy()` callbacks _must not_ be async functions that return promises.
- * @since v8.1.0
- * @param callbacks The `Hook Callbacks` to register
- * @return Instance used for disabling and enabling hooks
- */
- function createHook(callbacks: HookCallbacks): AsyncHook;
- interface AsyncResourceOptions {
- /**
- * The ID of the execution context that created this async event.
- * @default executionAsyncId()
- */
- triggerAsyncId?: number | undefined;
- /**
- * Disables automatic `emitDestroy` when the object is garbage collected.
- * This usually does not need to be set (even if `emitDestroy` is called
- * manually), unless the resource's `asyncId` is retrieved and the
- * sensitive API's `emitDestroy` is called with it.
- * @default false
- */
- requireManualDestroy?: boolean | undefined;
- }
- /**
- * The class `AsyncResource` is designed to be extended by the embedder's async
- * resources. Using this, users can easily trigger the lifetime events of their
- * own resources.
- *
- * The `init` hook will trigger when an `AsyncResource` is instantiated.
- *
- * The following is an overview of the `AsyncResource` API.
- *
- * ```js
- * import { AsyncResource, executionAsyncId } from 'node:async_hooks';
- *
- * // AsyncResource() is meant to be extended. Instantiating a
- * // new AsyncResource() also triggers init. If triggerAsyncId is omitted then
- * // async_hook.executionAsyncId() is used.
- * const asyncResource = new AsyncResource(
- * type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false },
- * );
- *
- * // Run a function in the execution context of the resource. This will
- * // * establish the context of the resource
- * // * trigger the AsyncHooks before callbacks
- * // * call the provided function `fn` with the supplied arguments
- * // * trigger the AsyncHooks after callbacks
- * // * restore the original execution context
- * asyncResource.runInAsyncScope(fn, thisArg, ...args);
- *
- * // Call AsyncHooks destroy callbacks.
- * asyncResource.emitDestroy();
- *
- * // Return the unique ID assigned to the AsyncResource instance.
- * asyncResource.asyncId();
- *
- * // Return the trigger ID for the AsyncResource instance.
- * asyncResource.triggerAsyncId();
- * ```
- */
- class AsyncResource {
- /**
- * AsyncResource() is meant to be extended. Instantiating a
- * new AsyncResource() also triggers init. If triggerAsyncId is omitted then
- * async_hook.executionAsyncId() is used.
- * @param type The type of async event.
- * @param triggerAsyncId The ID of the execution context that created
- * this async event (default: `executionAsyncId()`), or an
- * AsyncResourceOptions object (since v9.3.0)
- */
- constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions);
- /**
- * Binds the given function to the current execution context.
- * @since v14.8.0, v12.19.0
- * @param fn The function to bind to the current execution context.
- * @param type An optional name to associate with the underlying `AsyncResource`.
- */
- static bind any, ThisArg>(
- fn: Func,
- type?: string,
- thisArg?: ThisArg,
- ): Func;
- /**
- * Binds the given function to execute to this `AsyncResource`'s scope.
- * @since v14.8.0, v12.19.0
- * @param fn The function to bind to the current `AsyncResource`.
- */
- bind any>(fn: Func): Func;
- /**
- * Call the provided function with the provided arguments in the execution context
- * of the async resource. This will establish the context, trigger the AsyncHooks
- * before callbacks, call the function, trigger the AsyncHooks after callbacks, and
- * then restore the original execution context.
- * @since v9.6.0
- * @param fn The function to call in the execution context of this async resource.
- * @param thisArg The receiver to be used for the function call.
- * @param args Optional arguments to pass to the function.
- */
- runInAsyncScope(
- fn: (this: This, ...args: any[]) => Result,
- thisArg?: This,
- ...args: any[]
- ): Result;
- /**
- * Call all `destroy` hooks. This should only ever be called once. An error will
- * be thrown if it is called more than once. This **must** be manually called. If
- * the resource is left to be collected by the GC then the `destroy` hooks will
- * never be called.
- * @return A reference to `asyncResource`.
- */
- emitDestroy(): this;
- /**
- * @return The unique `asyncId` assigned to the resource.
- */
- asyncId(): number;
- /**
- * @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.
- */
- triggerAsyncId(): number;
- }
- interface AsyncLocalStorageOptions {
- /**
- * The default value to be used when no store is provided.
- */
- defaultValue?: any;
- /**
- * A name for the `AsyncLocalStorage` value.
- */
- name?: string | undefined;
- }
- /**
- * This class creates stores that stay coherent through asynchronous operations.
- *
- * While you can create your own implementation on top of the `node:async_hooks` module, `AsyncLocalStorage` should be preferred as it is a performant and memory
- * safe implementation that involves significant optimizations that are non-obvious
- * to implement.
- *
- * The following example uses `AsyncLocalStorage` to build a simple logger
- * that assigns IDs to incoming HTTP requests and includes them in messages
- * logged within each request.
- *
- * ```js
- * import http from 'node:http';
- * import { AsyncLocalStorage } from 'node:async_hooks';
- *
- * const asyncLocalStorage = new AsyncLocalStorage();
- *
- * function logWithId(msg) {
- * const id = asyncLocalStorage.getStore();
- * console.log(`${id !== undefined ? id : '-'}:`, msg);
- * }
- *
- * let idSeq = 0;
- * http.createServer((req, res) => {
- * asyncLocalStorage.run(idSeq++, () => {
- * logWithId('start');
- * // Imagine any chain of async operations here
- * setImmediate(() => {
- * logWithId('finish');
- * res.end();
- * });
- * });
- * }).listen(8080);
- *
- * http.get('http://localhost:8080');
- * http.get('http://localhost:8080');
- * // Prints:
- * // 0: start
- * // 0: finish
- * // 1: start
- * // 1: finish
- * ```
- *
- * Each instance of `AsyncLocalStorage` maintains an independent storage context.
- * Multiple instances can safely exist simultaneously without risk of interfering
- * with each other's data.
- * @since v13.10.0, v12.17.0
- */
- class AsyncLocalStorage {
- /**
- * Creates a new instance of `AsyncLocalStorage`. Store is only provided within a
- * `run()` call or after an `enterWith()` call.
- */
- constructor(options?: AsyncLocalStorageOptions);
- /**
- * Binds the given function to the current execution context.
- * @since v19.8.0
- * @param fn The function to bind to the current execution context.
- * @return A new function that calls `fn` within the captured execution context.
- */
- static bind any>(fn: Func): Func;
- /**
- * Captures the current execution context and returns a function that accepts a
- * function as an argument. Whenever the returned function is called, it
- * calls the function passed to it within the captured context.
- *
- * ```js
- * const asyncLocalStorage = new AsyncLocalStorage();
- * const runInAsyncScope = asyncLocalStorage.run(123, () => AsyncLocalStorage.snapshot());
- * const result = asyncLocalStorage.run(321, () => runInAsyncScope(() => asyncLocalStorage.getStore()));
- * console.log(result); // returns 123
- * ```
- *
- * AsyncLocalStorage.snapshot() can replace the use of AsyncResource for simple
- * async context tracking purposes, for example:
- *
- * ```js
- * class Foo {
- * #runInAsyncScope = AsyncLocalStorage.snapshot();
- *
- * get() { return this.#runInAsyncScope(() => asyncLocalStorage.getStore()); }
- * }
- *
- * const foo = asyncLocalStorage.run(123, () => new Foo());
- * console.log(asyncLocalStorage.run(321, () => foo.get())); // returns 123
- * ```
- * @since v19.8.0
- * @return A new function with the signature `(fn: (...args) : R, ...args) : R`.
- */
- static snapshot(): (fn: (...args: TArgs) => R, ...args: TArgs) => R;
- /**
- * Disables the instance of `AsyncLocalStorage`. All subsequent calls
- * to `asyncLocalStorage.getStore()` will return `undefined` until `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
- *
- * When calling `asyncLocalStorage.disable()`, all current contexts linked to the
- * instance will be exited.
- *
- * Calling `asyncLocalStorage.disable()` is required before the `asyncLocalStorage` can be garbage collected. This does not apply to stores
- * provided by the `asyncLocalStorage`, as those objects are garbage collected
- * along with the corresponding async resources.
- *
- * Use this method when the `asyncLocalStorage` is not in use anymore
- * in the current process.
- * @since v13.10.0, v12.17.0
- * @experimental
- */
- disable(): void;
- /**
- * Returns the current store.
- * If called outside of an asynchronous context initialized by
- * calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it
- * returns `undefined`.
- * @since v13.10.0, v12.17.0
- */
- getStore(): T | undefined;
- /**
- * The name of the `AsyncLocalStorage` instance if provided.
- * @since v24.0.0
- */
- readonly name: string;
- /**
- * Runs a function synchronously within a context and returns its
- * return value. The store is not accessible outside of the callback function.
- * The store is accessible to any asynchronous operations created within the
- * callback.
- *
- * The optional `args` are passed to the callback function.
- *
- * If the callback function throws an error, the error is thrown by `run()` too.
- * The stacktrace is not impacted by this call and the context is exited.
- *
- * Example:
- *
- * ```js
- * const store = { id: 2 };
- * try {
- * asyncLocalStorage.run(store, () => {
- * asyncLocalStorage.getStore(); // Returns the store object
- * setTimeout(() => {
- * asyncLocalStorage.getStore(); // Returns the store object
- * }, 200);
- * throw new Error();
- * });
- * } catch (e) {
- * asyncLocalStorage.getStore(); // Returns undefined
- * // The error will be caught here
- * }
- * ```
- * @since v13.10.0, v12.17.0
- */
- run(store: T, callback: () => R): R;
- run(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;
- /**
- * Runs a function synchronously outside of a context and returns its
- * return value. The store is not accessible within the callback function or
- * the asynchronous operations created within the callback. Any `getStore()` call done within the callback function will always return `undefined`.
- *
- * The optional `args` are passed to the callback function.
- *
- * If the callback function throws an error, the error is thrown by `exit()` too.
- * The stacktrace is not impacted by this call and the context is re-entered.
- *
- * Example:
- *
- * ```js
- * // Within a call to run
- * try {
- * asyncLocalStorage.getStore(); // Returns the store object or value
- * asyncLocalStorage.exit(() => {
- * asyncLocalStorage.getStore(); // Returns undefined
- * throw new Error();
- * });
- * } catch (e) {
- * asyncLocalStorage.getStore(); // Returns the same object or value
- * // The error will be caught here
- * }
- * ```
- * @since v13.10.0, v12.17.0
- * @experimental
- */
- exit(callback: (...args: TArgs) => R, ...args: TArgs): R;
- /**
- * Transitions into the context for the remainder of the current
- * synchronous execution and then persists the store through any following
- * asynchronous calls.
- *
- * Example:
- *
- * ```js
- * const store = { id: 1 };
- * // Replaces previous store with the given store object
- * asyncLocalStorage.enterWith(store);
- * asyncLocalStorage.getStore(); // Returns the store object
- * someAsyncOperation(() => {
- * asyncLocalStorage.getStore(); // Returns the same object
- * });
- * ```
- *
- * This transition will continue for the _entire_ synchronous execution.
- * This means that if, for example, the context is entered within an event
- * handler subsequent event handlers will also run within that context unless
- * specifically bound to another context with an `AsyncResource`. That is why `run()` should be preferred over `enterWith()` unless there are strong reasons
- * to use the latter method.
- *
- * ```js
- * const store = { id: 1 };
- *
- * emitter.on('my-event', () => {
- * asyncLocalStorage.enterWith(store);
- * });
- * emitter.on('my-event', () => {
- * asyncLocalStorage.getStore(); // Returns the same object
- * });
- *
- * asyncLocalStorage.getStore(); // Returns undefined
- * emitter.emit('my-event');
- * asyncLocalStorage.getStore(); // Returns the same object
- * ```
- * @since v13.11.0, v12.17.0
- * @experimental
- */
- enterWith(store: T): void;
- }
- /**
- * @since v17.2.0, v16.14.0
- * @return A map of provider types to the corresponding numeric id.
- * This map contains all the event types that might be emitted by the `async_hooks.init()` event.
- */
- namespace asyncWrapProviders {
- const NONE: number;
- const DIRHANDLE: number;
- const DNSCHANNEL: number;
- const ELDHISTOGRAM: number;
- const FILEHANDLE: number;
- const FILEHANDLECLOSEREQ: number;
- const FIXEDSIZEBLOBCOPY: number;
- const FSEVENTWRAP: number;
- const FSREQCALLBACK: number;
- const FSREQPROMISE: number;
- const GETADDRINFOREQWRAP: number;
- const GETNAMEINFOREQWRAP: number;
- const HEAPSNAPSHOT: number;
- const HTTP2SESSION: number;
- const HTTP2STREAM: number;
- const HTTP2PING: number;
- const HTTP2SETTINGS: number;
- const HTTPINCOMINGMESSAGE: number;
- const HTTPCLIENTREQUEST: number;
- const JSSTREAM: number;
- const JSUDPWRAP: number;
- const MESSAGEPORT: number;
- const PIPECONNECTWRAP: number;
- const PIPESERVERWRAP: number;
- const PIPEWRAP: number;
- const PROCESSWRAP: number;
- const PROMISE: number;
- const QUERYWRAP: number;
- const SHUTDOWNWRAP: number;
- const SIGNALWRAP: number;
- const STATWATCHER: number;
- const STREAMPIPE: number;
- const TCPCONNECTWRAP: number;
- const TCPSERVERWRAP: number;
- const TCPWRAP: number;
- const TTYWRAP: number;
- const UDPSENDWRAP: number;
- const UDPWRAP: number;
- const SIGINTWATCHDOG: number;
- const WORKER: number;
- const WORKERHEAPSNAPSHOT: number;
- const WRITEWRAP: number;
- const ZLIB: number;
- const CHECKPRIMEREQUEST: number;
- const PBKDF2REQUEST: number;
- const KEYPAIRGENREQUEST: number;
- const KEYGENREQUEST: number;
- const KEYEXPORTREQUEST: number;
- const CIPHERREQUEST: number;
- const DERIVEBITSREQUEST: number;
- const HASHREQUEST: number;
- const RANDOMBYTESREQUEST: number;
- const RANDOMPRIMEREQUEST: number;
- const SCRYPTREQUEST: number;
- const SIGNREQUEST: number;
- const TLSWRAP: number;
- const VERIFYREQUEST: number;
- }
-}
-declare module "node:async_hooks" {
- export * from "async_hooks";
-}
diff --git a/node_modules/@types/node/buffer.buffer.d.ts b/node_modules/@types/node/buffer.buffer.d.ts
deleted file mode 100644
index b22f83a..0000000
--- a/node_modules/@types/node/buffer.buffer.d.ts
+++ /dev/null
@@ -1,463 +0,0 @@
-declare module "buffer" {
- type ImplicitArrayBuffer> = T extends
- { valueOf(): infer V extends ArrayBufferLike } ? V : T;
- global {
- interface BufferConstructor {
- // see buffer.d.ts for implementation shared with all TypeScript versions
-
- /**
- * Allocates a new buffer containing the given {str}.
- *
- * @param str String to store in buffer.
- * @param encoding encoding to use, optional. Default is 'utf8'
- * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead.
- */
- new(str: string, encoding?: BufferEncoding): Buffer;
- /**
- * Allocates a new buffer of {size} octets.
- *
- * @param size count of octets to allocate.
- * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`).
- */
- new(size: number): Buffer;
- /**
- * Allocates a new buffer containing the given {array} of octets.
- *
- * @param array The octets to store.
- * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
- */
- new(array: ArrayLike): Buffer;
- /**
- * Produces a Buffer backed by the same allocated memory as
- * the given {ArrayBuffer}/{SharedArrayBuffer}.
- *
- * @param arrayBuffer The ArrayBuffer with which to share memory.
- * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead.
- */
- new(arrayBuffer: TArrayBuffer): Buffer;
- /**
- * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`.
- * Array entries outside that range will be truncated to fit into it.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Creates a new Buffer containing the UTF-8 bytes of the string 'buffer'.
- * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
- * ```
- *
- * If `array` is an `Array`-like object (that is, one with a `length` property of
- * type `number`), it is treated as if it is an array, unless it is a `Buffer` or
- * a `Uint8Array`. This means all other `TypedArray` variants get treated as an
- * `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use
- * `Buffer.copyBytesFrom()`.
- *
- * A `TypeError` will be thrown if `array` is not an `Array` or another type
- * appropriate for `Buffer.from()` variants.
- *
- * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal
- * `Buffer` pool like `Buffer.allocUnsafe()` does.
- * @since v5.10.0
- */
- from(array: WithImplicitCoercion>): Buffer;
- /**
- * This creates a view of the `ArrayBuffer` without copying the underlying
- * memory. For example, when passed a reference to the `.buffer` property of a
- * `TypedArray` instance, the newly created `Buffer` will share the same
- * allocated memory as the `TypedArray`'s underlying `ArrayBuffer`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const arr = new Uint16Array(2);
- *
- * arr[0] = 5000;
- * arr[1] = 4000;
- *
- * // Shares memory with `arr`.
- * const buf = Buffer.from(arr.buffer);
- *
- * console.log(buf);
- * // Prints:
- *
- * // Changing the original Uint16Array changes the Buffer also.
- * arr[1] = 6000;
- *
- * console.log(buf);
- * // Prints:
- * ```
- *
- * The optional `byteOffset` and `length` arguments specify a memory range within
- * the `arrayBuffer` that will be shared by the `Buffer`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const ab = new ArrayBuffer(10);
- * const buf = Buffer.from(ab, 0, 2);
- *
- * console.log(buf.length);
- * // Prints: 2
- * ```
- *
- * A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a
- * `SharedArrayBuffer` or another type appropriate for `Buffer.from()`
- * variants.
- *
- * It is important to remember that a backing `ArrayBuffer` can cover a range
- * of memory that extends beyond the bounds of a `TypedArray` view. A new
- * `Buffer` created using the `buffer` property of a `TypedArray` may extend
- * beyond the range of the `TypedArray`:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements
- * const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements
- * console.log(arrA.buffer === arrB.buffer); // true
- *
- * const buf = Buffer.from(arrB.buffer);
- * console.log(buf);
- * // Prints:
- * ```
- * @since v5.10.0
- * @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the
- * `.buffer` property of a `TypedArray`.
- * @param byteOffset Index of first byte to expose. **Default:** `0`.
- * @param length Number of bytes to expose. **Default:**
- * `arrayBuffer.byteLength - byteOffset`.
- */
- from>(
- arrayBuffer: TArrayBuffer,
- byteOffset?: number,
- length?: number,
- ): Buffer>;
- /**
- * Creates a new `Buffer` containing `string`. The `encoding` parameter identifies
- * the character encoding to be used when converting `string` into bytes.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from('this is a tést');
- * const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
- *
- * console.log(buf1.toString());
- * // Prints: this is a tést
- * console.log(buf2.toString());
- * // Prints: this is a tést
- * console.log(buf1.toString('latin1'));
- * // Prints: this is a tést
- * ```
- *
- * A `TypeError` will be thrown if `string` is not a string or another type
- * appropriate for `Buffer.from()` variants.
- *
- * `Buffer.from(string)` may also use the internal `Buffer` pool like
- * `Buffer.allocUnsafe()` does.
- * @since v5.10.0
- * @param string A string to encode.
- * @param encoding The encoding of `string`. **Default:** `'utf8'`.
- */
- from(string: WithImplicitCoercion, encoding?: BufferEncoding): Buffer;
- from(arrayOrString: WithImplicitCoercion | string>): Buffer;
- /**
- * Creates a new Buffer using the passed {data}
- * @param values to create a new Buffer
- */
- of(...items: number[]): Buffer;
- /**
- * Returns a new `Buffer` which is the result of concatenating all the `Buffer` instances in the `list` together.
- *
- * If the list has no items, or if the `totalLength` is 0, then a new zero-length `Buffer` is returned.
- *
- * If `totalLength` is not provided, it is calculated from the `Buffer` instances
- * in `list` by adding their lengths.
- *
- * If `totalLength` is provided, it is coerced to an unsigned integer. If the
- * combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is
- * truncated to `totalLength`. If the combined length of the `Buffer`s in `list` is
- * less than `totalLength`, the remaining space is filled with zeros.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Create a single `Buffer` from a list of three `Buffer` instances.
- *
- * const buf1 = Buffer.alloc(10);
- * const buf2 = Buffer.alloc(14);
- * const buf3 = Buffer.alloc(18);
- * const totalLength = buf1.length + buf2.length + buf3.length;
- *
- * console.log(totalLength);
- * // Prints: 42
- *
- * const bufA = Buffer.concat([buf1, buf2, buf3], totalLength);
- *
- * console.log(bufA);
- * // Prints:
- * console.log(bufA.length);
- * // Prints: 42
- * ```
- *
- * `Buffer.concat()` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does.
- * @since v0.7.11
- * @param list List of `Buffer` or {@link Uint8Array} instances to concatenate.
- * @param totalLength Total length of the `Buffer` instances in `list` when concatenated.
- */
- concat(list: readonly Uint8Array[], totalLength?: number): Buffer;
- /**
- * Copies the underlying memory of `view` into a new `Buffer`.
- *
- * ```js
- * const u16 = new Uint16Array([0, 0xffff]);
- * const buf = Buffer.copyBytesFrom(u16, 1, 1);
- * u16[1] = 0;
- * console.log(buf.length); // 2
- * console.log(buf[0]); // 255
- * console.log(buf[1]); // 255
- * ```
- * @since v19.8.0
- * @param view The {TypedArray} to copy.
- * @param [offset=0] The starting offset within `view`.
- * @param [length=view.length - offset] The number of elements from `view` to copy.
- */
- copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer;
- /**
- * Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the`Buffer` will be zero-filled.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.alloc(5);
- *
- * console.log(buf);
- * // Prints:
- * ```
- *
- * If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown.
- *
- * If `fill` is specified, the allocated `Buffer` will be initialized by calling `buf.fill(fill)`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.alloc(5, 'a');
- *
- * console.log(buf);
- * // Prints:
- * ```
- *
- * If both `fill` and `encoding` are specified, the allocated `Buffer` will be
- * initialized by calling `buf.fill(fill, encoding)`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
- *
- * console.log(buf);
- * // Prints:
- * ```
- *
- * Calling `Buffer.alloc()` can be measurably slower than the alternative `Buffer.allocUnsafe()` but ensures that the newly created `Buffer` instance
- * contents will never contain sensitive data from previous allocations, including
- * data that might not have been allocated for `Buffer`s.
- *
- * A `TypeError` will be thrown if `size` is not a number.
- * @since v5.10.0
- * @param size The desired length of the new `Buffer`.
- * @param [fill=0] A value to pre-fill the new `Buffer` with.
- * @param [encoding='utf8'] If `fill` is a string, this is its encoding.
- */
- alloc(size: number, fill?: string | Uint8Array | number, encoding?: BufferEncoding): Buffer;
- /**
- * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown.
- *
- * The underlying memory for `Buffer` instances created in this way is _not_
- * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `Buffer.alloc()` instead to initialize`Buffer` instances with zeroes.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(10);
- *
- * console.log(buf);
- * // Prints (contents may vary):
- *
- * buf.fill(0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- *
- * A `TypeError` will be thrown if `size` is not a number.
- *
- * The `Buffer` module pre-allocates an internal `Buffer` instance of
- * size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
- * and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
- *
- * Use of this pre-allocated internal memory pool is a key difference between
- * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
- * Specifically, `Buffer.alloc(size, fill)` will _never_ use the internal `Buffer`pool, while `Buffer.allocUnsafe(size).fill(fill)`_will_ use the internal`Buffer` pool if `size` is less
- * than or equal to half `Buffer.poolSize`. The
- * difference is subtle but can be important when an application requires the
- * additional performance that `Buffer.allocUnsafe()` provides.
- * @since v5.10.0
- * @param size The desired length of the new `Buffer`.
- */
- allocUnsafe(size: number): Buffer;
- /**
- * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. A zero-length `Buffer` is created if
- * `size` is 0.
- *
- * The underlying memory for `Buffer` instances created in this way is _not_
- * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `buf.fill(0)` to initialize
- * such `Buffer` instances with zeroes.
- *
- * When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,
- * allocations under 4 KiB are sliced from a single pre-allocated `Buffer`. This
- * allows applications to avoid the garbage collection overhead of creating many
- * individually allocated `Buffer` instances. This approach improves both
- * performance and memory usage by eliminating the need to track and clean up as
- * many individual `ArrayBuffer` objects.
- *
- * However, in the case where a developer may need to retain a small chunk of
- * memory from a pool for an indeterminate amount of time, it may be appropriate
- * to create an un-pooled `Buffer` instance using `Buffer.allocUnsafeSlow()` and
- * then copying out the relevant bits.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Need to keep around a few small chunks of memory.
- * const store = [];
- *
- * socket.on('readable', () => {
- * let data;
- * while (null !== (data = readable.read())) {
- * // Allocate for retained data.
- * const sb = Buffer.allocUnsafeSlow(10);
- *
- * // Copy the data into the new allocation.
- * data.copy(sb, 0, 0, 10);
- *
- * store.push(sb);
- * }
- * });
- * ```
- *
- * A `TypeError` will be thrown if `size` is not a number.
- * @since v5.12.0
- * @param size The desired length of the new `Buffer`.
- */
- allocUnsafeSlow(size: number): Buffer;
- }
- interface Buffer extends Uint8Array {
- // see buffer.d.ts for implementation shared with all TypeScript versions
-
- /**
- * Returns a new `Buffer` that references the same memory as the original, but
- * offset and cropped by the `start` and `end` indices.
- *
- * This method is not compatible with the `Uint8Array.prototype.slice()`,
- * which is a superclass of `Buffer`. To copy the slice, use`Uint8Array.prototype.slice()`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from('buffer');
- *
- * const copiedBuf = Uint8Array.prototype.slice.call(buf);
- * copiedBuf[0]++;
- * console.log(copiedBuf.toString());
- * // Prints: cuffer
- *
- * console.log(buf.toString());
- * // Prints: buffer
- *
- * // With buf.slice(), the original buffer is modified.
- * const notReallyCopiedBuf = buf.slice();
- * notReallyCopiedBuf[0]++;
- * console.log(notReallyCopiedBuf.toString());
- * // Prints: cuffer
- * console.log(buf.toString());
- * // Also prints: cuffer (!)
- * ```
- * @since v0.3.0
- * @deprecated Use `subarray` instead.
- * @param [start=0] Where the new `Buffer` will start.
- * @param [end=buf.length] Where the new `Buffer` will end (not inclusive).
- */
- slice(start?: number, end?: number): Buffer;
- /**
- * Returns a new `Buffer` that references the same memory as the original, but
- * offset and cropped by the `start` and `end` indices.
- *
- * Specifying `end` greater than `buf.length` will return the same result as
- * that of `end` equal to `buf.length`.
- *
- * This method is inherited from [`TypedArray.prototype.subarray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray).
- *
- * Modifying the new `Buffer` slice will modify the memory in the original `Buffer`because the allocated memory of the two objects overlap.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Create a `Buffer` with the ASCII alphabet, take a slice, and modify one byte
- * // from the original `Buffer`.
- *
- * const buf1 = Buffer.allocUnsafe(26);
- *
- * for (let i = 0; i < 26; i++) {
- * // 97 is the decimal ASCII value for 'a'.
- * buf1[i] = i + 97;
- * }
- *
- * const buf2 = buf1.subarray(0, 3);
- *
- * console.log(buf2.toString('ascii', 0, buf2.length));
- * // Prints: abc
- *
- * buf1[0] = 33;
- *
- * console.log(buf2.toString('ascii', 0, buf2.length));
- * // Prints: !bc
- * ```
- *
- * Specifying negative indexes causes the slice to be generated relative to the
- * end of `buf` rather than the beginning.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from('buffer');
- *
- * console.log(buf.subarray(-6, -1).toString());
- * // Prints: buffe
- * // (Equivalent to buf.subarray(0, 5).)
- *
- * console.log(buf.subarray(-6, -2).toString());
- * // Prints: buff
- * // (Equivalent to buf.subarray(0, 4).)
- *
- * console.log(buf.subarray(-5, -2).toString());
- * // Prints: uff
- * // (Equivalent to buf.subarray(1, 4).)
- * ```
- * @since v3.0.0
- * @param [start=0] Where the new `Buffer` will start.
- * @param [end=buf.length] Where the new `Buffer` will end (not inclusive).
- */
- subarray(start?: number, end?: number): Buffer;
- }
- type NonSharedBuffer = Buffer;
- type AllowSharedBuffer = Buffer;
- }
- /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
- var SlowBuffer: {
- /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
- new(size: number): Buffer;
- prototype: Buffer;
- };
-}
diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts
deleted file mode 100644
index cbdf207..0000000
--- a/node_modules/@types/node/buffer.d.ts
+++ /dev/null
@@ -1,1930 +0,0 @@
-// If lib.dom.d.ts or lib.webworker.d.ts is loaded, then use the global types.
-// Otherwise, use the types from node.
-type _Blob = typeof globalThis extends { onmessage: any; Blob: any } ? {} : import("buffer").Blob;
-type _File = typeof globalThis extends { onmessage: any; File: any } ? {} : import("buffer").File;
-
-/**
- * `Buffer` objects are used to represent a fixed-length sequence of bytes. Many
- * Node.js APIs support `Buffer`s.
- *
- * The `Buffer` class is a subclass of JavaScript's [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) class and
- * extends it with methods that cover additional use cases. Node.js APIs accept
- * plain [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) s wherever `Buffer`s are supported as well.
- *
- * While the `Buffer` class is available within the global scope, it is still
- * recommended to explicitly reference it via an import or require statement.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Creates a zero-filled Buffer of length 10.
- * const buf1 = Buffer.alloc(10);
- *
- * // Creates a Buffer of length 10,
- * // filled with bytes which all have the value `1`.
- * const buf2 = Buffer.alloc(10, 1);
- *
- * // Creates an uninitialized buffer of length 10.
- * // This is faster than calling Buffer.alloc() but the returned
- * // Buffer instance might contain old data that needs to be
- * // overwritten using fill(), write(), or other functions that fill the Buffer's
- * // contents.
- * const buf3 = Buffer.allocUnsafe(10);
- *
- * // Creates a Buffer containing the bytes [1, 2, 3].
- * const buf4 = Buffer.from([1, 2, 3]);
- *
- * // Creates a Buffer containing the bytes [1, 1, 1, 1] – the entries
- * // are all truncated using `(value & 255)` to fit into the range 0–255.
- * const buf5 = Buffer.from([257, 257.5, -255, '1']);
- *
- * // Creates a Buffer containing the UTF-8-encoded bytes for the string 'tést':
- * // [0x74, 0xc3, 0xa9, 0x73, 0x74] (in hexadecimal notation)
- * // [116, 195, 169, 115, 116] (in decimal notation)
- * const buf6 = Buffer.from('tést');
- *
- * // Creates a Buffer containing the Latin-1 bytes [0x74, 0xe9, 0x73, 0x74].
- * const buf7 = Buffer.from('tést', 'latin1');
- * ```
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/buffer.js)
- */
-declare module "buffer" {
- import { BinaryLike } from "node:crypto";
- import { ReadableStream as WebReadableStream } from "node:stream/web";
- /**
- * This function returns `true` if `input` contains only valid UTF-8-encoded data,
- * including the case in which `input` is empty.
- *
- * Throws if the `input` is a detached array buffer.
- * @since v19.4.0, v18.14.0
- * @param input The input to validate.
- */
- export function isUtf8(input: Buffer | ArrayBuffer | NodeJS.TypedArray): boolean;
- /**
- * This function returns `true` if `input` contains only valid ASCII-encoded data,
- * including the case in which `input` is empty.
- *
- * Throws if the `input` is a detached array buffer.
- * @since v19.6.0, v18.15.0
- * @param input The input to validate.
- */
- export function isAscii(input: Buffer | ArrayBuffer | NodeJS.TypedArray): boolean;
- export let INSPECT_MAX_BYTES: number;
- export const kMaxLength: number;
- export const kStringMaxLength: number;
- export const constants: {
- MAX_LENGTH: number;
- MAX_STRING_LENGTH: number;
- };
- export type TranscodeEncoding =
- | "ascii"
- | "utf8"
- | "utf-8"
- | "utf16le"
- | "utf-16le"
- | "ucs2"
- | "ucs-2"
- | "latin1"
- | "binary";
- /**
- * Re-encodes the given `Buffer` or `Uint8Array` instance from one character
- * encoding to another. Returns a new `Buffer` instance.
- *
- * Throws if the `fromEnc` or `toEnc` specify invalid character encodings or if
- * conversion from `fromEnc` to `toEnc` is not permitted.
- *
- * Encodings supported by `buffer.transcode()` are: `'ascii'`, `'utf8'`, `'utf16le'`, `'ucs2'`, `'latin1'`, and `'binary'`.
- *
- * The transcoding process will use substitution characters if a given byte
- * sequence cannot be adequately represented in the target encoding. For instance:
- *
- * ```js
- * import { Buffer, transcode } from 'node:buffer';
- *
- * const newBuf = transcode(Buffer.from('€'), 'utf8', 'ascii');
- * console.log(newBuf.toString('ascii'));
- * // Prints: '?'
- * ```
- *
- * Because the Euro (`€`) sign is not representable in US-ASCII, it is replaced
- * with `?` in the transcoded `Buffer`.
- * @since v7.1.0
- * @param source A `Buffer` or `Uint8Array` instance.
- * @param fromEnc The current encoding.
- * @param toEnc To target encoding.
- */
- export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer;
- /**
- * Resolves a `'blob:nodedata:...'` an associated `Blob` object registered using
- * a prior call to `URL.createObjectURL()`.
- * @since v16.7.0
- * @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`.
- */
- export function resolveObjectURL(id: string): Blob | undefined;
- export { type AllowSharedBuffer, Buffer, type NonSharedBuffer };
- /**
- * @experimental
- */
- export interface BlobOptions {
- /**
- * One of either `'transparent'` or `'native'`. When set to `'native'`, line endings in string source parts
- * will be converted to the platform native line-ending as specified by `import { EOL } from 'node:os'`.
- */
- endings?: "transparent" | "native";
- /**
- * The Blob content-type. The intent is for `type` to convey
- * the MIME media type of the data, however no validation of the type format
- * is performed.
- */
- type?: string | undefined;
- }
- /**
- * A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) encapsulates immutable, raw data that can be safely shared across
- * multiple worker threads.
- * @since v15.7.0, v14.18.0
- */
- export class Blob {
- /**
- * The total size of the `Blob` in bytes.
- * @since v15.7.0, v14.18.0
- */
- readonly size: number;
- /**
- * The content-type of the `Blob`.
- * @since v15.7.0, v14.18.0
- */
- readonly type: string;
- /**
- * Creates a new `Blob` object containing a concatenation of the given sources.
- *
- * {ArrayBuffer}, {TypedArray}, {DataView}, and {Buffer} sources are copied into
- * the 'Blob' and can therefore be safely modified after the 'Blob' is created.
- *
- * String sources are also copied into the `Blob`.
- */
- constructor(sources: Array, options?: BlobOptions);
- /**
- * Returns a promise that fulfills with an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) containing a copy of
- * the `Blob` data.
- * @since v15.7.0, v14.18.0
- */
- arrayBuffer(): Promise;
- /**
- * The `blob.bytes()` method returns the byte of the `Blob` object as a `Promise`.
- *
- * ```js
- * const blob = new Blob(['hello']);
- * blob.bytes().then((bytes) => {
- * console.log(bytes); // Outputs: Uint8Array(5) [ 104, 101, 108, 108, 111 ]
- * });
- * ```
- */
- bytes(): Promise;
- /**
- * Creates and returns a new `Blob` containing a subset of this `Blob` objects
- * data. The original `Blob` is not altered.
- * @since v15.7.0, v14.18.0
- * @param start The starting index.
- * @param end The ending index.
- * @param type The content-type for the new `Blob`
- */
- slice(start?: number, end?: number, type?: string): Blob;
- /**
- * Returns a promise that fulfills with the contents of the `Blob` decoded as a
- * UTF-8 string.
- * @since v15.7.0, v14.18.0
- */
- text(): Promise;
- /**
- * Returns a new `ReadableStream` that allows the content of the `Blob` to be read.
- * @since v16.7.0
- */
- stream(): WebReadableStream;
- }
- export interface FileOptions {
- /**
- * One of either `'transparent'` or `'native'`. When set to `'native'`, line endings in string source parts will be
- * converted to the platform native line-ending as specified by `import { EOL } from 'node:os'`.
- */
- endings?: "native" | "transparent";
- /** The File content-type. */
- type?: string;
- /** The last modified date of the file. `Default`: Date.now(). */
- lastModified?: number;
- }
- /**
- * A [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) provides information about files.
- * @since v19.2.0, v18.13.0
- */
- export class File extends Blob {
- constructor(sources: Array, fileName: string, options?: FileOptions);
- /**
- * The name of the `File`.
- * @since v19.2.0, v18.13.0
- */
- readonly name: string;
- /**
- * The last modified date of the `File`.
- * @since v19.2.0, v18.13.0
- */
- readonly lastModified: number;
- }
- export import atob = globalThis.atob;
- export import btoa = globalThis.btoa;
- export type WithImplicitCoercion =
- | T
- | { valueOf(): T }
- | (T extends string ? { [Symbol.toPrimitive](hint: "string"): T } : never);
- global {
- namespace NodeJS {
- export { BufferEncoding };
- }
- // Buffer class
- type BufferEncoding =
- | "ascii"
- | "utf8"
- | "utf-8"
- | "utf16le"
- | "utf-16le"
- | "ucs2"
- | "ucs-2"
- | "base64"
- | "base64url"
- | "latin1"
- | "binary"
- | "hex";
- /**
- * Raw data is stored in instances of the Buffer class.
- * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.
- * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'base64url'|'binary'(deprecated)|'hex'
- */
- interface BufferConstructor {
- // see buffer.buffer.d.ts for implementation specific to TypeScript 5.7 and later
- // see ts5.6/buffer.buffer.d.ts for implementation specific to TypeScript 5.6 and earlier
-
- /**
- * Returns `true` if `obj` is a `Buffer`, `false` otherwise.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * Buffer.isBuffer(Buffer.alloc(10)); // true
- * Buffer.isBuffer(Buffer.from('foo')); // true
- * Buffer.isBuffer('a string'); // false
- * Buffer.isBuffer([]); // false
- * Buffer.isBuffer(new Uint8Array(1024)); // false
- * ```
- * @since v0.1.101
- */
- isBuffer(obj: any): obj is Buffer;
- /**
- * Returns `true` if `encoding` is the name of a supported character encoding,
- * or `false` otherwise.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * console.log(Buffer.isEncoding('utf8'));
- * // Prints: true
- *
- * console.log(Buffer.isEncoding('hex'));
- * // Prints: true
- *
- * console.log(Buffer.isEncoding('utf/8'));
- * // Prints: false
- *
- * console.log(Buffer.isEncoding(''));
- * // Prints: false
- * ```
- * @since v0.9.1
- * @param encoding A character encoding name to check.
- */
- isEncoding(encoding: string): encoding is BufferEncoding;
- /**
- * Returns the byte length of a string when encoded using `encoding`.
- * This is not the same as [`String.prototype.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length), which does not account
- * for the encoding that is used to convert the string into bytes.
- *
- * For `'base64'`, `'base64url'`, and `'hex'`, this function assumes valid input.
- * For strings that contain non-base64/hex-encoded data (e.g. whitespace), the
- * return value might be greater than the length of a `Buffer` created from the
- * string.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const str = '\u00bd + \u00bc = \u00be';
- *
- * console.log(`${str}: ${str.length} characters, ` +
- * `${Buffer.byteLength(str, 'utf8')} bytes`);
- * // Prints: ½ + ¼ = ¾: 9 characters, 12 bytes
- * ```
- *
- * When `string` is a
- * `Buffer`/[`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView)/[`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/-
- * Reference/Global_Objects/TypedArray)/[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)/[`SharedArrayBuffer`](https://develop-
- * er.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer), the byte length as reported by `.byteLength`is returned.
- * @since v0.1.90
- * @param string A value to calculate the length of.
- * @param [encoding='utf8'] If `string` is a string, this is its encoding.
- * @return The number of bytes contained within `string`.
- */
- byteLength(
- string: string | Buffer | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
- encoding?: BufferEncoding,
- ): number;
- /**
- * Compares `buf1` to `buf2`, typically for the purpose of sorting arrays of `Buffer` instances. This is equivalent to calling `buf1.compare(buf2)`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from('1234');
- * const buf2 = Buffer.from('0123');
- * const arr = [buf1, buf2];
- *
- * console.log(arr.sort(Buffer.compare));
- * // Prints: [ , ]
- * // (This result is equal to: [buf2, buf1].)
- * ```
- * @since v0.11.13
- * @return Either `-1`, `0`, or `1`, depending on the result of the comparison. See `compare` for details.
- */
- compare(buf1: Uint8Array, buf2: Uint8Array): -1 | 0 | 1;
- /**
- * This is the size (in bytes) of pre-allocated internal `Buffer` instances used
- * for pooling. This value may be modified.
- * @since v0.11.3
- */
- poolSize: number;
- }
- interface Buffer {
- // see buffer.buffer.d.ts for implementation specific to TypeScript 5.7 and later
- // see ts5.6/buffer.buffer.d.ts for implementation specific to TypeScript 5.6 and earlier
-
- /**
- * Writes `string` to `buf` at `offset` according to the character encoding in`encoding`. The `length` parameter is the number of bytes to write. If `buf` did
- * not contain enough space to fit the entire string, only part of `string` will be
- * written. However, partially encoded characters will not be written.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.alloc(256);
- *
- * const len = buf.write('\u00bd + \u00bc = \u00be', 0);
- *
- * console.log(`${len} bytes: ${buf.toString('utf8', 0, len)}`);
- * // Prints: 12 bytes: ½ + ¼ = ¾
- *
- * const buffer = Buffer.alloc(10);
- *
- * const length = buffer.write('abcd', 8);
- *
- * console.log(`${length} bytes: ${buffer.toString('utf8', 8, 10)}`);
- * // Prints: 2 bytes : ab
- * ```
- * @since v0.1.90
- * @param string String to write to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write `string`.
- * @param [length=buf.length - offset] Maximum number of bytes to write (written bytes will not exceed `buf.length - offset`).
- * @param [encoding='utf8'] The character encoding of `string`.
- * @return Number of bytes written.
- */
- write(string: string, encoding?: BufferEncoding): number;
- write(string: string, offset: number, encoding?: BufferEncoding): number;
- write(string: string, offset: number, length: number, encoding?: BufferEncoding): number;
- /**
- * Decodes `buf` to a string according to the specified character encoding in`encoding`. `start` and `end` may be passed to decode only a subset of `buf`.
- *
- * If `encoding` is `'utf8'` and a byte sequence in the input is not valid UTF-8,
- * then each invalid byte is replaced with the replacement character `U+FFFD`.
- *
- * The maximum length of a string instance (in UTF-16 code units) is available
- * as {@link constants.MAX_STRING_LENGTH}.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.allocUnsafe(26);
- *
- * for (let i = 0; i < 26; i++) {
- * // 97 is the decimal ASCII value for 'a'.
- * buf1[i] = i + 97;
- * }
- *
- * console.log(buf1.toString('utf8'));
- * // Prints: abcdefghijklmnopqrstuvwxyz
- * console.log(buf1.toString('utf8', 0, 5));
- * // Prints: abcde
- *
- * const buf2 = Buffer.from('tést');
- *
- * console.log(buf2.toString('hex'));
- * // Prints: 74c3a97374
- * console.log(buf2.toString('utf8', 0, 3));
- * // Prints: té
- * console.log(buf2.toString(undefined, 0, 3));
- * // Prints: té
- * ```
- * @since v0.1.90
- * @param [encoding='utf8'] The character encoding to use.
- * @param [start=0] The byte offset to start decoding at.
- * @param [end=buf.length] The byte offset to stop decoding at (not inclusive).
- */
- toString(encoding?: BufferEncoding, start?: number, end?: number): string;
- /**
- * Returns a JSON representation of `buf`. [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) implicitly calls
- * this function when stringifying a `Buffer` instance.
- *
- * `Buffer.from()` accepts objects in the format returned from this method.
- * In particular, `Buffer.from(buf.toJSON())` works like `Buffer.from(buf)`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);
- * const json = JSON.stringify(buf);
- *
- * console.log(json);
- * // Prints: {"type":"Buffer","data":[1,2,3,4,5]}
- *
- * const copy = JSON.parse(json, (key, value) => {
- * return value && value.type === 'Buffer' ?
- * Buffer.from(value) :
- * value;
- * });
- *
- * console.log(copy);
- * // Prints:
- * ```
- * @since v0.9.2
- */
- toJSON(): {
- type: "Buffer";
- data: number[];
- };
- /**
- * Returns `true` if both `buf` and `otherBuffer` have exactly the same bytes,`false` otherwise. Equivalent to `buf.compare(otherBuffer) === 0`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from('ABC');
- * const buf2 = Buffer.from('414243', 'hex');
- * const buf3 = Buffer.from('ABCD');
- *
- * console.log(buf1.equals(buf2));
- * // Prints: true
- * console.log(buf1.equals(buf3));
- * // Prints: false
- * ```
- * @since v0.11.13
- * @param otherBuffer A `Buffer` or {@link Uint8Array} with which to compare `buf`.
- */
- equals(otherBuffer: Uint8Array): boolean;
- /**
- * Compares `buf` with `target` and returns a number indicating whether `buf`comes before, after, or is the same as `target` in sort order.
- * Comparison is based on the actual sequence of bytes in each `Buffer`.
- *
- * * `0` is returned if `target` is the same as `buf`
- * * `1` is returned if `target` should come _before_`buf` when sorted.
- * * `-1` is returned if `target` should come _after_`buf` when sorted.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from('ABC');
- * const buf2 = Buffer.from('BCD');
- * const buf3 = Buffer.from('ABCD');
- *
- * console.log(buf1.compare(buf1));
- * // Prints: 0
- * console.log(buf1.compare(buf2));
- * // Prints: -1
- * console.log(buf1.compare(buf3));
- * // Prints: -1
- * console.log(buf2.compare(buf1));
- * // Prints: 1
- * console.log(buf2.compare(buf3));
- * // Prints: 1
- * console.log([buf1, buf2, buf3].sort(Buffer.compare));
- * // Prints: [ , , ]
- * // (This result is equal to: [buf1, buf3, buf2].)
- * ```
- *
- * The optional `targetStart`, `targetEnd`, `sourceStart`, and `sourceEnd` arguments can be used to limit the comparison to specific ranges within `target` and `buf` respectively.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]);
- * const buf2 = Buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]);
- *
- * console.log(buf1.compare(buf2, 5, 9, 0, 4));
- * // Prints: 0
- * console.log(buf1.compare(buf2, 0, 6, 4));
- * // Prints: -1
- * console.log(buf1.compare(buf2, 5, 6, 5));
- * // Prints: 1
- * ```
- *
- * `ERR_OUT_OF_RANGE` is thrown if `targetStart < 0`, `sourceStart < 0`, `targetEnd > target.byteLength`, or `sourceEnd > source.byteLength`.
- * @since v0.11.13
- * @param target A `Buffer` or {@link Uint8Array} with which to compare `buf`.
- * @param [targetStart=0] The offset within `target` at which to begin comparison.
- * @param [targetEnd=target.length] The offset within `target` at which to end comparison (not inclusive).
- * @param [sourceStart=0] The offset within `buf` at which to begin comparison.
- * @param [sourceEnd=buf.length] The offset within `buf` at which to end comparison (not inclusive).
- */
- compare(
- target: Uint8Array,
- targetStart?: number,
- targetEnd?: number,
- sourceStart?: number,
- sourceEnd?: number,
- ): -1 | 0 | 1;
- /**
- * Copies data from a region of `buf` to a region in `target`, even if the `target`memory region overlaps with `buf`.
- *
- * [`TypedArray.prototype.set()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set) performs the same operation, and is available
- * for all TypedArrays, including Node.js `Buffer`s, although it takes
- * different function arguments.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Create two `Buffer` instances.
- * const buf1 = Buffer.allocUnsafe(26);
- * const buf2 = Buffer.allocUnsafe(26).fill('!');
- *
- * for (let i = 0; i < 26; i++) {
- * // 97 is the decimal ASCII value for 'a'.
- * buf1[i] = i + 97;
- * }
- *
- * // Copy `buf1` bytes 16 through 19 into `buf2` starting at byte 8 of `buf2`.
- * buf1.copy(buf2, 8, 16, 20);
- * // This is equivalent to:
- * // buf2.set(buf1.subarray(16, 20), 8);
- *
- * console.log(buf2.toString('ascii', 0, 25));
- * // Prints: !!!!!!!!qrst!!!!!!!!!!!!!
- * ```
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Create a `Buffer` and copy data from one region to an overlapping region
- * // within the same `Buffer`.
- *
- * const buf = Buffer.allocUnsafe(26);
- *
- * for (let i = 0; i < 26; i++) {
- * // 97 is the decimal ASCII value for 'a'.
- * buf[i] = i + 97;
- * }
- *
- * buf.copy(buf, 0, 4, 10);
- *
- * console.log(buf.toString());
- * // Prints: efghijghijklmnopqrstuvwxyz
- * ```
- * @since v0.1.90
- * @param target A `Buffer` or {@link Uint8Array} to copy into.
- * @param [targetStart=0] The offset within `target` at which to begin writing.
- * @param [sourceStart=0] The offset within `buf` from which to begin copying.
- * @param [sourceEnd=buf.length] The offset within `buf` at which to stop copying (not inclusive).
- * @return The number of bytes copied.
- */
- copy(target: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian.
- *
- * `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(8);
- *
- * buf.writeBigInt64BE(0x0102030405060708n, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v12.0.0, v10.20.0
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.
- * @return `offset` plus the number of bytes written.
- */
- writeBigInt64BE(value: bigint, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian.
- *
- * `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(8);
- *
- * buf.writeBigInt64LE(0x0102030405060708n, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v12.0.0, v10.20.0
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.
- * @return `offset` plus the number of bytes written.
- */
- writeBigInt64LE(value: bigint, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian.
- *
- * This function is also available under the `writeBigUint64BE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(8);
- *
- * buf.writeBigUInt64BE(0xdecafafecacefaden, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v12.0.0, v10.20.0
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.
- * @return `offset` plus the number of bytes written.
- */
- writeBigUInt64BE(value: bigint, offset?: number): number;
- /**
- * @alias Buffer.writeBigUInt64BE
- * @since v14.10.0, v12.19.0
- */
- writeBigUint64BE(value: bigint, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(8);
- *
- * buf.writeBigUInt64LE(0xdecafafecacefaden, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- *
- * This function is also available under the `writeBigUint64LE` alias.
- * @since v12.0.0, v10.20.0
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`.
- * @return `offset` plus the number of bytes written.
- */
- writeBigUInt64LE(value: bigint, offset?: number): number;
- /**
- * @alias Buffer.writeBigUInt64LE
- * @since v14.10.0, v12.19.0
- */
- writeBigUint64LE(value: bigint, offset?: number): number;
- /**
- * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined
- * when `value` is anything other than an unsigned integer.
- *
- * This function is also available under the `writeUintLE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(6);
- *
- * buf.writeUIntLE(0x1234567890ab, 0, 6);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.
- * @return `offset` plus the number of bytes written.
- */
- writeUIntLE(value: number, offset: number, byteLength: number): number;
- /**
- * @alias Buffer.writeUIntLE
- * @since v14.9.0, v12.19.0
- */
- writeUintLE(value: number, offset: number, byteLength: number): number;
- /**
- * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined
- * when `value` is anything other than an unsigned integer.
- *
- * This function is also available under the `writeUintBE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(6);
- *
- * buf.writeUIntBE(0x1234567890ab, 0, 6);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.
- * @return `offset` plus the number of bytes written.
- */
- writeUIntBE(value: number, offset: number, byteLength: number): number;
- /**
- * @alias Buffer.writeUIntBE
- * @since v14.9.0, v12.19.0
- */
- writeUintBE(value: number, offset: number, byteLength: number): number;
- /**
- * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined
- * when `value` is anything other than a signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(6);
- *
- * buf.writeIntLE(0x1234567890ab, 0, 6);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.11.15
- * @param value Number to be written to `buf`.
- * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.
- * @return `offset` plus the number of bytes written.
- */
- writeIntLE(value: number, offset: number, byteLength: number): number;
- /**
- * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined when`value` is anything other than a
- * signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(6);
- *
- * buf.writeIntBE(0x1234567890ab, 0, 6);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.11.15
- * @param value Number to be written to `buf`.
- * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`.
- * @return `offset` plus the number of bytes written.
- */
- writeIntBE(value: number, offset: number, byteLength: number): number;
- /**
- * Reads an unsigned, big-endian 64-bit integer from `buf` at the specified`offset`.
- *
- * This function is also available under the `readBigUint64BE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);
- *
- * console.log(buf.readBigUInt64BE(0));
- * // Prints: 4294967295n
- * ```
- * @since v12.0.0, v10.20.0
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.
- */
- readBigUInt64BE(offset?: number): bigint;
- /**
- * @alias Buffer.readBigUInt64BE
- * @since v14.10.0, v12.19.0
- */
- readBigUint64BE(offset?: number): bigint;
- /**
- * Reads an unsigned, little-endian 64-bit integer from `buf` at the specified`offset`.
- *
- * This function is also available under the `readBigUint64LE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);
- *
- * console.log(buf.readBigUInt64LE(0));
- * // Prints: 18446744069414584320n
- * ```
- * @since v12.0.0, v10.20.0
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.
- */
- readBigUInt64LE(offset?: number): bigint;
- /**
- * @alias Buffer.readBigUInt64LE
- * @since v14.10.0, v12.19.0
- */
- readBigUint64LE(offset?: number): bigint;
- /**
- * Reads a signed, big-endian 64-bit integer from `buf` at the specified `offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed
- * values.
- * @since v12.0.0, v10.20.0
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.
- */
- readBigInt64BE(offset?: number): bigint;
- /**
- * Reads a signed, little-endian 64-bit integer from `buf` at the specified`offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed
- * values.
- * @since v12.0.0, v10.20.0
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`.
- */
- readBigInt64LE(offset?: number): bigint;
- /**
- * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned, little-endian integer supporting
- * up to 48 bits of accuracy.
- *
- * This function is also available under the `readUintLE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
- *
- * console.log(buf.readUIntLE(0, 6).toString(16));
- * // Prints: ab9078563412
- * ```
- * @since v0.11.15
- * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.
- */
- readUIntLE(offset: number, byteLength: number): number;
- /**
- * @alias Buffer.readUIntLE
- * @since v14.9.0, v12.19.0
- */
- readUintLE(offset: number, byteLength: number): number;
- /**
- * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned big-endian integer supporting
- * up to 48 bits of accuracy.
- *
- * This function is also available under the `readUintBE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
- *
- * console.log(buf.readUIntBE(0, 6).toString(16));
- * // Prints: 1234567890ab
- * console.log(buf.readUIntBE(1, 6).toString(16));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.11.15
- * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.
- */
- readUIntBE(offset: number, byteLength: number): number;
- /**
- * @alias Buffer.readUIntBE
- * @since v14.9.0, v12.19.0
- */
- readUintBE(offset: number, byteLength: number): number;
- /**
- * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a little-endian, two's complement signed value
- * supporting up to 48 bits of accuracy.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
- *
- * console.log(buf.readIntLE(0, 6).toString(16));
- * // Prints: -546f87a9cbee
- * ```
- * @since v0.11.15
- * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.
- */
- readIntLE(offset: number, byteLength: number): number;
- /**
- * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a big-endian, two's complement signed value
- * supporting up to 48 bits of accuracy.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
- *
- * console.log(buf.readIntBE(0, 6).toString(16));
- * // Prints: 1234567890ab
- * console.log(buf.readIntBE(1, 6).toString(16));
- * // Throws ERR_OUT_OF_RANGE.
- * console.log(buf.readIntBE(1, 0).toString(16));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.11.15
- * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`.
- * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`.
- */
- readIntBE(offset: number, byteLength: number): number;
- /**
- * Reads an unsigned 8-bit integer from `buf` at the specified `offset`.
- *
- * This function is also available under the `readUint8` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([1, -2]);
- *
- * console.log(buf.readUInt8(0));
- * // Prints: 1
- * console.log(buf.readUInt8(1));
- * // Prints: 254
- * console.log(buf.readUInt8(2));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.5.0
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`.
- */
- readUInt8(offset?: number): number;
- /**
- * @alias Buffer.readUInt8
- * @since v14.9.0, v12.19.0
- */
- readUint8(offset?: number): number;
- /**
- * Reads an unsigned, little-endian 16-bit integer from `buf` at the specified `offset`.
- *
- * This function is also available under the `readUint16LE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56]);
- *
- * console.log(buf.readUInt16LE(0).toString(16));
- * // Prints: 3412
- * console.log(buf.readUInt16LE(1).toString(16));
- * // Prints: 5634
- * console.log(buf.readUInt16LE(2).toString(16));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.
- */
- readUInt16LE(offset?: number): number;
- /**
- * @alias Buffer.readUInt16LE
- * @since v14.9.0, v12.19.0
- */
- readUint16LE(offset?: number): number;
- /**
- * Reads an unsigned, big-endian 16-bit integer from `buf` at the specified`offset`.
- *
- * This function is also available under the `readUint16BE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56]);
- *
- * console.log(buf.readUInt16BE(0).toString(16));
- * // Prints: 1234
- * console.log(buf.readUInt16BE(1).toString(16));
- * // Prints: 3456
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.
- */
- readUInt16BE(offset?: number): number;
- /**
- * @alias Buffer.readUInt16BE
- * @since v14.9.0, v12.19.0
- */
- readUint16BE(offset?: number): number;
- /**
- * Reads an unsigned, little-endian 32-bit integer from `buf` at the specified`offset`.
- *
- * This function is also available under the `readUint32LE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]);
- *
- * console.log(buf.readUInt32LE(0).toString(16));
- * // Prints: 78563412
- * console.log(buf.readUInt32LE(1).toString(16));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.
- */
- readUInt32LE(offset?: number): number;
- /**
- * @alias Buffer.readUInt32LE
- * @since v14.9.0, v12.19.0
- */
- readUint32LE(offset?: number): number;
- /**
- * Reads an unsigned, big-endian 32-bit integer from `buf` at the specified`offset`.
- *
- * This function is also available under the `readUint32BE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]);
- *
- * console.log(buf.readUInt32BE(0).toString(16));
- * // Prints: 12345678
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.
- */
- readUInt32BE(offset?: number): number;
- /**
- * @alias Buffer.readUInt32BE
- * @since v14.9.0, v12.19.0
- */
- readUint32BE(offset?: number): number;
- /**
- * Reads a signed 8-bit integer from `buf` at the specified `offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed values.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([-1, 5]);
- *
- * console.log(buf.readInt8(0));
- * // Prints: -1
- * console.log(buf.readInt8(1));
- * // Prints: 5
- * console.log(buf.readInt8(2));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.5.0
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`.
- */
- readInt8(offset?: number): number;
- /**
- * Reads a signed, little-endian 16-bit integer from `buf` at the specified`offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed values.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0, 5]);
- *
- * console.log(buf.readInt16LE(0));
- * // Prints: 1280
- * console.log(buf.readInt16LE(1));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.
- */
- readInt16LE(offset?: number): number;
- /**
- * Reads a signed, big-endian 16-bit integer from `buf` at the specified `offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed values.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0, 5]);
- *
- * console.log(buf.readInt16BE(0));
- * // Prints: 5
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`.
- */
- readInt16BE(offset?: number): number;
- /**
- * Reads a signed, little-endian 32-bit integer from `buf` at the specified`offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed values.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0, 0, 0, 5]);
- *
- * console.log(buf.readInt32LE(0));
- * // Prints: 83886080
- * console.log(buf.readInt32LE(1));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.
- */
- readInt32LE(offset?: number): number;
- /**
- * Reads a signed, big-endian 32-bit integer from `buf` at the specified `offset`.
- *
- * Integers read from a `Buffer` are interpreted as two's complement signed values.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([0, 0, 0, 5]);
- *
- * console.log(buf.readInt32BE(0));
- * // Prints: 5
- * ```
- * @since v0.5.5
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.
- */
- readInt32BE(offset?: number): number;
- /**
- * Reads a 32-bit, little-endian float from `buf` at the specified `offset`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([1, 2, 3, 4]);
- *
- * console.log(buf.readFloatLE(0));
- * // Prints: 1.539989614439558e-36
- * console.log(buf.readFloatLE(1));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.11.15
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.
- */
- readFloatLE(offset?: number): number;
- /**
- * Reads a 32-bit, big-endian float from `buf` at the specified `offset`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([1, 2, 3, 4]);
- *
- * console.log(buf.readFloatBE(0));
- * // Prints: 2.387939260590663e-38
- * ```
- * @since v0.11.15
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`.
- */
- readFloatBE(offset?: number): number;
- /**
- * Reads a 64-bit, little-endian double from `buf` at the specified `offset`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
- *
- * console.log(buf.readDoubleLE(0));
- * // Prints: 5.447603722011605e-270
- * console.log(buf.readDoubleLE(1));
- * // Throws ERR_OUT_OF_RANGE.
- * ```
- * @since v0.11.15
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`.
- */
- readDoubleLE(offset?: number): number;
- /**
- * Reads a 64-bit, big-endian double from `buf` at the specified `offset`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
- *
- * console.log(buf.readDoubleBE(0));
- * // Prints: 8.20788039913184e-304
- * ```
- * @since v0.11.15
- * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`.
- */
- readDoubleBE(offset?: number): number;
- reverse(): this;
- /**
- * Interprets `buf` as an array of unsigned 16-bit integers and swaps the
- * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 2.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
- *
- * console.log(buf1);
- * // Prints:
- *
- * buf1.swap16();
- *
- * console.log(buf1);
- * // Prints:
- *
- * const buf2 = Buffer.from([0x1, 0x2, 0x3]);
- *
- * buf2.swap16();
- * // Throws ERR_INVALID_BUFFER_SIZE.
- * ```
- *
- * One convenient use of `buf.swap16()` is to perform a fast in-place conversion
- * between UTF-16 little-endian and UTF-16 big-endian:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from('This is little-endian UTF-16', 'utf16le');
- * buf.swap16(); // Convert to big-endian UTF-16 text.
- * ```
- * @since v5.10.0
- * @return A reference to `buf`.
- */
- swap16(): this;
- /**
- * Interprets `buf` as an array of unsigned 32-bit integers and swaps the
- * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 4.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
- *
- * console.log(buf1);
- * // Prints:
- *
- * buf1.swap32();
- *
- * console.log(buf1);
- * // Prints:
- *
- * const buf2 = Buffer.from([0x1, 0x2, 0x3]);
- *
- * buf2.swap32();
- * // Throws ERR_INVALID_BUFFER_SIZE.
- * ```
- * @since v5.10.0
- * @return A reference to `buf`.
- */
- swap32(): this;
- /**
- * Interprets `buf` as an array of 64-bit numbers and swaps byte order _in-place_.
- * Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 8.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
- *
- * console.log(buf1);
- * // Prints:
- *
- * buf1.swap64();
- *
- * console.log(buf1);
- * // Prints:
- *
- * const buf2 = Buffer.from([0x1, 0x2, 0x3]);
- *
- * buf2.swap64();
- * // Throws ERR_INVALID_BUFFER_SIZE.
- * ```
- * @since v6.3.0
- * @return A reference to `buf`.
- */
- swap64(): this;
- /**
- * Writes `value` to `buf` at the specified `offset`. `value` must be a
- * valid unsigned 8-bit integer. Behavior is undefined when `value` is anything
- * other than an unsigned 8-bit integer.
- *
- * This function is also available under the `writeUint8` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeUInt8(0x3, 0);
- * buf.writeUInt8(0x4, 1);
- * buf.writeUInt8(0x23, 2);
- * buf.writeUInt8(0x42, 3);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.0
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`.
- * @return `offset` plus the number of bytes written.
- */
- writeUInt8(value: number, offset?: number): number;
- /**
- * @alias Buffer.writeUInt8
- * @since v14.9.0, v12.19.0
- */
- writeUint8(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid unsigned 16-bit integer. Behavior is undefined when `value` is
- * anything other than an unsigned 16-bit integer.
- *
- * This function is also available under the `writeUint16LE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeUInt16LE(0xdead, 0);
- * buf.writeUInt16LE(0xbeef, 2);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.
- * @return `offset` plus the number of bytes written.
- */
- writeUInt16LE(value: number, offset?: number): number;
- /**
- * @alias Buffer.writeUInt16LE
- * @since v14.9.0, v12.19.0
- */
- writeUint16LE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid unsigned 16-bit integer. Behavior is undefined when `value`is anything other than an
- * unsigned 16-bit integer.
- *
- * This function is also available under the `writeUint16BE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeUInt16BE(0xdead, 0);
- * buf.writeUInt16BE(0xbeef, 2);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.
- * @return `offset` plus the number of bytes written.
- */
- writeUInt16BE(value: number, offset?: number): number;
- /**
- * @alias Buffer.writeUInt16BE
- * @since v14.9.0, v12.19.0
- */
- writeUint16BE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid unsigned 32-bit integer. Behavior is undefined when `value` is
- * anything other than an unsigned 32-bit integer.
- *
- * This function is also available under the `writeUint32LE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeUInt32LE(0xfeedface, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.
- * @return `offset` plus the number of bytes written.
- */
- writeUInt32LE(value: number, offset?: number): number;
- /**
- * @alias Buffer.writeUInt32LE
- * @since v14.9.0, v12.19.0
- */
- writeUint32LE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid unsigned 32-bit integer. Behavior is undefined when `value`is anything other than an
- * unsigned 32-bit integer.
- *
- * This function is also available under the `writeUint32BE` alias.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeUInt32BE(0xfeedface, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.
- * @return `offset` plus the number of bytes written.
- */
- writeUInt32BE(value: number, offset?: number): number;
- /**
- * @alias Buffer.writeUInt32BE
- * @since v14.9.0, v12.19.0
- */
- writeUint32BE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset`. `value` must be a valid
- * signed 8-bit integer. Behavior is undefined when `value` is anything other than
- * a signed 8-bit integer.
- *
- * `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(2);
- *
- * buf.writeInt8(2, 0);
- * buf.writeInt8(-2, 1);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.0
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`.
- * @return `offset` plus the number of bytes written.
- */
- writeInt8(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid signed 16-bit integer. Behavior is undefined when `value` is
- * anything other than a signed 16-bit integer.
- *
- * The `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(2);
- *
- * buf.writeInt16LE(0x0304, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.
- * @return `offset` plus the number of bytes written.
- */
- writeInt16LE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid signed 16-bit integer. Behavior is undefined when `value` is
- * anything other than a signed 16-bit integer.
- *
- * The `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(2);
- *
- * buf.writeInt16BE(0x0102, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`.
- * @return `offset` plus the number of bytes written.
- */
- writeInt16BE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid signed 32-bit integer. Behavior is undefined when `value` is
- * anything other than a signed 32-bit integer.
- *
- * The `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeInt32LE(0x05060708, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.
- * @return `offset` plus the number of bytes written.
- */
- writeInt32LE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid signed 32-bit integer. Behavior is undefined when `value` is
- * anything other than a signed 32-bit integer.
- *
- * The `value` is interpreted and written as a two's complement signed integer.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeInt32BE(0x01020304, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.5.5
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.
- * @return `offset` plus the number of bytes written.
- */
- writeInt32BE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian. Behavior is
- * undefined when `value` is anything other than a JavaScript number.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeFloatLE(0xcafebabe, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.11.15
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.
- * @return `offset` plus the number of bytes written.
- */
- writeFloatLE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian. Behavior is
- * undefined when `value` is anything other than a JavaScript number.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(4);
- *
- * buf.writeFloatBE(0xcafebabe, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.11.15
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`.
- * @return `offset` plus the number of bytes written.
- */
- writeFloatBE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a JavaScript number. Behavior is undefined when `value` is anything
- * other than a JavaScript number.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(8);
- *
- * buf.writeDoubleLE(123.456, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.11.15
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`.
- * @return `offset` plus the number of bytes written.
- */
- writeDoubleLE(value: number, offset?: number): number;
- /**
- * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a JavaScript number. Behavior is undefined when `value` is anything
- * other than a JavaScript number.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(8);
- *
- * buf.writeDoubleBE(123.456, 0);
- *
- * console.log(buf);
- * // Prints:
- * ```
- * @since v0.11.15
- * @param value Number to be written to `buf`.
- * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`.
- * @return `offset` plus the number of bytes written.
- */
- writeDoubleBE(value: number, offset?: number): number;
- /**
- * Fills `buf` with the specified `value`. If the `offset` and `end` are not given,
- * the entire `buf` will be filled:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Fill a `Buffer` with the ASCII character 'h'.
- *
- * const b = Buffer.allocUnsafe(50).fill('h');
- *
- * console.log(b.toString());
- * // Prints: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
- *
- * // Fill a buffer with empty string
- * const c = Buffer.allocUnsafe(5).fill('');
- *
- * console.log(c.fill(''));
- * // Prints:
- * ```
- *
- * `value` is coerced to a `uint32` value if it is not a string, `Buffer`, or
- * integer. If the resulting integer is greater than `255` (decimal), `buf` will be
- * filled with `value & 255`.
- *
- * If the final write of a `fill()` operation falls on a multi-byte character,
- * then only the bytes of that character that fit into `buf` are written:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * // Fill a `Buffer` with character that takes up two bytes in UTF-8.
- *
- * console.log(Buffer.allocUnsafe(5).fill('\u0222'));
- * // Prints:
- * ```
- *
- * If `value` contains invalid characters, it is truncated; if no valid
- * fill data remains, an exception is thrown:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.allocUnsafe(5);
- *
- * console.log(buf.fill('a'));
- * // Prints:
- * console.log(buf.fill('aazz', 'hex'));
- * // Prints:
- * console.log(buf.fill('zz', 'hex'));
- * // Throws an exception.
- * ```
- * @since v0.5.0
- * @param value The value with which to fill `buf`. Empty value (string, Uint8Array, Buffer) is coerced to `0`.
- * @param [offset=0] Number of bytes to skip before starting to fill `buf`.
- * @param [end=buf.length] Where to stop filling `buf` (not inclusive).
- * @param [encoding='utf8'] The encoding for `value` if `value` is a string.
- * @return A reference to `buf`.
- */
- fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this;
- fill(value: string | Uint8Array | number, offset: number, encoding: BufferEncoding): this;
- fill(value: string | Uint8Array | number, encoding: BufferEncoding): this;
- /**
- * If `value` is:
- *
- * * a string, `value` is interpreted according to the character encoding in `encoding`.
- * * a `Buffer` or [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), `value` will be used in its entirety.
- * To compare a partial `Buffer`, use `buf.subarray`.
- * * a number, `value` will be interpreted as an unsigned 8-bit integer
- * value between `0` and `255`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from('this is a buffer');
- *
- * console.log(buf.indexOf('this'));
- * // Prints: 0
- * console.log(buf.indexOf('is'));
- * // Prints: 2
- * console.log(buf.indexOf(Buffer.from('a buffer')));
- * // Prints: 8
- * console.log(buf.indexOf(97));
- * // Prints: 8 (97 is the decimal ASCII value for 'a')
- * console.log(buf.indexOf(Buffer.from('a buffer example')));
- * // Prints: -1
- * console.log(buf.indexOf(Buffer.from('a buffer example').slice(0, 8)));
- * // Prints: 8
- *
- * const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le');
- *
- * console.log(utf16Buffer.indexOf('\u03a3', 0, 'utf16le'));
- * // Prints: 4
- * console.log(utf16Buffer.indexOf('\u03a3', -4, 'utf16le'));
- * // Prints: 6
- * ```
- *
- * If `value` is not a string, number, or `Buffer`, this method will throw a `TypeError`. If `value` is a number, it will be coerced to a valid byte value,
- * an integer between 0 and 255.
- *
- * If `byteOffset` is not a number, it will be coerced to a number. If the result
- * of coercion is `NaN` or `0`, then the entire buffer will be searched. This
- * behavior matches [`String.prototype.indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf).
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const b = Buffer.from('abcdef');
- *
- * // Passing a value that's a number, but not a valid byte.
- * // Prints: 2, equivalent to searching for 99 or 'c'.
- * console.log(b.indexOf(99.9));
- * console.log(b.indexOf(256 + 99));
- *
- * // Passing a byteOffset that coerces to NaN or 0.
- * // Prints: 1, searching the whole buffer.
- * console.log(b.indexOf('b', undefined));
- * console.log(b.indexOf('b', {}));
- * console.log(b.indexOf('b', null));
- * console.log(b.indexOf('b', []));
- * ```
- *
- * If `value` is an empty string or empty `Buffer` and `byteOffset` is less
- * than `buf.length`, `byteOffset` will be returned. If `value` is empty and`byteOffset` is at least `buf.length`, `buf.length` will be returned.
- * @since v1.5.0
- * @param value What to search for.
- * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`.
- * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`.
- * @return The index of the first occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`.
- */
- indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number;
- indexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number;
- /**
- * Identical to `buf.indexOf()`, except the last occurrence of `value` is found
- * rather than the first occurrence.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from('this buffer is a buffer');
- *
- * console.log(buf.lastIndexOf('this'));
- * // Prints: 0
- * console.log(buf.lastIndexOf('buffer'));
- * // Prints: 17
- * console.log(buf.lastIndexOf(Buffer.from('buffer')));
- * // Prints: 17
- * console.log(buf.lastIndexOf(97));
- * // Prints: 15 (97 is the decimal ASCII value for 'a')
- * console.log(buf.lastIndexOf(Buffer.from('yolo')));
- * // Prints: -1
- * console.log(buf.lastIndexOf('buffer', 5));
- * // Prints: 5
- * console.log(buf.lastIndexOf('buffer', 4));
- * // Prints: -1
- *
- * const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le');
- *
- * console.log(utf16Buffer.lastIndexOf('\u03a3', undefined, 'utf16le'));
- * // Prints: 6
- * console.log(utf16Buffer.lastIndexOf('\u03a3', -5, 'utf16le'));
- * // Prints: 4
- * ```
- *
- * If `value` is not a string, number, or `Buffer`, this method will throw a `TypeError`. If `value` is a number, it will be coerced to a valid byte value,
- * an integer between 0 and 255.
- *
- * If `byteOffset` is not a number, it will be coerced to a number. Any arguments
- * that coerce to `NaN`, like `{}` or `undefined`, will search the whole buffer.
- * This behavior matches [`String.prototype.lastIndexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf).
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const b = Buffer.from('abcdef');
- *
- * // Passing a value that's a number, but not a valid byte.
- * // Prints: 2, equivalent to searching for 99 or 'c'.
- * console.log(b.lastIndexOf(99.9));
- * console.log(b.lastIndexOf(256 + 99));
- *
- * // Passing a byteOffset that coerces to NaN.
- * // Prints: 1, searching the whole buffer.
- * console.log(b.lastIndexOf('b', undefined));
- * console.log(b.lastIndexOf('b', {}));
- *
- * // Passing a byteOffset that coerces to 0.
- * // Prints: -1, equivalent to passing 0.
- * console.log(b.lastIndexOf('b', null));
- * console.log(b.lastIndexOf('b', []));
- * ```
- *
- * If `value` is an empty string or empty `Buffer`, `byteOffset` will be returned.
- * @since v6.0.0
- * @param value What to search for.
- * @param [byteOffset=buf.length - 1] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`.
- * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`.
- * @return The index of the last occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`.
- */
- lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number;
- lastIndexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number;
- /**
- * Equivalent to `buf.indexOf() !== -1`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- *
- * const buf = Buffer.from('this is a buffer');
- *
- * console.log(buf.includes('this'));
- * // Prints: true
- * console.log(buf.includes('is'));
- * // Prints: true
- * console.log(buf.includes(Buffer.from('a buffer')));
- * // Prints: true
- * console.log(buf.includes(97));
- * // Prints: true (97 is the decimal ASCII value for 'a')
- * console.log(buf.includes(Buffer.from('a buffer example')));
- * // Prints: false
- * console.log(buf.includes(Buffer.from('a buffer example').slice(0, 8)));
- * // Prints: true
- * console.log(buf.includes('this', 4));
- * // Prints: false
- * ```
- * @since v5.3.0
- * @param value What to search for.
- * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`.
- * @param [encoding='utf8'] If `value` is a string, this is its encoding.
- * @return `true` if `value` was found in `buf`, `false` otherwise.
- */
- includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean;
- includes(value: string | number | Buffer, encoding: BufferEncoding): boolean;
- }
- var Buffer: BufferConstructor;
- /**
- * Decodes a string of Base64-encoded data into bytes, and encodes those bytes
- * into a string using Latin-1 (ISO-8859-1).
- *
- * The `data` may be any JavaScript-value that can be coerced into a string.
- *
- * **This function is only provided for compatibility with legacy web platform APIs**
- * **and should never be used in new code, because they use strings to represent**
- * **binary data and predate the introduction of typed arrays in JavaScript.**
- * **For code running using Node.js APIs, converting between base64-encoded strings**
- * **and binary data should be performed using `Buffer.from(str, 'base64')` and `buf.toString('base64')`.**
- * @since v15.13.0, v14.17.0
- * @legacy Use `Buffer.from(data, 'base64')` instead.
- * @param data The Base64-encoded input string.
- */
- function atob(data: string): string;
- /**
- * Decodes a string into bytes using Latin-1 (ISO-8859), and encodes those bytes
- * into a string using Base64.
- *
- * The `data` may be any JavaScript-value that can be coerced into a string.
- *
- * **This function is only provided for compatibility with legacy web platform APIs**
- * **and should never be used in new code, because they use strings to represent**
- * **binary data and predate the introduction of typed arrays in JavaScript.**
- * **For code running using Node.js APIs, converting between base64-encoded strings**
- * **and binary data should be performed using `Buffer.from(str, 'base64')` and `buf.toString('base64')`.**
- * @since v15.13.0, v14.17.0
- * @legacy Use `buf.toString('base64')` instead.
- * @param data An ASCII (Latin1) string.
- */
- function btoa(data: string): string;
- interface Blob extends _Blob {}
- /**
- * `Blob` class is a global reference for `import { Blob } from 'node:buffer'`
- * https://nodejs.org/api/buffer.html#class-blob
- * @since v18.0.0
- */
- var Blob: typeof globalThis extends { onmessage: any; Blob: infer T } ? T
- : typeof import("buffer").Blob;
- interface File extends _File {}
- /**
- * `File` class is a global reference for `import { File } from 'node:buffer'`
- * https://nodejs.org/api/buffer.html#class-file
- * @since v20.0.0
- */
- var File: typeof globalThis extends { onmessage: any; File: infer T } ? T
- : typeof import("buffer").File;
- }
-}
-declare module "node:buffer" {
- export * from "buffer";
-}
diff --git a/node_modules/@types/node/child_process.d.ts b/node_modules/@types/node/child_process.d.ts
deleted file mode 100644
index 92b4cda..0000000
--- a/node_modules/@types/node/child_process.d.ts
+++ /dev/null
@@ -1,1549 +0,0 @@
-/**
- * The `node:child_process` module provides the ability to spawn subprocesses in
- * a manner that is similar, but not identical, to [`popen(3)`](http://man7.org/linux/man-pages/man3/popen.3.html). This capability
- * is primarily provided by the {@link spawn} function:
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const ls = spawn('ls', ['-lh', '/usr']);
- *
- * ls.stdout.on('data', (data) => {
- * console.log(`stdout: ${data}`);
- * });
- *
- * ls.stderr.on('data', (data) => {
- * console.error(`stderr: ${data}`);
- * });
- *
- * ls.on('close', (code) => {
- * console.log(`child process exited with code ${code}`);
- * });
- * ```
- *
- * By default, pipes for `stdin`, `stdout`, and `stderr` are established between
- * the parent Node.js process and the spawned subprocess. These pipes have
- * limited (and platform-specific) capacity. If the subprocess writes to
- * stdout in excess of that limit without the output being captured, the
- * subprocess blocks waiting for the pipe buffer to accept more data. This is
- * identical to the behavior of pipes in the shell. Use the `{ stdio: 'ignore' }` option if the output will not be consumed.
- *
- * The command lookup is performed using the `options.env.PATH` environment
- * variable if `env` is in the `options` object. Otherwise, `process.env.PATH` is
- * used. If `options.env` is set without `PATH`, lookup on Unix is performed
- * on a default search path search of `/usr/bin:/bin` (see your operating system's
- * manual for execvpe/execvp), on Windows the current processes environment
- * variable `PATH` is used.
- *
- * On Windows, environment variables are case-insensitive. Node.js
- * lexicographically sorts the `env` keys and uses the first one that
- * case-insensitively matches. Only first (in lexicographic order) entry will be
- * passed to the subprocess. This might lead to issues on Windows when passing
- * objects to the `env` option that have multiple variants of the same key, such as `PATH` and `Path`.
- *
- * The {@link spawn} method spawns the child process asynchronously,
- * without blocking the Node.js event loop. The {@link spawnSync} function provides equivalent functionality in a synchronous manner that blocks
- * the event loop until the spawned process either exits or is terminated.
- *
- * For convenience, the `node:child_process` module provides a handful of
- * synchronous and asynchronous alternatives to {@link spawn} and {@link spawnSync}. Each of these alternatives are implemented on
- * top of {@link spawn} or {@link spawnSync}.
- *
- * * {@link exec}: spawns a shell and runs a command within that
- * shell, passing the `stdout` and `stderr` to a callback function when
- * complete.
- * * {@link execFile}: similar to {@link exec} except
- * that it spawns the command directly without first spawning a shell by
- * default.
- * * {@link fork}: spawns a new Node.js process and invokes a
- * specified module with an IPC communication channel established that allows
- * sending messages between parent and child.
- * * {@link execSync}: a synchronous version of {@link exec} that will block the Node.js event loop.
- * * {@link execFileSync}: a synchronous version of {@link execFile} that will block the Node.js event loop.
- *
- * For certain use cases, such as automating shell scripts, the `synchronous counterparts` may be more convenient. In many cases, however,
- * the synchronous methods can have significant impact on performance due to
- * stalling the event loop while spawned processes complete.
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/child_process.js)
- */
-declare module "child_process" {
- import { ObjectEncodingOptions } from "node:fs";
- import { Abortable, EventEmitter } from "node:events";
- import * as dgram from "node:dgram";
- import * as net from "node:net";
- import { Pipe, Readable, Stream, Writable } from "node:stream";
- import { URL } from "node:url";
- type Serializable = string | object | number | boolean | bigint;
- type SendHandle = net.Socket | net.Server | dgram.Socket | undefined;
- /**
- * Instances of the `ChildProcess` represent spawned child processes.
- *
- * Instances of `ChildProcess` are not intended to be created directly. Rather,
- * use the {@link spawn}, {@link exec},{@link execFile}, or {@link fork} methods to create
- * instances of `ChildProcess`.
- * @since v2.2.0
- */
- class ChildProcess extends EventEmitter {
- /**
- * A `Writable Stream` that represents the child process's `stdin`.
- *
- * If a child process waits to read all of its input, the child will not continue
- * until this stream has been closed via `end()`.
- *
- * If the child was spawned with `stdio[0]` set to anything other than `'pipe'`,
- * then this will be `null`.
- *
- * `subprocess.stdin` is an alias for `subprocess.stdio[0]`. Both properties will
- * refer to the same value.
- *
- * The `subprocess.stdin` property can be `null` or `undefined` if the child process could not be successfully spawned.
- * @since v0.1.90
- */
- stdin: Writable | null;
- /**
- * A `Readable Stream` that represents the child process's `stdout`.
- *
- * If the child was spawned with `stdio[1]` set to anything other than `'pipe'`,
- * then this will be `null`.
- *
- * `subprocess.stdout` is an alias for `subprocess.stdio[1]`. Both properties will
- * refer to the same value.
- *
- * ```js
- * import { spawn } from 'node:child_process';
- *
- * const subprocess = spawn('ls');
- *
- * subprocess.stdout.on('data', (data) => {
- * console.log(`Received chunk ${data}`);
- * });
- * ```
- *
- * The `subprocess.stdout` property can be `null` or `undefined` if the child process could not be successfully spawned.
- * @since v0.1.90
- */
- stdout: Readable | null;
- /**
- * A `Readable Stream` that represents the child process's `stderr`.
- *
- * If the child was spawned with `stdio[2]` set to anything other than `'pipe'`,
- * then this will be `null`.
- *
- * `subprocess.stderr` is an alias for `subprocess.stdio[2]`. Both properties will
- * refer to the same value.
- *
- * The `subprocess.stderr` property can be `null` or `undefined` if the child process could not be successfully spawned.
- * @since v0.1.90
- */
- stderr: Readable | null;
- /**
- * The `subprocess.channel` property is a reference to the child's IPC channel. If
- * no IPC channel exists, this property is `undefined`.
- * @since v7.1.0
- */
- readonly channel?: Pipe | null | undefined;
- /**
- * A sparse array of pipes to the child process, corresponding with positions in
- * the `stdio` option passed to {@link spawn} that have been set
- * to the value `'pipe'`. `subprocess.stdio[0]`, `subprocess.stdio[1]`, and `subprocess.stdio[2]` are also available as `subprocess.stdin`, `subprocess.stdout`, and `subprocess.stderr`,
- * respectively.
- *
- * In the following example, only the child's fd `1` (stdout) is configured as a
- * pipe, so only the parent's `subprocess.stdio[1]` is a stream, all other values
- * in the array are `null`.
- *
- * ```js
- * import assert from 'node:assert';
- * import fs from 'node:fs';
- * import child_process from 'node:child_process';
- *
- * const subprocess = child_process.spawn('ls', {
- * stdio: [
- * 0, // Use parent's stdin for child.
- * 'pipe', // Pipe child's stdout to parent.
- * fs.openSync('err.out', 'w'), // Direct child's stderr to a file.
- * ],
- * });
- *
- * assert.strictEqual(subprocess.stdio[0], null);
- * assert.strictEqual(subprocess.stdio[0], subprocess.stdin);
- *
- * assert(subprocess.stdout);
- * assert.strictEqual(subprocess.stdio[1], subprocess.stdout);
- *
- * assert.strictEqual(subprocess.stdio[2], null);
- * assert.strictEqual(subprocess.stdio[2], subprocess.stderr);
- * ```
- *
- * The `subprocess.stdio` property can be `undefined` if the child process could
- * not be successfully spawned.
- * @since v0.7.10
- */
- readonly stdio: [
- Writable | null,
- // stdin
- Readable | null,
- // stdout
- Readable | null,
- // stderr
- Readable | Writable | null | undefined,
- // extra
- Readable | Writable | null | undefined, // extra
- ];
- /**
- * The `subprocess.killed` property indicates whether the child process
- * successfully received a signal from `subprocess.kill()`. The `killed` property
- * does not indicate that the child process has been terminated.
- * @since v0.5.10
- */
- readonly killed: boolean;
- /**
- * Returns the process identifier (PID) of the child process. If the child process
- * fails to spawn due to errors, then the value is `undefined` and `error` is
- * emitted.
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const grep = spawn('grep', ['ssh']);
- *
- * console.log(`Spawned child pid: ${grep.pid}`);
- * grep.stdin.end();
- * ```
- * @since v0.1.90
- */
- readonly pid?: number | undefined;
- /**
- * The `subprocess.connected` property indicates whether it is still possible to
- * send and receive messages from a child process. When `subprocess.connected` is `false`, it is no longer possible to send or receive messages.
- * @since v0.7.2
- */
- readonly connected: boolean;
- /**
- * The `subprocess.exitCode` property indicates the exit code of the child process.
- * If the child process is still running, the field will be `null`.
- */
- readonly exitCode: number | null;
- /**
- * The `subprocess.signalCode` property indicates the signal received by
- * the child process if any, else `null`.
- */
- readonly signalCode: NodeJS.Signals | null;
- /**
- * The `subprocess.spawnargs` property represents the full list of command-line
- * arguments the child process was launched with.
- */
- readonly spawnargs: string[];
- /**
- * The `subprocess.spawnfile` property indicates the executable file name of
- * the child process that is launched.
- *
- * For {@link fork}, its value will be equal to `process.execPath`.
- * For {@link spawn}, its value will be the name of
- * the executable file.
- * For {@link exec}, its value will be the name of the shell
- * in which the child process is launched.
- */
- readonly spawnfile: string;
- /**
- * The `subprocess.kill()` method sends a signal to the child process. If no
- * argument is given, the process will be sent the `'SIGTERM'` signal. See [`signal(7)`](http://man7.org/linux/man-pages/man7/signal.7.html) for a list of available signals. This function
- * returns `true` if [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) succeeds, and `false` otherwise.
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const grep = spawn('grep', ['ssh']);
- *
- * grep.on('close', (code, signal) => {
- * console.log(
- * `child process terminated due to receipt of signal ${signal}`);
- * });
- *
- * // Send SIGHUP to process.
- * grep.kill('SIGHUP');
- * ```
- *
- * The `ChildProcess` object may emit an `'error'` event if the signal
- * cannot be delivered. Sending a signal to a child process that has already exited
- * is not an error but may have unforeseen consequences. Specifically, if the
- * process identifier (PID) has been reassigned to another process, the signal will
- * be delivered to that process instead which can have unexpected results.
- *
- * While the function is called `kill`, the signal delivered to the child process
- * may not actually terminate the process.
- *
- * See [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) for reference.
- *
- * On Windows, where POSIX signals do not exist, the `signal` argument will be
- * ignored, and the process will be killed forcefully and abruptly (similar to `'SIGKILL'`).
- * See `Signal Events` for more details.
- *
- * On Linux, child processes of child processes will not be terminated
- * when attempting to kill their parent. This is likely to happen when running a
- * new process in a shell or with the use of the `shell` option of `ChildProcess`:
- *
- * ```js
- * 'use strict';
- * import { spawn } from 'node:child_process';
- *
- * const subprocess = spawn(
- * 'sh',
- * [
- * '-c',
- * `node -e "setInterval(() => {
- * console.log(process.pid, 'is alive')
- * }, 500);"`,
- * ], {
- * stdio: ['inherit', 'inherit', 'inherit'],
- * },
- * );
- *
- * setTimeout(() => {
- * subprocess.kill(); // Does not terminate the Node.js process in the shell.
- * }, 2000);
- * ```
- * @since v0.1.90
- */
- kill(signal?: NodeJS.Signals | number): boolean;
- /**
- * Calls {@link ChildProcess.kill} with `'SIGTERM'`.
- * @since v20.5.0
- */
- [Symbol.dispose](): void;
- /**
- * When an IPC channel has been established between the parent and child (
- * i.e. when using {@link fork}), the `subprocess.send()` method can
- * be used to send messages to the child process. When the child process is a
- * Node.js instance, these messages can be received via the `'message'` event.
- *
- * The message goes through serialization and parsing. The resulting
- * message might not be the same as what is originally sent.
- *
- * For example, in the parent script:
- *
- * ```js
- * import cp from 'node:child_process';
- * const n = cp.fork(`${__dirname}/sub.js`);
- *
- * n.on('message', (m) => {
- * console.log('PARENT got message:', m);
- * });
- *
- * // Causes the child to print: CHILD got message: { hello: 'world' }
- * n.send({ hello: 'world' });
- * ```
- *
- * And then the child script, `'sub.js'` might look like this:
- *
- * ```js
- * process.on('message', (m) => {
- * console.log('CHILD got message:', m);
- * });
- *
- * // Causes the parent to print: PARENT got message: { foo: 'bar', baz: null }
- * process.send({ foo: 'bar', baz: NaN });
- * ```
- *
- * Child Node.js processes will have a `process.send()` method of their own
- * that allows the child to send messages back to the parent.
- *
- * There is a special case when sending a `{cmd: 'NODE_foo'}` message. Messages
- * containing a `NODE_` prefix in the `cmd` property are reserved for use within
- * Node.js core and will not be emitted in the child's `'message'` event. Rather, such messages are emitted using the `'internalMessage'` event and are consumed internally by Node.js.
- * Applications should avoid using such messages or listening for `'internalMessage'` events as it is subject to change without notice.
- *
- * The optional `sendHandle` argument that may be passed to `subprocess.send()` is
- * for passing a TCP server or socket object to the child process. The child will
- * receive the object as the second argument passed to the callback function
- * registered on the `'message'` event. Any data that is received and buffered in
- * the socket will not be sent to the child. Sending IPC sockets is not supported on Windows.
- *
- * The optional `callback` is a function that is invoked after the message is
- * sent but before the child may have received it. The function is called with a
- * single argument: `null` on success, or an `Error` object on failure.
- *
- * If no `callback` function is provided and the message cannot be sent, an `'error'` event will be emitted by the `ChildProcess` object. This can
- * happen, for instance, when the child process has already exited.
- *
- * `subprocess.send()` will return `false` if the channel has closed or when the
- * backlog of unsent messages exceeds a threshold that makes it unwise to send
- * more. Otherwise, the method returns `true`. The `callback` function can be
- * used to implement flow control.
- *
- * #### Example: sending a server object
- *
- * The `sendHandle` argument can be used, for instance, to pass the handle of
- * a TCP server object to the child process as illustrated in the example below:
- *
- * ```js
- * import { createServer } from 'node:net';
- * import { fork } from 'node:child_process';
- * const subprocess = fork('subprocess.js');
- *
- * // Open up the server object and send the handle.
- * const server = createServer();
- * server.on('connection', (socket) => {
- * socket.end('handled by parent');
- * });
- * server.listen(1337, () => {
- * subprocess.send('server', server);
- * });
- * ```
- *
- * The child would then receive the server object as:
- *
- * ```js
- * process.on('message', (m, server) => {
- * if (m === 'server') {
- * server.on('connection', (socket) => {
- * socket.end('handled by child');
- * });
- * }
- * });
- * ```
- *
- * Once the server is now shared between the parent and child, some connections
- * can be handled by the parent and some by the child.
- *
- * While the example above uses a server created using the `node:net` module, `node:dgram` module servers use exactly the same workflow with the exceptions of
- * listening on a `'message'` event instead of `'connection'` and using `server.bind()` instead of `server.listen()`. This is, however, only
- * supported on Unix platforms.
- *
- * #### Example: sending a socket object
- *
- * Similarly, the `sendHandler` argument can be used to pass the handle of a
- * socket to the child process. The example below spawns two children that each
- * handle connections with "normal" or "special" priority:
- *
- * ```js
- * import { createServer } from 'node:net';
- * import { fork } from 'node:child_process';
- * const normal = fork('subprocess.js', ['normal']);
- * const special = fork('subprocess.js', ['special']);
- *
- * // Open up the server and send sockets to child. Use pauseOnConnect to prevent
- * // the sockets from being read before they are sent to the child process.
- * const server = createServer({ pauseOnConnect: true });
- * server.on('connection', (socket) => {
- *
- * // If this is special priority...
- * if (socket.remoteAddress === '74.125.127.100') {
- * special.send('socket', socket);
- * return;
- * }
- * // This is normal priority.
- * normal.send('socket', socket);
- * });
- * server.listen(1337);
- * ```
- *
- * The `subprocess.js` would receive the socket handle as the second argument
- * passed to the event callback function:
- *
- * ```js
- * process.on('message', (m, socket) => {
- * if (m === 'socket') {
- * if (socket) {
- * // Check that the client socket exists.
- * // It is possible for the socket to be closed between the time it is
- * // sent and the time it is received in the child process.
- * socket.end(`Request handled with ${process.argv[2]} priority`);
- * }
- * }
- * });
- * ```
- *
- * Do not use `.maxConnections` on a socket that has been passed to a subprocess.
- * The parent cannot track when the socket is destroyed.
- *
- * Any `'message'` handlers in the subprocess should verify that `socket` exists,
- * as the connection may have been closed during the time it takes to send the
- * connection to the child.
- * @since v0.5.9
- * @param sendHandle `undefined`, or a [`net.Socket`](https://nodejs.org/docs/latest-v24.x/api/net.html#class-netsocket), [`net.Server`](https://nodejs.org/docs/latest-v24.x/api/net.html#class-netserver), or [`dgram.Socket`](https://nodejs.org/docs/latest-v24.x/api/dgram.html#class-dgramsocket) object.
- * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties:
- */
- send(message: Serializable, callback?: (error: Error | null) => void): boolean;
- send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean;
- send(
- message: Serializable,
- sendHandle?: SendHandle,
- options?: MessageOptions,
- callback?: (error: Error | null) => void,
- ): boolean;
- /**
- * Closes the IPC channel between parent and child, allowing the child to exit
- * gracefully once there are no other connections keeping it alive. After calling
- * this method the `subprocess.connected` and `process.connected` properties in
- * both the parent and child (respectively) will be set to `false`, and it will be
- * no longer possible to pass messages between the processes.
- *
- * The `'disconnect'` event will be emitted when there are no messages in the
- * process of being received. This will most often be triggered immediately after
- * calling `subprocess.disconnect()`.
- *
- * When the child process is a Node.js instance (e.g. spawned using {@link fork}), the `process.disconnect()` method can be invoked
- * within the child process to close the IPC channel as well.
- * @since v0.7.2
- */
- disconnect(): void;
- /**
- * By default, the parent will wait for the detached child to exit. To prevent the
- * parent from waiting for a given `subprocess` to exit, use the `subprocess.unref()` method. Doing so will cause the parent's event loop to not
- * include the child in its reference count, allowing the parent to exit
- * independently of the child, unless there is an established IPC channel between
- * the child and the parent.
- *
- * ```js
- * import { spawn } from 'node:child_process';
- *
- * const subprocess = spawn(process.argv[0], ['child_program.js'], {
- * detached: true,
- * stdio: 'ignore',
- * });
- *
- * subprocess.unref();
- * ```
- * @since v0.7.10
- */
- unref(): void;
- /**
- * Calling `subprocess.ref()` after making a call to `subprocess.unref()` will
- * restore the removed reference count for the child process, forcing the parent
- * to wait for the child to exit before exiting itself.
- *
- * ```js
- * import { spawn } from 'node:child_process';
- *
- * const subprocess = spawn(process.argv[0], ['child_program.js'], {
- * detached: true,
- * stdio: 'ignore',
- * });
- *
- * subprocess.unref();
- * subprocess.ref();
- * ```
- * @since v0.7.10
- */
- ref(): void;
- /**
- * events.EventEmitter
- * 1. close
- * 2. disconnect
- * 3. error
- * 4. exit
- * 5. message
- * 6. spawn
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- addListener(event: "disconnect", listener: () => void): this;
- addListener(event: "error", listener: (err: Error) => void): this;
- addListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- addListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
- addListener(event: "spawn", listener: () => void): this;
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "close", code: number | null, signal: NodeJS.Signals | null): boolean;
- emit(event: "disconnect"): boolean;
- emit(event: "error", err: Error): boolean;
- emit(event: "exit", code: number | null, signal: NodeJS.Signals | null): boolean;
- emit(event: "message", message: Serializable, sendHandle: SendHandle): boolean;
- emit(event: "spawn", listener: () => void): boolean;
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- on(event: "disconnect", listener: () => void): this;
- on(event: "error", listener: (err: Error) => void): this;
- on(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- on(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
- on(event: "spawn", listener: () => void): this;
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- once(event: "disconnect", listener: () => void): this;
- once(event: "error", listener: (err: Error) => void): this;
- once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- once(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
- once(event: "spawn", listener: () => void): this;
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- prependListener(event: "disconnect", listener: () => void): this;
- prependListener(event: "error", listener: (err: Error) => void): this;
- prependListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
- prependListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
- prependListener(event: "spawn", listener: () => void): this;
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(
- event: "close",
- listener: (code: number | null, signal: NodeJS.Signals | null) => void,
- ): this;
- prependOnceListener(event: "disconnect", listener: () => void): this;
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
- prependOnceListener(
- event: "exit",
- listener: (code: number | null, signal: NodeJS.Signals | null) => void,
- ): this;
- prependOnceListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
- prependOnceListener(event: "spawn", listener: () => void): this;
- }
- // return this object when stdio option is undefined or not specified
- interface ChildProcessWithoutNullStreams extends ChildProcess {
- stdin: Writable;
- stdout: Readable;
- stderr: Readable;
- readonly stdio: [
- Writable,
- Readable,
- Readable,
- // stderr
- Readable | Writable | null | undefined,
- // extra, no modification
- Readable | Writable | null | undefined, // extra, no modification
- ];
- }
- // return this object when stdio option is a tuple of 3
- interface ChildProcessByStdio
- extends ChildProcess
- {
- stdin: I;
- stdout: O;
- stderr: E;
- readonly stdio: [
- I,
- O,
- E,
- Readable | Writable | null | undefined,
- // extra, no modification
- Readable | Writable | null | undefined, // extra, no modification
- ];
- }
- interface MessageOptions {
- keepOpen?: boolean | undefined;
- }
- type IOType = "overlapped" | "pipe" | "ignore" | "inherit";
- type StdioOptions = IOType | Array;
- type SerializationType = "json" | "advanced";
- interface MessagingOptions extends Abortable {
- /**
- * Specify the kind of serialization used for sending messages between processes.
- * @default 'json'
- */
- serialization?: SerializationType | undefined;
- /**
- * The signal value to be used when the spawned process will be killed by the abort signal.
- * @default 'SIGTERM'
- */
- killSignal?: NodeJS.Signals | number | undefined;
- /**
- * In milliseconds the maximum amount of time the process is allowed to run.
- */
- timeout?: number | undefined;
- }
- interface ProcessEnvOptions {
- uid?: number | undefined;
- gid?: number | undefined;
- cwd?: string | URL | undefined;
- env?: NodeJS.ProcessEnv | undefined;
- }
- interface CommonOptions extends ProcessEnvOptions {
- /**
- * @default false
- */
- windowsHide?: boolean | undefined;
- /**
- * @default 0
- */
- timeout?: number | undefined;
- }
- interface CommonSpawnOptions extends CommonOptions, MessagingOptions, Abortable {
- argv0?: string | undefined;
- /**
- * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings.
- * If passed as an array, the first element is used for `stdin`, the second for
- * `stdout`, and the third for `stderr`. A fourth element can be used to
- * specify the `stdio` behavior beyond the standard streams. See
- * {@link ChildProcess.stdio} for more information.
- *
- * @default 'pipe'
- */
- stdio?: StdioOptions | undefined;
- shell?: boolean | string | undefined;
- windowsVerbatimArguments?: boolean | undefined;
- }
- interface SpawnOptions extends CommonSpawnOptions {
- detached?: boolean | undefined;
- }
- interface SpawnOptionsWithoutStdio extends SpawnOptions {
- stdio?: StdioPipeNamed | StdioPipe[] | undefined;
- }
- type StdioNull = "inherit" | "ignore" | Stream;
- type StdioPipeNamed = "pipe" | "overlapped";
- type StdioPipe = undefined | null | StdioPipeNamed;
- interface SpawnOptionsWithStdioTuple<
- Stdin extends StdioNull | StdioPipe,
- Stdout extends StdioNull | StdioPipe,
- Stderr extends StdioNull | StdioPipe,
- > extends SpawnOptions {
- stdio: [Stdin, Stdout, Stderr];
- }
- /**
- * The `child_process.spawn()` method spawns a new process using the given `command`, with command-line arguments in `args`. If omitted, `args` defaults
- * to an empty array.
- *
- * **If the `shell` option is enabled, do not pass unsanitized user input to this**
- * **function. Any input containing shell metacharacters may be used to trigger**
- * **arbitrary command execution.**
- *
- * A third argument may be used to specify additional options, with these defaults:
- *
- * ```js
- * const defaults = {
- * cwd: undefined,
- * env: process.env,
- * };
- * ```
- *
- * Use `cwd` to specify the working directory from which the process is spawned.
- * If not given, the default is to inherit the current working directory. If given,
- * but the path does not exist, the child process emits an `ENOENT` error
- * and exits immediately. `ENOENT` is also emitted when the command
- * does not exist.
- *
- * Use `env` to specify environment variables that will be visible to the new
- * process, the default is `process.env`.
- *
- * `undefined` values in `env` will be ignored.
- *
- * Example of running `ls -lh /usr`, capturing `stdout`, `stderr`, and the
- * exit code:
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const ls = spawn('ls', ['-lh', '/usr']);
- *
- * ls.stdout.on('data', (data) => {
- * console.log(`stdout: ${data}`);
- * });
- *
- * ls.stderr.on('data', (data) => {
- * console.error(`stderr: ${data}`);
- * });
- *
- * ls.on('close', (code) => {
- * console.log(`child process exited with code ${code}`);
- * });
- * ```
- *
- * Example: A very elaborate way to run `ps ax | grep ssh`
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const ps = spawn('ps', ['ax']);
- * const grep = spawn('grep', ['ssh']);
- *
- * ps.stdout.on('data', (data) => {
- * grep.stdin.write(data);
- * });
- *
- * ps.stderr.on('data', (data) => {
- * console.error(`ps stderr: ${data}`);
- * });
- *
- * ps.on('close', (code) => {
- * if (code !== 0) {
- * console.log(`ps process exited with code ${code}`);
- * }
- * grep.stdin.end();
- * });
- *
- * grep.stdout.on('data', (data) => {
- * console.log(data.toString());
- * });
- *
- * grep.stderr.on('data', (data) => {
- * console.error(`grep stderr: ${data}`);
- * });
- *
- * grep.on('close', (code) => {
- * if (code !== 0) {
- * console.log(`grep process exited with code ${code}`);
- * }
- * });
- * ```
- *
- * Example of checking for failed `spawn`:
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const subprocess = spawn('bad_command');
- *
- * subprocess.on('error', (err) => {
- * console.error('Failed to start subprocess.');
- * });
- * ```
- *
- * Certain platforms (macOS, Linux) will use the value of `argv[0]` for the process
- * title while others (Windows, SunOS) will use `command`.
- *
- * Node.js overwrites `argv[0]` with `process.execPath` on startup, so `process.argv[0]` in a Node.js child process will not match the `argv0` parameter passed to `spawn` from the parent. Retrieve
- * it with the `process.argv0` property instead.
- *
- * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except
- * the error passed to the callback will be an `AbortError`:
- *
- * ```js
- * import { spawn } from 'node:child_process';
- * const controller = new AbortController();
- * const { signal } = controller;
- * const grep = spawn('grep', ['ssh'], { signal });
- * grep.on('error', (err) => {
- * // This will be called with err being an AbortError if the controller aborts
- * });
- * controller.abort(); // Stops the child process
- * ```
- * @since v0.1.90
- * @param command The command to run.
- * @param args List of string arguments.
- */
- function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(command: string, options: SpawnOptions): ChildProcess;
- // overloads of spawn with 'args'
- function spawn(
- command: string,
- args?: readonly string[],
- options?: SpawnOptionsWithoutStdio,
- ): ChildProcessWithoutNullStreams;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(
- command: string,
- args: readonly string[],
- options: SpawnOptionsWithStdioTuple,
- ): ChildProcessByStdio;
- function spawn(command: string, args: readonly string[], options: SpawnOptions): ChildProcess;
- interface ExecOptions extends CommonOptions {
- shell?: string | undefined;
- signal?: AbortSignal | undefined;
- maxBuffer?: number | undefined;
- killSignal?: NodeJS.Signals | number | undefined;
- }
- interface ExecOptionsWithStringEncoding extends ExecOptions {
- encoding: BufferEncoding;
- }
- interface ExecOptionsWithBufferEncoding extends ExecOptions {
- encoding: BufferEncoding | null; // specify `null`.
- }
- interface ExecException extends Error {
- cmd?: string | undefined;
- killed?: boolean | undefined;
- code?: number | undefined;
- signal?: NodeJS.Signals | undefined;
- stdout?: string;
- stderr?: string;
- }
- /**
- * Spawns a shell then executes the `command` within that shell, buffering any
- * generated output. The `command` string passed to the exec function is processed
- * directly by the shell and special characters (vary based on [shell](https://en.wikipedia.org/wiki/List_of_command-line_interpreters))
- * need to be dealt with accordingly:
- *
- * ```js
- * import { exec } from 'node:child_process';
- *
- * exec('"/path/to/test file/test.sh" arg1 arg2');
- * // Double quotes are used so that the space in the path is not interpreted as
- * // a delimiter of multiple arguments.
- *
- * exec('echo "The \\$HOME variable is $HOME"');
- * // The $HOME variable is escaped in the first instance, but not in the second.
- * ```
- *
- * **Never pass unsanitized user input to this function. Any input containing shell**
- * **metacharacters may be used to trigger arbitrary command execution.**
- *
- * If a `callback` function is provided, it is called with the arguments `(error, stdout, stderr)`. On success, `error` will be `null`. On error, `error` will be an instance of `Error`. The
- * `error.code` property will be
- * the exit code of the process. By convention, any exit code other than `0` indicates an error. `error.signal` will be the signal that terminated the
- * process.
- *
- * The `stdout` and `stderr` arguments passed to the callback will contain the
- * stdout and stderr output of the child process. By default, Node.js will decode
- * the output as UTF-8 and pass strings to the callback. The `encoding` option
- * can be used to specify the character encoding used to decode the stdout and
- * stderr output. If `encoding` is `'buffer'`, or an unrecognized character
- * encoding, `Buffer` objects will be passed to the callback instead.
- *
- * ```js
- * import { exec } from 'node:child_process';
- * exec('cat *.js missing_file | wc -l', (error, stdout, stderr) => {
- * if (error) {
- * console.error(`exec error: ${error}`);
- * return;
- * }
- * console.log(`stdout: ${stdout}`);
- * console.error(`stderr: ${stderr}`);
- * });
- * ```
- *
- * If `timeout` is greater than `0`, the parent will send the signal
- * identified by the `killSignal` property (the default is `'SIGTERM'`) if the
- * child runs longer than `timeout` milliseconds.
- *
- * Unlike the [`exec(3)`](http://man7.org/linux/man-pages/man3/exec.3.html) POSIX system call, `child_process.exec()` does not replace
- * the existing process and uses a shell to execute the command.
- *
- * If this method is invoked as its `util.promisify()` ed version, it returns
- * a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned `ChildProcess` instance is attached to the `Promise` as a `child` property. In
- * case of an error (including any error resulting in an exit code other than 0), a
- * rejected promise is returned, with the same `error` object given in the
- * callback, but with two additional properties `stdout` and `stderr`.
- *
- * ```js
- * import util from 'node:util';
- * import child_process from 'node:child_process';
- * const exec = util.promisify(child_process.exec);
- *
- * async function lsExample() {
- * const { stdout, stderr } = await exec('ls');
- * console.log('stdout:', stdout);
- * console.error('stderr:', stderr);
- * }
- * lsExample();
- * ```
- *
- * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except
- * the error passed to the callback will be an `AbortError`:
- *
- * ```js
- * import { exec } from 'node:child_process';
- * const controller = new AbortController();
- * const { signal } = controller;
- * const child = exec('grep ssh', { signal }, (error) => {
- * console.error(error); // an AbortError
- * });
- * controller.abort();
- * ```
- * @since v0.1.90
- * @param command The command to run, with space-separated arguments.
- * @param callback called with the output when process terminates.
- */
- function exec(
- command: string,
- callback?: (error: ExecException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
- function exec(
- command: string,
- options: {
- encoding: "buffer" | null;
- } & ExecOptions,
- callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void,
- ): ChildProcess;
- // `options` with well known `encoding` means stdout/stderr are definitely `string`.
- function exec(
- command: string,
- options: {
- encoding: BufferEncoding;
- } & ExecOptions,
- callback?: (error: ExecException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
- // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
- function exec(
- command: string,
- options: {
- encoding: BufferEncoding;
- } & ExecOptions,
- callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
- ): ChildProcess;
- // `options` without an `encoding` means stdout/stderr are definitely `string`.
- function exec(
- command: string,
- options: ExecOptions,
- callback?: (error: ExecException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- // fallback if nothing else matches. Worst case is always `string | Buffer`.
- function exec(
- command: string,
- options: (ObjectEncodingOptions & ExecOptions) | undefined | null,
- callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
- ): ChildProcess;
- interface PromiseWithChild extends Promise {
- child: ChildProcess;
- }
- namespace exec {
- function __promisify__(command: string): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- command: string,
- options: {
- encoding: "buffer" | null;
- } & ExecOptions,
- ): PromiseWithChild<{
- stdout: Buffer;
- stderr: Buffer;
- }>;
- function __promisify__(
- command: string,
- options: {
- encoding: BufferEncoding;
- } & ExecOptions,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- command: string,
- options: ExecOptions,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- command: string,
- options?: (ObjectEncodingOptions & ExecOptions) | null,
- ): PromiseWithChild<{
- stdout: string | Buffer;
- stderr: string | Buffer;
- }>;
- }
- interface ExecFileOptions extends CommonOptions, Abortable {
- maxBuffer?: number | undefined;
- killSignal?: NodeJS.Signals | number | undefined;
- windowsVerbatimArguments?: boolean | undefined;
- shell?: boolean | string | undefined;
- signal?: AbortSignal | undefined;
- }
- interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
- encoding: BufferEncoding;
- }
- interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
- encoding: "buffer" | null;
- }
- interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {
- encoding: BufferEncoding;
- }
- type ExecFileException =
- & Omit
- & Omit
- & { code?: string | number | undefined | null };
- /**
- * The `child_process.execFile()` function is similar to {@link exec} except that it does not spawn a shell by default. Rather, the specified
- * executable `file` is spawned directly as a new process making it slightly more
- * efficient than {@link exec}.
- *
- * The same options as {@link exec} are supported. Since a shell is
- * not spawned, behaviors such as I/O redirection and file globbing are not
- * supported.
- *
- * ```js
- * import { execFile } from 'node:child_process';
- * const child = execFile('node', ['--version'], (error, stdout, stderr) => {
- * if (error) {
- * throw error;
- * }
- * console.log(stdout);
- * });
- * ```
- *
- * The `stdout` and `stderr` arguments passed to the callback will contain the
- * stdout and stderr output of the child process. By default, Node.js will decode
- * the output as UTF-8 and pass strings to the callback. The `encoding` option
- * can be used to specify the character encoding used to decode the stdout and
- * stderr output. If `encoding` is `'buffer'`, or an unrecognized character
- * encoding, `Buffer` objects will be passed to the callback instead.
- *
- * If this method is invoked as its `util.promisify()` ed version, it returns
- * a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned `ChildProcess` instance is attached to the `Promise` as a `child` property. In
- * case of an error (including any error resulting in an exit code other than 0), a
- * rejected promise is returned, with the same `error` object given in the
- * callback, but with two additional properties `stdout` and `stderr`.
- *
- * ```js
- * import util from 'node:util';
- * import child_process from 'node:child_process';
- * const execFile = util.promisify(child_process.execFile);
- * async function getVersion() {
- * const { stdout } = await execFile('node', ['--version']);
- * console.log(stdout);
- * }
- * getVersion();
- * ```
- *
- * **If the `shell` option is enabled, do not pass unsanitized user input to this**
- * **function. Any input containing shell metacharacters may be used to trigger**
- * **arbitrary command execution.**
- *
- * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except
- * the error passed to the callback will be an `AbortError`:
- *
- * ```js
- * import { execFile } from 'node:child_process';
- * const controller = new AbortController();
- * const { signal } = controller;
- * const child = execFile('node', ['--version'], { signal }, (error) => {
- * console.error(error); // an AbortError
- * });
- * controller.abort();
- * ```
- * @since v0.1.91
- * @param file The name or path of the executable file to run.
- * @param args List of string arguments.
- * @param callback Called with the output when process terminates.
- */
- function execFile(file: string): ChildProcess;
- function execFile(
- file: string,
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
- ): ChildProcess;
- function execFile(file: string, args?: readonly string[] | null): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
- ): ChildProcess;
- // no `options` definitely means stdout/stderr are `string`.
- function execFile(
- file: string,
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
- function execFile(
- file: string,
- options: ExecFileOptionsWithBufferEncoding,
- callback: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
- ): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptionsWithBufferEncoding,
- callback: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
- ): ChildProcess;
- // `options` with well known `encoding` means stdout/stderr are definitely `string`.
- function execFile(
- file: string,
- options: ExecFileOptionsWithStringEncoding,
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptionsWithStringEncoding,
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
- // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
- function execFile(
- file: string,
- options: ExecFileOptionsWithOtherEncoding,
- callback: (error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
- ): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptionsWithOtherEncoding,
- callback: (error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
- ): ChildProcess;
- // `options` without an `encoding` means stdout/stderr are definitely `string`.
- function execFile(
- file: string,
- options: ExecFileOptions,
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptions,
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
- ): ChildProcess;
- // fallback if nothing else matches. Worst case is always `string | Buffer`.
- function execFile(
- file: string,
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
- callback:
- | ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void)
- | undefined
- | null,
- ): ChildProcess;
- function execFile(
- file: string,
- args: readonly string[] | undefined | null,
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
- callback:
- | ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void)
- | undefined
- | null,
- ): ChildProcess;
- namespace execFile {
- function __promisify__(file: string): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- file: string,
- args: readonly string[] | undefined | null,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- file: string,
- options: ExecFileOptionsWithBufferEncoding,
- ): PromiseWithChild<{
- stdout: Buffer;
- stderr: Buffer;
- }>;
- function __promisify__(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptionsWithBufferEncoding,
- ): PromiseWithChild<{
- stdout: Buffer;
- stderr: Buffer;
- }>;
- function __promisify__(
- file: string,
- options: ExecFileOptionsWithStringEncoding,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptionsWithStringEncoding,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- file: string,
- options: ExecFileOptionsWithOtherEncoding,
- ): PromiseWithChild<{
- stdout: string | Buffer;
- stderr: string | Buffer;
- }>;
- function __promisify__(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptionsWithOtherEncoding,
- ): PromiseWithChild<{
- stdout: string | Buffer;
- stderr: string | Buffer;
- }>;
- function __promisify__(
- file: string,
- options: ExecFileOptions,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- file: string,
- args: readonly string[] | undefined | null,
- options: ExecFileOptions,
- ): PromiseWithChild<{
- stdout: string;
- stderr: string;
- }>;
- function __promisify__(
- file: string,
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
- ): PromiseWithChild<{
- stdout: string | Buffer;
- stderr: string | Buffer;
- }>;
- function __promisify__(
- file: string,
- args: readonly string[] | undefined | null,
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
- ): PromiseWithChild<{
- stdout: string | Buffer;
- stderr: string | Buffer;
- }>;
- }
- interface ForkOptions extends ProcessEnvOptions, MessagingOptions, Abortable {
- execPath?: string | undefined;
- execArgv?: string[] | undefined;
- silent?: boolean | undefined;
- /**
- * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings.
- * If passed as an array, the first element is used for `stdin`, the second for
- * `stdout`, and the third for `stderr`. A fourth element can be used to
- * specify the `stdio` behavior beyond the standard streams. See
- * {@link ChildProcess.stdio} for more information.
- *
- * @default 'pipe'
- */
- stdio?: StdioOptions | undefined;
- detached?: boolean | undefined;
- windowsVerbatimArguments?: boolean | undefined;
- }
- /**
- * The `child_process.fork()` method is a special case of {@link spawn} used specifically to spawn new Node.js processes.
- * Like {@link spawn}, a `ChildProcess` object is returned. The
- * returned `ChildProcess` will have an additional communication channel
- * built-in that allows messages to be passed back and forth between the parent and
- * child. See `subprocess.send()` for details.
- *
- * Keep in mind that spawned Node.js child processes are
- * independent of the parent with exception of the IPC communication channel
- * that is established between the two. Each process has its own memory, with
- * their own V8 instances. Because of the additional resource allocations
- * required, spawning a large number of child Node.js processes is not
- * recommended.
- *
- * By default, `child_process.fork()` will spawn new Node.js instances using the `process.execPath` of the parent process. The `execPath` property in the `options` object allows for an alternative
- * execution path to be used.
- *
- * Node.js processes launched with a custom `execPath` will communicate with the
- * parent process using the file descriptor (fd) identified using the
- * environment variable `NODE_CHANNEL_FD` on the child process.
- *
- * Unlike the [`fork(2)`](http://man7.org/linux/man-pages/man2/fork.2.html) POSIX system call, `child_process.fork()` does not clone the
- * current process.
- *
- * The `shell` option available in {@link spawn} is not supported by `child_process.fork()` and will be ignored if set.
- *
- * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except
- * the error passed to the callback will be an `AbortError`:
- *
- * ```js
- * if (process.argv[2] === 'child') {
- * setTimeout(() => {
- * console.log(`Hello from ${process.argv[2]}!`);
- * }, 1_000);
- * } else {
- * import { fork } from 'node:child_process';
- * const controller = new AbortController();
- * const { signal } = controller;
- * const child = fork(__filename, ['child'], { signal });
- * child.on('error', (err) => {
- * // This will be called with err being an AbortError if the controller aborts
- * });
- * controller.abort(); // Stops the child process
- * }
- * ```
- * @since v0.5.0
- * @param modulePath The module to run in the child.
- * @param args List of string arguments.
- */
- function fork(modulePath: string | URL, options?: ForkOptions): ChildProcess;
- function fork(modulePath: string | URL, args?: readonly string[], options?: ForkOptions): ChildProcess;
- interface SpawnSyncOptions extends CommonSpawnOptions {
- input?: string | NodeJS.ArrayBufferView | undefined;
- maxBuffer?: number | undefined;
- encoding?: BufferEncoding | "buffer" | null | undefined;
- }
- interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
- encoding: BufferEncoding;
- }
- interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
- encoding?: "buffer" | null | undefined;
- }
- interface SpawnSyncReturns {
- pid: number;
- output: Array;
- stdout: T;
- stderr: T;
- status: number | null;
- signal: NodeJS.Signals | null;
- error?: Error | undefined;
- }
- /**
- * The `child_process.spawnSync()` method is generally identical to {@link spawn} with the exception that the function will not return
- * until the child process has fully closed. When a timeout has been encountered
- * and `killSignal` is sent, the method won't return until the process has
- * completely exited. If the process intercepts and handles the `SIGTERM` signal
- * and doesn't exit, the parent process will wait until the child process has
- * exited.
- *
- * **If the `shell` option is enabled, do not pass unsanitized user input to this**
- * **function. Any input containing shell metacharacters may be used to trigger**
- * **arbitrary command execution.**
- * @since v0.11.12
- * @param command The command to run.
- * @param args List of string arguments.
- */
- function spawnSync(command: string): SpawnSyncReturns;
- function spawnSync(command: string, options: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns;
- function spawnSync(command: string, options: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns;
- function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns;
- function spawnSync(command: string, args: readonly string[]): SpawnSyncReturns;
- function spawnSync(
- command: string,
- args: readonly string[],
- options: SpawnSyncOptionsWithStringEncoding,
- ): SpawnSyncReturns;
- function spawnSync(
- command: string,
- args: readonly string[],
- options: SpawnSyncOptionsWithBufferEncoding,
- ): SpawnSyncReturns;
- function spawnSync(
- command: string,
- args?: readonly string[],
- options?: SpawnSyncOptions,
- ): SpawnSyncReturns;
- interface CommonExecOptions extends CommonOptions {
- input?: string | NodeJS.ArrayBufferView | undefined;
- /**
- * Can be set to 'pipe', 'inherit, or 'ignore', or an array of these strings.
- * If passed as an array, the first element is used for `stdin`, the second for
- * `stdout`, and the third for `stderr`. A fourth element can be used to
- * specify the `stdio` behavior beyond the standard streams. See
- * {@link ChildProcess.stdio} for more information.
- *
- * @default 'pipe'
- */
- stdio?: StdioOptions | undefined;
- killSignal?: NodeJS.Signals | number | undefined;
- maxBuffer?: number | undefined;
- encoding?: BufferEncoding | "buffer" | null | undefined;
- }
- interface ExecSyncOptions extends CommonExecOptions {
- shell?: string | undefined;
- }
- interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
- encoding: BufferEncoding;
- }
- interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
- encoding?: "buffer" | null | undefined;
- }
- /**
- * The `child_process.execSync()` method is generally identical to {@link exec} with the exception that the method will not return
- * until the child process has fully closed. When a timeout has been encountered
- * and `killSignal` is sent, the method won't return until the process has
- * completely exited. If the child process intercepts and handles the `SIGTERM` signal and doesn't exit, the parent process will wait until the child process
- * has exited.
- *
- * If the process times out or has a non-zero exit code, this method will throw.
- * The `Error` object will contain the entire result from {@link spawnSync}.
- *
- * **Never pass unsanitized user input to this function. Any input containing shell**
- * **metacharacters may be used to trigger arbitrary command execution.**
- * @since v0.11.12
- * @param command The command to run.
- * @return The stdout from the command.
- */
- function execSync(command: string): Buffer;
- function execSync(command: string, options: ExecSyncOptionsWithStringEncoding): string;
- function execSync(command: string, options: ExecSyncOptionsWithBufferEncoding): Buffer;
- function execSync(command: string, options?: ExecSyncOptions): string | Buffer;
- interface ExecFileSyncOptions extends CommonExecOptions {
- shell?: boolean | string | undefined;
- }
- interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions {
- encoding: BufferEncoding;
- }
- interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions {
- encoding?: "buffer" | null; // specify `null`.
- }
- /**
- * The `child_process.execFileSync()` method is generally identical to {@link execFile} with the exception that the method will not
- * return until the child process has fully closed. When a timeout has been
- * encountered and `killSignal` is sent, the method won't return until the process
- * has completely exited.
- *
- * If the child process intercepts and handles the `SIGTERM` signal and
- * does not exit, the parent process will still wait until the child process has
- * exited.
- *
- * If the process times out or has a non-zero exit code, this method will throw an `Error` that will include the full result of the underlying {@link spawnSync}.
- *
- * **If the `shell` option is enabled, do not pass unsanitized user input to this**
- * **function. Any input containing shell metacharacters may be used to trigger**
- * **arbitrary command execution.**
- * @since v0.11.12
- * @param file The name or path of the executable file to run.
- * @param args List of string arguments.
- * @return The stdout from the command.
- */
- function execFileSync(file: string): Buffer;
- function execFileSync(file: string, options: ExecFileSyncOptionsWithStringEncoding): string;
- function execFileSync(file: string, options: ExecFileSyncOptionsWithBufferEncoding): Buffer;
- function execFileSync(file: string, options?: ExecFileSyncOptions): string | Buffer;
- function execFileSync(file: string, args: readonly string[]): Buffer;
- function execFileSync(
- file: string,
- args: readonly string[],
- options: ExecFileSyncOptionsWithStringEncoding,
- ): string;
- function execFileSync(
- file: string,
- args: readonly string[],
- options: ExecFileSyncOptionsWithBufferEncoding,
- ): Buffer;
- function execFileSync(file: string, args?: readonly string[], options?: ExecFileSyncOptions): string | Buffer;
-}
-declare module "node:child_process" {
- export * from "child_process";
-}
diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts
deleted file mode 100644
index fa25fda..0000000
--- a/node_modules/@types/node/cluster.d.ts
+++ /dev/null
@@ -1,579 +0,0 @@
-/**
- * Clusters of Node.js processes can be used to run multiple instances of Node.js
- * that can distribute workloads among their application threads. When process isolation
- * is not needed, use the [`worker_threads`](https://nodejs.org/docs/latest-v24.x/api/worker_threads.html)
- * module instead, which allows running multiple application threads within a single Node.js instance.
- *
- * The cluster module allows easy creation of child processes that all share
- * server ports.
- *
- * ```js
- * import cluster from 'node:cluster';
- * import http from 'node:http';
- * import { availableParallelism } from 'node:os';
- * import process from 'node:process';
- *
- * const numCPUs = availableParallelism();
- *
- * if (cluster.isPrimary) {
- * console.log(`Primary ${process.pid} is running`);
- *
- * // Fork workers.
- * for (let i = 0; i < numCPUs; i++) {
- * cluster.fork();
- * }
- *
- * cluster.on('exit', (worker, code, signal) => {
- * console.log(`worker ${worker.process.pid} died`);
- * });
- * } else {
- * // Workers can share any TCP connection
- * // In this case it is an HTTP server
- * http.createServer((req, res) => {
- * res.writeHead(200);
- * res.end('hello world\n');
- * }).listen(8000);
- *
- * console.log(`Worker ${process.pid} started`);
- * }
- * ```
- *
- * Running Node.js will now share port 8000 between the workers:
- *
- * ```console
- * $ node server.js
- * Primary 3596 is running
- * Worker 4324 started
- * Worker 4520 started
- * Worker 6056 started
- * Worker 5644 started
- * ```
- *
- * On Windows, it is not yet possible to set up a named pipe server in a worker.
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/cluster.js)
- */
-declare module "cluster" {
- import * as child from "node:child_process";
- import EventEmitter = require("node:events");
- import * as net from "node:net";
- type SerializationType = "json" | "advanced";
- export interface ClusterSettings {
- /**
- * List of string arguments passed to the Node.js executable.
- * @default process.execArgv
- */
- execArgv?: string[] | undefined;
- /**
- * File path to worker file.
- * @default process.argv[1]
- */
- exec?: string | undefined;
- /**
- * String arguments passed to worker.
- * @default process.argv.slice(2)
- */
- args?: string[] | undefined;
- /**
- * Whether or not to send output to parent's stdio.
- * @default false
- */
- silent?: boolean | undefined;
- /**
- * Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must
- * contain an `'ipc'` entry. When this option is provided, it overrides `silent`. See [`child_prcess.spawn()`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#child_processspawncommand-args-options)'s
- * [`stdio`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#optionsstdio).
- */
- stdio?: any[] | undefined;
- /**
- * Sets the user identity of the process. (See [`setuid(2)`](https://man7.org/linux/man-pages/man2/setuid.2.html).)
- */
- uid?: number | undefined;
- /**
- * Sets the group identity of the process. (See [`setgid(2)`](https://man7.org/linux/man-pages/man2/setgid.2.html).)
- */
- gid?: number | undefined;
- /**
- * Sets inspector port of worker. This can be a number, or a function that takes no arguments and returns a number.
- * By default each worker gets its own port, incremented from the primary's `process.debugPort`.
- */
- inspectPort?: number | (() => number) | undefined;
- /**
- * Specify the kind of serialization used for sending messages between processes. Possible values are `'json'` and `'advanced'`.
- * See [Advanced serialization for `child_process`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#advanced-serialization) for more details.
- * @default false
- */
- serialization?: SerializationType | undefined;
- /**
- * Current working directory of the worker process.
- * @default undefined (inherits from parent process)
- */
- cwd?: string | undefined;
- /**
- * Hide the forked processes console window that would normally be created on Windows systems.
- * @default false
- */
- windowsHide?: boolean | undefined;
- }
- export interface Address {
- address: string;
- port: number;
- /**
- * The `addressType` is one of:
- *
- * * `4` (TCPv4)
- * * `6` (TCPv6)
- * * `-1` (Unix domain socket)
- * * `'udp4'` or `'udp6'` (UDPv4 or UDPv6)
- */
- addressType: 4 | 6 | -1 | "udp4" | "udp6";
- }
- /**
- * A `Worker` object contains all public information and method about a worker.
- * In the primary it can be obtained using `cluster.workers`. In a worker
- * it can be obtained using `cluster.worker`.
- * @since v0.7.0
- */
- export class Worker extends EventEmitter {
- /**
- * Each new worker is given its own unique id, this id is stored in the `id`.
- *
- * While a worker is alive, this is the key that indexes it in `cluster.workers`.
- * @since v0.8.0
- */
- id: number;
- /**
- * All workers are created using [`child_process.fork()`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#child_processforkmodulepath-args-options), the returned object
- * from this function is stored as `.process`. In a worker, the global `process` is stored.
- *
- * See: [Child Process module](https://nodejs.org/docs/latest-v24.x/api/child_process.html#child_processforkmodulepath-args-options).
- *
- * Workers will call `process.exit(0)` if the `'disconnect'` event occurs
- * on `process` and `.exitedAfterDisconnect` is not `true`. This protects against
- * accidental disconnection.
- * @since v0.7.0
- */
- process: child.ChildProcess;
- /**
- * Send a message to a worker or primary, optionally with a handle.
- *
- * In the primary, this sends a message to a specific worker. It is identical to [`ChildProcess.send()`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#subprocesssendmessage-sendhandle-options-callback).
- *
- * In a worker, this sends a message to the primary. It is identical to `process.send()`.
- *
- * This example will echo back all messages from the primary:
- *
- * ```js
- * if (cluster.isPrimary) {
- * const worker = cluster.fork();
- * worker.send('hi there');
- *
- * } else if (cluster.isWorker) {
- * process.on('message', (msg) => {
- * process.send(msg);
- * });
- * }
- * ```
- * @since v0.7.0
- * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles.
- */
- send(message: child.Serializable, callback?: (error: Error | null) => void): boolean;
- send(
- message: child.Serializable,
- sendHandle: child.SendHandle,
- callback?: (error: Error | null) => void,
- ): boolean;
- send(
- message: child.Serializable,
- sendHandle: child.SendHandle,
- options?: child.MessageOptions,
- callback?: (error: Error | null) => void,
- ): boolean;
- /**
- * This function will kill the worker. In the primary worker, it does this by
- * disconnecting the `worker.process`, and once disconnected, killing with `signal`. In the worker, it does it by killing the process with `signal`.
- *
- * The `kill()` function kills the worker process without waiting for a graceful
- * disconnect, it has the same behavior as `worker.process.kill()`.
- *
- * This method is aliased as `worker.destroy()` for backwards compatibility.
- *
- * In a worker, `process.kill()` exists, but it is not this function;
- * it is [`kill()`](https://nodejs.org/docs/latest-v24.x/api/process.html#processkillpid-signal).
- * @since v0.9.12
- * @param [signal='SIGTERM'] Name of the kill signal to send to the worker process.
- */
- kill(signal?: string): void;
- destroy(signal?: string): void;
- /**
- * In a worker, this function will close all servers, wait for the `'close'` event
- * on those servers, and then disconnect the IPC channel.
- *
- * In the primary, an internal message is sent to the worker causing it to call `.disconnect()` on itself.
- *
- * Causes `.exitedAfterDisconnect` to be set.
- *
- * After a server is closed, it will no longer accept new connections,
- * but connections may be accepted by any other listening worker. Existing
- * connections will be allowed to close as usual. When no more connections exist,
- * see `server.close()`, the IPC channel to the worker will close allowing it
- * to die gracefully.
- *
- * The above applies _only_ to server connections, client connections are not
- * automatically closed by workers, and disconnect does not wait for them to close
- * before exiting.
- *
- * In a worker, `process.disconnect` exists, but it is not this function;
- * it is `disconnect()`.
- *
- * Because long living server connections may block workers from disconnecting, it
- * may be useful to send a message, so application specific actions may be taken to
- * close them. It also may be useful to implement a timeout, killing a worker if
- * the `'disconnect'` event has not been emitted after some time.
- *
- * ```js
- * import net from 'node:net';
- *
- * if (cluster.isPrimary) {
- * const worker = cluster.fork();
- * let timeout;
- *
- * worker.on('listening', (address) => {
- * worker.send('shutdown');
- * worker.disconnect();
- * timeout = setTimeout(() => {
- * worker.kill();
- * }, 2000);
- * });
- *
- * worker.on('disconnect', () => {
- * clearTimeout(timeout);
- * });
- *
- * } else if (cluster.isWorker) {
- * const server = net.createServer((socket) => {
- * // Connections never end
- * });
- *
- * server.listen(8000);
- *
- * process.on('message', (msg) => {
- * if (msg === 'shutdown') {
- * // Initiate graceful close of any connections to server
- * }
- * });
- * }
- * ```
- * @since v0.7.7
- * @return A reference to `worker`.
- */
- disconnect(): this;
- /**
- * This function returns `true` if the worker is connected to its primary via its
- * IPC channel, `false` otherwise. A worker is connected to its primary after it
- * has been created. It is disconnected after the `'disconnect'` event is emitted.
- * @since v0.11.14
- */
- isConnected(): boolean;
- /**
- * This function returns `true` if the worker's process has terminated (either
- * because of exiting or being signaled). Otherwise, it returns `false`.
- *
- * ```js
- * import cluster from 'node:cluster';
- * import http from 'node:http';
- * import { availableParallelism } from 'node:os';
- * import process from 'node:process';
- *
- * const numCPUs = availableParallelism();
- *
- * if (cluster.isPrimary) {
- * console.log(`Primary ${process.pid} is running`);
- *
- * // Fork workers.
- * for (let i = 0; i < numCPUs; i++) {
- * cluster.fork();
- * }
- *
- * cluster.on('fork', (worker) => {
- * console.log('worker is dead:', worker.isDead());
- * });
- *
- * cluster.on('exit', (worker, code, signal) => {
- * console.log('worker is dead:', worker.isDead());
- * });
- * } else {
- * // Workers can share any TCP connection. In this case, it is an HTTP server.
- * http.createServer((req, res) => {
- * res.writeHead(200);
- * res.end(`Current process\n ${process.pid}`);
- * process.kill(process.pid);
- * }).listen(8000);
- * }
- * ```
- * @since v0.11.14
- */
- isDead(): boolean;
- /**
- * This property is `true` if the worker exited due to `.disconnect()`.
- * If the worker exited any other way, it is `false`. If the
- * worker has not exited, it is `undefined`.
- *
- * The boolean `worker.exitedAfterDisconnect` allows distinguishing between
- * voluntary and accidental exit, the primary may choose not to respawn a worker
- * based on this value.
- *
- * ```js
- * cluster.on('exit', (worker, code, signal) => {
- * if (worker.exitedAfterDisconnect === true) {
- * console.log('Oh, it was just voluntary – no need to worry');
- * }
- * });
- *
- * // kill worker
- * worker.kill();
- * ```
- * @since v6.0.0
- */
- exitedAfterDisconnect: boolean;
- /**
- * events.EventEmitter
- * 1. disconnect
- * 2. error
- * 3. exit
- * 4. listening
- * 5. message
- * 6. online
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "disconnect", listener: () => void): this;
- addListener(event: "error", listener: (error: Error) => void): this;
- addListener(event: "exit", listener: (code: number, signal: string) => void): this;
- addListener(event: "listening", listener: (address: Address) => void): this;
- addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- addListener(event: "online", listener: () => void): this;
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "disconnect"): boolean;
- emit(event: "error", error: Error): boolean;
- emit(event: "exit", code: number, signal: string): boolean;
- emit(event: "listening", address: Address): boolean;
- emit(event: "message", message: any, handle: net.Socket | net.Server): boolean;
- emit(event: "online"): boolean;
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "disconnect", listener: () => void): this;
- on(event: "error", listener: (error: Error) => void): this;
- on(event: "exit", listener: (code: number, signal: string) => void): this;
- on(event: "listening", listener: (address: Address) => void): this;
- on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- on(event: "online", listener: () => void): this;
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "disconnect", listener: () => void): this;
- once(event: "error", listener: (error: Error) => void): this;
- once(event: "exit", listener: (code: number, signal: string) => void): this;
- once(event: "listening", listener: (address: Address) => void): this;
- once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- once(event: "online", listener: () => void): this;
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "disconnect", listener: () => void): this;
- prependListener(event: "error", listener: (error: Error) => void): this;
- prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
- prependListener(event: "listening", listener: (address: Address) => void): this;
- prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- prependListener(event: "online", listener: () => void): this;
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "disconnect", listener: () => void): this;
- prependOnceListener(event: "error", listener: (error: Error) => void): this;
- prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
- prependOnceListener(event: "listening", listener: (address: Address) => void): this;
- prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- prependOnceListener(event: "online", listener: () => void): this;
- }
- export interface Cluster extends EventEmitter {
- disconnect(callback?: () => void): void;
- /**
- * Spawn a new worker process.
- *
- * This can only be called from the primary process.
- * @param env Key/value pairs to add to worker process environment.
- * @since v0.6.0
- */
- fork(env?: any): Worker;
- /** @deprecated since v16.0.0 - use isPrimary. */
- readonly isMaster: boolean;
- /**
- * True if the process is a primary. This is determined by the `process.env.NODE_UNIQUE_ID`. If `process.env.NODE_UNIQUE_ID`
- * is undefined, then `isPrimary` is `true`.
- * @since v16.0.0
- */
- readonly isPrimary: boolean;
- /**
- * True if the process is not a primary (it is the negation of `cluster.isPrimary`).
- * @since v0.6.0
- */
- readonly isWorker: boolean;
- /**
- * The scheduling policy, either `cluster.SCHED_RR` for round-robin or `cluster.SCHED_NONE` to leave it to the operating system. This is a
- * global setting and effectively frozen once either the first worker is spawned, or [`.setupPrimary()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clustersetupprimarysettings)
- * is called, whichever comes first.
- *
- * `SCHED_RR` is the default on all operating systems except Windows. Windows will change to `SCHED_RR` once libuv is able to effectively distribute
- * IOCP handles without incurring a large performance hit.
- *
- * `cluster.schedulingPolicy` can also be set through the `NODE_CLUSTER_SCHED_POLICY` environment variable. Valid values are `'rr'` and `'none'`.
- * @since v0.11.2
- */
- schedulingPolicy: number;
- /**
- * After calling [`.setupPrimary()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clustersetupprimarysettings)
- * (or [`.fork()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clusterforkenv)) this settings object will contain
- * the settings, including the default values.
- *
- * This object is not intended to be changed or set manually.
- * @since v0.7.1
- */
- readonly settings: ClusterSettings;
- /** @deprecated since v16.0.0 - use [`.setupPrimary()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clustersetupprimarysettings) instead. */
- setupMaster(settings?: ClusterSettings): void;
- /**
- * `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in `cluster.settings`.
- *
- * Any settings changes only affect future calls to [`.fork()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clusterforkenv)
- * and have no effect on workers that are already running.
- *
- * The only attribute of a worker that cannot be set via `.setupPrimary()` is the `env` passed to
- * [`.fork()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clusterforkenv).
- *
- * The defaults above apply to the first call only; the defaults for later calls are the current values at the time of
- * `cluster.setupPrimary()` is called.
- *
- * ```js
- * import cluster from 'node:cluster';
- *
- * cluster.setupPrimary({
- * exec: 'worker.js',
- * args: ['--use', 'https'],
- * silent: true,
- * });
- * cluster.fork(); // https worker
- * cluster.setupPrimary({
- * exec: 'worker.js',
- * args: ['--use', 'http'],
- * });
- * cluster.fork(); // http worker
- * ```
- *
- * This can only be called from the primary process.
- * @since v16.0.0
- */
- setupPrimary(settings?: ClusterSettings): void;
- /**
- * A reference to the current worker object. Not available in the primary process.
- *
- * ```js
- * import cluster from 'node:cluster';
- *
- * if (cluster.isPrimary) {
- * console.log('I am primary');
- * cluster.fork();
- * cluster.fork();
- * } else if (cluster.isWorker) {
- * console.log(`I am worker #${cluster.worker.id}`);
- * }
- * ```
- * @since v0.7.0
- */
- readonly worker?: Worker | undefined;
- /**
- * A hash that stores the active worker objects, keyed by `id` field. This makes it easy to loop through all the workers. It is only available in the primary process.
- *
- * A worker is removed from `cluster.workers` after the worker has disconnected _and_ exited. The order between these two events cannot be determined in advance. However, it
- * is guaranteed that the removal from the `cluster.workers` list happens before the last `'disconnect'` or `'exit'` event is emitted.
- *
- * ```js
- * import cluster from 'node:cluster';
- *
- * for (const worker of Object.values(cluster.workers)) {
- * worker.send('big announcement to all workers');
- * }
- * ```
- * @since v0.7.0
- */
- readonly workers?: NodeJS.Dict | undefined;
- readonly SCHED_NONE: number;
- readonly SCHED_RR: number;
- /**
- * events.EventEmitter
- * 1. disconnect
- * 2. exit
- * 3. fork
- * 4. listening
- * 5. message
- * 6. online
- * 7. setup
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "disconnect", listener: (worker: Worker) => void): this;
- addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- addListener(event: "fork", listener: (worker: Worker) => void): this;
- addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- addListener(
- event: "message",
- listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,
- ): this; // the handle is a net.Socket or net.Server object, or undefined.
- addListener(event: "online", listener: (worker: Worker) => void): this;
- addListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "disconnect", worker: Worker): boolean;
- emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
- emit(event: "fork", worker: Worker): boolean;
- emit(event: "listening", worker: Worker, address: Address): boolean;
- emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
- emit(event: "online", worker: Worker): boolean;
- emit(event: "setup", settings: ClusterSettings): boolean;
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "disconnect", listener: (worker: Worker) => void): this;
- on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- on(event: "fork", listener: (worker: Worker) => void): this;
- on(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- on(event: "online", listener: (worker: Worker) => void): this;
- on(event: "setup", listener: (settings: ClusterSettings) => void): this;
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "disconnect", listener: (worker: Worker) => void): this;
- once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- once(event: "fork", listener: (worker: Worker) => void): this;
- once(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- once(event: "online", listener: (worker: Worker) => void): this;
- once(event: "setup", listener: (settings: ClusterSettings) => void): this;
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "disconnect", listener: (worker: Worker) => void): this;
- prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- prependListener(event: "fork", listener: (worker: Worker) => void): this;
- prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- // the handle is a net.Socket or net.Server object, or undefined.
- prependListener(
- event: "message",
- listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void,
- ): this;
- prependListener(event: "online", listener: (worker: Worker) => void): this;
- prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this;
- prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- prependOnceListener(event: "fork", listener: (worker: Worker) => void): this;
- prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- // the handle is a net.Socket or net.Server object, or undefined.
- prependOnceListener(
- event: "message",
- listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,
- ): this;
- prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
- prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
- }
- const cluster: Cluster;
- export default cluster;
-}
-declare module "node:cluster" {
- export * from "cluster";
- export { default as default } from "cluster";
-}
diff --git a/node_modules/@types/node/compatibility/iterators.d.ts b/node_modules/@types/node/compatibility/iterators.d.ts
deleted file mode 100644
index 156e785..0000000
--- a/node_modules/@types/node/compatibility/iterators.d.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-// Backwards-compatible iterator interfaces, augmented with iterator helper methods by lib.esnext.iterator in TypeScript 5.6.
-// The IterableIterator interface does not contain these methods, which creates assignability issues in places where IteratorObjects
-// are expected (eg. DOM-compatible APIs) if lib.esnext.iterator is loaded.
-// Also ensures that iterators returned by the Node API, which inherit from Iterator.prototype, correctly expose the iterator helper methods
-// if lib.esnext.iterator is loaded.
-// TODO: remove once this package no longer supports TS 5.5, and replace NodeJS.BuiltinIteratorReturn with BuiltinIteratorReturn.
-
-// Placeholders for TS <5.6
-interface IteratorObject {}
-interface AsyncIteratorObject {}
-
-declare namespace NodeJS {
- // Populate iterator methods for TS <5.6
- interface Iterator extends globalThis.Iterator {}
- interface AsyncIterator extends globalThis.AsyncIterator {}
-
- // Polyfill for TS 5.6's instrinsic BuiltinIteratorReturn type, required for DOM-compatible iterators
- type BuiltinIteratorReturn = ReturnType extends
- globalThis.Iterator ? TReturn
- : any;
-}
diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts
deleted file mode 100644
index c923bd0..0000000
--- a/node_modules/@types/node/console.d.ts
+++ /dev/null
@@ -1,452 +0,0 @@
-/**
- * The `node:console` module provides a simple debugging console that is similar to
- * the JavaScript console mechanism provided by web browsers.
- *
- * The module exports two specific components:
- *
- * * A `Console` class with methods such as `console.log()`, `console.error()`, and `console.warn()` that can be used to write to any Node.js stream.
- * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstdout) and
- * [`process.stderr`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.
- *
- * _**Warning**_: The global console object's methods are neither consistently
- * synchronous like the browser APIs they resemble, nor are they consistently
- * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v24.x/api/process.html#a-note-on-process-io) for
- * more information.
- *
- * Example using the global `console`:
- *
- * ```js
- * console.log('hello world');
- * // Prints: hello world, to stdout
- * console.log('hello %s', 'world');
- * // Prints: hello world, to stdout
- * console.error(new Error('Whoops, something bad happened'));
- * // Prints error message and stack trace to stderr:
- * // Error: Whoops, something bad happened
- * // at [eval]:5:15
- * // at Script.runInThisContext (node:vm:132:18)
- * // at Object.runInThisContext (node:vm:309:38)
- * // at node:internal/process/execution:77:19
- * // at [eval]-wrapper:6:22
- * // at evalScript (node:internal/process/execution:76:60)
- * // at node:internal/main/eval_string:23:3
- *
- * const name = 'Will Robinson';
- * console.warn(`Danger ${name}! Danger!`);
- * // Prints: Danger Will Robinson! Danger!, to stderr
- * ```
- *
- * Example using the `Console` class:
- *
- * ```js
- * const out = getStreamSomehow();
- * const err = getStreamSomehow();
- * const myConsole = new console.Console(out, err);
- *
- * myConsole.log('hello world');
- * // Prints: hello world, to out
- * myConsole.log('hello %s', 'world');
- * // Prints: hello world, to out
- * myConsole.error(new Error('Whoops, something bad happened'));
- * // Prints: [Error: Whoops, something bad happened], to err
- *
- * const name = 'Will Robinson';
- * myConsole.warn(`Danger ${name}! Danger!`);
- * // Prints: Danger Will Robinson! Danger!, to err
- * ```
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/console.js)
- */
-declare module "console" {
- import console = require("node:console");
- export = console;
-}
-declare module "node:console" {
- import { InspectOptions } from "node:util";
- global {
- // This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build
- interface Console {
- Console: console.ConsoleConstructor;
- /**
- * `console.assert()` writes a message if `value` is [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) or omitted. It only
- * writes a message and does not otherwise affect execution. The output always
- * starts with `"Assertion failed"`. If provided, `message` is formatted using
- * [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args).
- *
- * If `value` is [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy), nothing happens.
- *
- * ```js
- * console.assert(true, 'does nothing');
- *
- * console.assert(false, 'Whoops %s work', 'didn\'t');
- * // Assertion failed: Whoops didn't work
- *
- * console.assert();
- * // Assertion failed
- * ```
- * @since v0.1.101
- * @param value The value tested for being truthy.
- * @param message All arguments besides `value` are used as error message.
- */
- assert(value: any, message?: string, ...optionalParams: any[]): void;
- /**
- * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the
- * TTY. When `stdout` is not a TTY, this method does nothing.
- *
- * The specific operation of `console.clear()` can vary across operating systems
- * and terminal types. For most Linux operating systems, `console.clear()` operates similarly to the `clear` shell command. On Windows, `console.clear()` will clear only the output in the
- * current terminal viewport for the Node.js
- * binary.
- * @since v8.3.0
- */
- clear(): void;
- /**
- * Maintains an internal counter specific to `label` and outputs to `stdout` the
- * number of times `console.count()` has been called with the given `label`.
- *
- * ```js
- * > console.count()
- * default: 1
- * undefined
- * > console.count('default')
- * default: 2
- * undefined
- * > console.count('abc')
- * abc: 1
- * undefined
- * > console.count('xyz')
- * xyz: 1
- * undefined
- * > console.count('abc')
- * abc: 2
- * undefined
- * > console.count()
- * default: 3
- * undefined
- * >
- * ```
- * @since v8.3.0
- * @param [label='default'] The display label for the counter.
- */
- count(label?: string): void;
- /**
- * Resets the internal counter specific to `label`.
- *
- * ```js
- * > console.count('abc');
- * abc: 1
- * undefined
- * > console.countReset('abc');
- * undefined
- * > console.count('abc');
- * abc: 1
- * undefined
- * >
- * ```
- * @since v8.3.0
- * @param [label='default'] The display label for the counter.
- */
- countReset(label?: string): void;
- /**
- * The `console.debug()` function is an alias for {@link log}.
- * @since v8.0.0
- */
- debug(message?: any, ...optionalParams: any[]): void;
- /**
- * Uses [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options) on `obj` and prints the resulting string to `stdout`.
- * This function bypasses any custom `inspect()` function defined on `obj`.
- * @since v0.1.101
- */
- dir(obj: any, options?: InspectOptions): void;
- /**
- * This method calls `console.log()` passing it the arguments received.
- * This method does not produce any XML formatting.
- * @since v8.0.0
- */
- dirxml(...data: any[]): void;
- /**
- * Prints to `stderr` with newline. Multiple arguments can be passed, with the
- * first used as the primary message and all additional used as substitution
- * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)
- * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)).
- *
- * ```js
- * const code = 5;
- * console.error('error #%d', code);
- * // Prints: error #5, to stderr
- * console.error('error', code);
- * // Prints: error 5, to stderr
- * ```
- *
- * If formatting elements (e.g. `%d`) are not found in the first string then
- * [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options) is called on each argument and the
- * resulting string values are concatenated. See [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)
- * for more information.
- * @since v0.1.100
- */
- error(message?: any, ...optionalParams: any[]): void;
- /**
- * Increases indentation of subsequent lines by spaces for `groupIndentation` length.
- *
- * If one or more `label`s are provided, those are printed first without the
- * additional indentation.
- * @since v8.5.0
- */
- group(...label: any[]): void;
- /**
- * An alias for {@link group}.
- * @since v8.5.0
- */
- groupCollapsed(...label: any[]): void;
- /**
- * Decreases indentation of subsequent lines by spaces for `groupIndentation` length.
- * @since v8.5.0
- */
- groupEnd(): void;
- /**
- * The `console.info()` function is an alias for {@link log}.
- * @since v0.1.100
- */
- info(message?: any, ...optionalParams: any[]): void;
- /**
- * Prints to `stdout` with newline. Multiple arguments can be passed, with the
- * first used as the primary message and all additional used as substitution
- * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)
- * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)).
- *
- * ```js
- * const count = 5;
- * console.log('count: %d', count);
- * // Prints: count: 5, to stdout
- * console.log('count:', count);
- * // Prints: count: 5, to stdout
- * ```
- *
- * See [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args) for more information.
- * @since v0.1.100
- */
- log(message?: any, ...optionalParams: any[]): void;
- /**
- * Try to construct a table with the columns of the properties of `tabularData` (or use `properties`) and rows of `tabularData` and log it. Falls back to just
- * logging the argument if it can't be parsed as tabular.
- *
- * ```js
- * // These can't be parsed as tabular data
- * console.table(Symbol());
- * // Symbol()
- *
- * console.table(undefined);
- * // undefined
- *
- * console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
- * // ┌─────────┬─────┬─────┐
- * // │ (index) │ a │ b │
- * // ├─────────┼─────┼─────┤
- * // │ 0 │ 1 │ 'Y' │
- * // │ 1 │ 'Z' │ 2 │
- * // └─────────┴─────┴─────┘
- *
- * console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
- * // ┌─────────┬─────┐
- * // │ (index) │ a │
- * // ├─────────┼─────┤
- * // │ 0 │ 1 │
- * // │ 1 │ 'Z' │
- * // └─────────┴─────┘
- * ```
- * @since v10.0.0
- * @param properties Alternate properties for constructing the table.
- */
- table(tabularData: any, properties?: readonly string[]): void;
- /**
- * Starts a timer that can be used to compute the duration of an operation. Timers
- * are identified by a unique `label`. Use the same `label` when calling {@link timeEnd} to stop the timer and output the elapsed time in
- * suitable time units to `stdout`. For example, if the elapsed
- * time is 3869ms, `console.timeEnd()` displays "3.869s".
- * @since v0.1.104
- * @param [label='default']
- */
- time(label?: string): void;
- /**
- * Stops a timer that was previously started by calling {@link time} and
- * prints the result to `stdout`:
- *
- * ```js
- * console.time('bunch-of-stuff');
- * // Do a bunch of stuff.
- * console.timeEnd('bunch-of-stuff');
- * // Prints: bunch-of-stuff: 225.438ms
- * ```
- * @since v0.1.104
- * @param [label='default']
- */
- timeEnd(label?: string): void;
- /**
- * For a timer that was previously started by calling {@link time}, prints
- * the elapsed time and other `data` arguments to `stdout`:
- *
- * ```js
- * console.time('process');
- * const value = expensiveProcess1(); // Returns 42
- * console.timeLog('process', value);
- * // Prints "process: 365.227ms 42".
- * doExpensiveProcess2(value);
- * console.timeEnd('process');
- * ```
- * @since v10.7.0
- * @param [label='default']
- */
- timeLog(label?: string, ...data: any[]): void;
- /**
- * Prints to `stderr` the string `'Trace: '`, followed by the [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)
- * formatted message and stack trace to the current position in the code.
- *
- * ```js
- * console.trace('Show me');
- * // Prints: (stack trace will vary based on where trace is called)
- * // Trace: Show me
- * // at repl:2:9
- * // at REPLServer.defaultEval (repl.js:248:27)
- * // at bound (domain.js:287:14)
- * // at REPLServer.runBound [as eval] (domain.js:300:12)
- * // at REPLServer. (repl.js:412:12)
- * // at emitOne (events.js:82:20)
- * // at REPLServer.emit (events.js:169:7)
- * // at REPLServer.Interface._onLine (readline.js:210:10)
- * // at REPLServer.Interface._line (readline.js:549:8)
- * // at REPLServer.Interface._ttyWrite (readline.js:826:14)
- * ```
- * @since v0.1.104
- */
- trace(message?: any, ...optionalParams: any[]): void;
- /**
- * The `console.warn()` function is an alias for {@link error}.
- * @since v0.1.100
- */
- warn(message?: any, ...optionalParams: any[]): void;
- // --- Inspector mode only ---
- /**
- * This method does not display anything unless used in the inspector. The `console.profile()`
- * method starts a JavaScript CPU profile with an optional label until {@link profileEnd}
- * is called. The profile is then added to the Profile panel of the inspector.
- *
- * ```js
- * console.profile('MyLabel');
- * // Some code
- * console.profileEnd('MyLabel');
- * // Adds the profile 'MyLabel' to the Profiles panel of the inspector.
- * ```
- * @since v8.0.0
- */
- profile(label?: string): void;
- /**
- * This method does not display anything unless used in the inspector. Stops the current
- * JavaScript CPU profiling session if one has been started and prints the report to the
- * Profiles panel of the inspector. See {@link profile} for an example.
- *
- * If this method is called without a label, the most recently started profile is stopped.
- * @since v8.0.0
- */
- profileEnd(label?: string): void;
- /**
- * This method does not display anything unless used in the inspector. The `console.timeStamp()`
- * method adds an event with the label `'label'` to the Timeline panel of the inspector.
- * @since v8.0.0
- */
- timeStamp(label?: string): void;
- }
- /**
- * The `console` module provides a simple debugging console that is similar to the
- * JavaScript console mechanism provided by web browsers.
- *
- * The module exports two specific components:
- *
- * * A `Console` class with methods such as `console.log()`, `console.error()` and `console.warn()` that can be used to write to any Node.js stream.
- * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstdout) and
- * [`process.stderr`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.
- *
- * _**Warning**_: The global console object's methods are neither consistently
- * synchronous like the browser APIs they resemble, nor are they consistently
- * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v24.x/api/process.html#a-note-on-process-io) for
- * more information.
- *
- * Example using the global `console`:
- *
- * ```js
- * console.log('hello world');
- * // Prints: hello world, to stdout
- * console.log('hello %s', 'world');
- * // Prints: hello world, to stdout
- * console.error(new Error('Whoops, something bad happened'));
- * // Prints error message and stack trace to stderr:
- * // Error: Whoops, something bad happened
- * // at [eval]:5:15
- * // at Script.runInThisContext (node:vm:132:18)
- * // at Object.runInThisContext (node:vm:309:38)
- * // at node:internal/process/execution:77:19
- * // at [eval]-wrapper:6:22
- * // at evalScript (node:internal/process/execution:76:60)
- * // at node:internal/main/eval_string:23:3
- *
- * const name = 'Will Robinson';
- * console.warn(`Danger ${name}! Danger!`);
- * // Prints: Danger Will Robinson! Danger!, to stderr
- * ```
- *
- * Example using the `Console` class:
- *
- * ```js
- * const out = getStreamSomehow();
- * const err = getStreamSomehow();
- * const myConsole = new console.Console(out, err);
- *
- * myConsole.log('hello world');
- * // Prints: hello world, to out
- * myConsole.log('hello %s', 'world');
- * // Prints: hello world, to out
- * myConsole.error(new Error('Whoops, something bad happened'));
- * // Prints: [Error: Whoops, something bad happened], to err
- *
- * const name = 'Will Robinson';
- * myConsole.warn(`Danger ${name}! Danger!`);
- * // Prints: Danger Will Robinson! Danger!, to err
- * ```
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/console.js)
- */
- namespace console {
- interface ConsoleConstructorOptions {
- stdout: NodeJS.WritableStream;
- stderr?: NodeJS.WritableStream | undefined;
- /**
- * Ignore errors when writing to the underlying streams.
- * @default true
- */
- ignoreErrors?: boolean | undefined;
- /**
- * Set color support for this `Console` instance. Setting to true enables coloring while inspecting
- * values. Setting to `false` disables coloring while inspecting values. Setting to `'auto'` makes color
- * support depend on the value of the `isTTY` property and the value returned by `getColorDepth()` on the
- * respective stream. This option can not be used, if `inspectOptions.colors` is set as well.
- * @default auto
- */
- colorMode?: boolean | "auto" | undefined;
- /**
- * Specifies options that are passed along to
- * [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options).
- */
- inspectOptions?: InspectOptions | undefined;
- /**
- * Set group indentation.
- * @default 2
- */
- groupIndentation?: number | undefined;
- }
- interface ConsoleConstructor {
- prototype: Console;
- new(stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;
- new(options: ConsoleConstructorOptions): Console;
- }
- }
- var console: Console;
- }
- export = globalThis.console;
-}
diff --git a/node_modules/@types/node/constants.d.ts b/node_modules/@types/node/constants.d.ts
deleted file mode 100644
index 5685a9d..0000000
--- a/node_modules/@types/node/constants.d.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @deprecated The `node:constants` module is deprecated. When requiring access to constants
- * relevant to specific Node.js builtin modules, developers should instead refer
- * to the `constants` property exposed by the relevant module. For instance,
- * `require('node:fs').constants` and `require('node:os').constants`.
- */
-declare module "constants" {
- const constants:
- & typeof import("node:os").constants.dlopen
- & typeof import("node:os").constants.errno
- & typeof import("node:os").constants.priority
- & typeof import("node:os").constants.signals
- & typeof import("node:fs").constants
- & typeof import("node:crypto").constants;
- export = constants;
-}
-
-declare module "node:constants" {
- import constants = require("constants");
- export = constants;
-}
diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts
deleted file mode 100644
index df1f78a..0000000
--- a/node_modules/@types/node/crypto.d.ts
+++ /dev/null
@@ -1,4516 +0,0 @@
-/**
- * The `node:crypto` module provides cryptographic functionality that includes a
- * set of wrappers for OpenSSL's hash, HMAC, cipher, decipher, sign, and verify
- * functions.
- *
- * ```js
- * const { createHmac } = await import('node:crypto');
- *
- * const secret = 'abcdefg';
- * const hash = createHmac('sha256', secret)
- * .update('I love cupcakes')
- * .digest('hex');
- * console.log(hash);
- * // Prints:
- * // c0fa1bc00531bd78ef38c628449c5102aeabd49b5dc3a2a516ea6ea959d6658e
- * ```
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/crypto.js)
- */
-declare module "crypto" {
- import * as stream from "node:stream";
- import { PeerCertificate } from "node:tls";
- /**
- * SPKAC is a Certificate Signing Request mechanism originally implemented by
- * Netscape and was specified formally as part of HTML5's `keygen` element.
- *
- * `` is deprecated since [HTML 5.2](https://www.w3.org/TR/html52/changes.html#features-removed) and new projects
- * should not use this element anymore.
- *
- * The `node:crypto` module provides the `Certificate` class for working with SPKAC
- * data. The most common usage is handling output generated by the HTML5 `` element. Node.js uses [OpenSSL's SPKAC
- * implementation](https://www.openssl.org/docs/man3.0/man1/openssl-spkac.html) internally.
- * @since v0.11.8
- */
- class Certificate {
- /**
- * ```js
- * const { Certificate } = await import('node:crypto');
- * const spkac = getSpkacSomehow();
- * const challenge = Certificate.exportChallenge(spkac);
- * console.log(challenge.toString('utf8'));
- * // Prints: the challenge as a UTF8 string
- * ```
- * @since v9.0.0
- * @param encoding The `encoding` of the `spkac` string.
- * @return The challenge component of the `spkac` data structure, which includes a public key and a challenge.
- */
- static exportChallenge(spkac: BinaryLike): Buffer;
- /**
- * ```js
- * const { Certificate } = await import('node:crypto');
- * const spkac = getSpkacSomehow();
- * const publicKey = Certificate.exportPublicKey(spkac);
- * console.log(publicKey);
- * // Prints: the public key as
- * ```
- * @since v9.0.0
- * @param encoding The `encoding` of the `spkac` string.
- * @return The public key component of the `spkac` data structure, which includes a public key and a challenge.
- */
- static exportPublicKey(spkac: BinaryLike, encoding?: string): Buffer;
- /**
- * ```js
- * import { Buffer } from 'node:buffer';
- * const { Certificate } = await import('node:crypto');
- *
- * const spkac = getSpkacSomehow();
- * console.log(Certificate.verifySpkac(Buffer.from(spkac)));
- * // Prints: true or false
- * ```
- * @since v9.0.0
- * @param encoding The `encoding` of the `spkac` string.
- * @return `true` if the given `spkac` data structure is valid, `false` otherwise.
- */
- static verifySpkac(spkac: NodeJS.ArrayBufferView): boolean;
- /**
- * @deprecated
- * @param spkac
- * @returns The challenge component of the `spkac` data structure,
- * which includes a public key and a challenge.
- */
- exportChallenge(spkac: BinaryLike): Buffer;
- /**
- * @deprecated
- * @param spkac
- * @param encoding The encoding of the spkac string.
- * @returns The public key component of the `spkac` data structure,
- * which includes a public key and a challenge.
- */
- exportPublicKey(spkac: BinaryLike, encoding?: string): Buffer;
- /**
- * @deprecated
- * @param spkac
- * @returns `true` if the given `spkac` data structure is valid,
- * `false` otherwise.
- */
- verifySpkac(spkac: NodeJS.ArrayBufferView): boolean;
- }
- namespace constants {
- // https://nodejs.org/dist/latest-v24.x/docs/api/crypto.html#crypto-constants
- const OPENSSL_VERSION_NUMBER: number;
- /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */
- const SSL_OP_ALL: number;
- /** Instructs OpenSSL to allow a non-[EC]DHE-based key exchange mode for TLS v1.3 */
- const SSL_OP_ALLOW_NO_DHE_KEX: number;
- /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */
- const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number;
- /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */
- const SSL_OP_CIPHER_SERVER_PREFERENCE: number;
- /** Instructs OpenSSL to use Cisco's version identifier of DTLS_BAD_VER. */
- const SSL_OP_CISCO_ANYCONNECT: number;
- /** Instructs OpenSSL to turn on cookie exchange. */
- const SSL_OP_COOKIE_EXCHANGE: number;
- /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */
- const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number;
- /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */
- const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number;
- /** Allows initial connection to servers that do not support RI. */
- const SSL_OP_LEGACY_SERVER_CONNECT: number;
- /** Instructs OpenSSL to disable support for SSL/TLS compression. */
- const SSL_OP_NO_COMPRESSION: number;
- /** Instructs OpenSSL to disable encrypt-then-MAC. */
- const SSL_OP_NO_ENCRYPT_THEN_MAC: number;
- const SSL_OP_NO_QUERY_MTU: number;
- /** Instructs OpenSSL to disable renegotiation. */
- const SSL_OP_NO_RENEGOTIATION: number;
- /** Instructs OpenSSL to always start a new session when performing renegotiation. */
- const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number;
- /** Instructs OpenSSL to turn off SSL v2 */
- const SSL_OP_NO_SSLv2: number;
- /** Instructs OpenSSL to turn off SSL v3 */
- const SSL_OP_NO_SSLv3: number;
- /** Instructs OpenSSL to disable use of RFC4507bis tickets. */
- const SSL_OP_NO_TICKET: number;
- /** Instructs OpenSSL to turn off TLS v1 */
- const SSL_OP_NO_TLSv1: number;
- /** Instructs OpenSSL to turn off TLS v1.1 */
- const SSL_OP_NO_TLSv1_1: number;
- /** Instructs OpenSSL to turn off TLS v1.2 */
- const SSL_OP_NO_TLSv1_2: number;
- /** Instructs OpenSSL to turn off TLS v1.3 */
- const SSL_OP_NO_TLSv1_3: number;
- /** Instructs OpenSSL server to prioritize ChaCha20-Poly1305 when the client does. This option has no effect if `SSL_OP_CIPHER_SERVER_PREFERENCE` is not enabled. */
- const SSL_OP_PRIORITIZE_CHACHA: number;
- /** Instructs OpenSSL to disable version rollback attack detection. */
- const SSL_OP_TLS_ROLLBACK_BUG: number;
- const ENGINE_METHOD_RSA: number;
- const ENGINE_METHOD_DSA: number;
- const ENGINE_METHOD_DH: number;
- const ENGINE_METHOD_RAND: number;
- const ENGINE_METHOD_EC: number;
- const ENGINE_METHOD_CIPHERS: number;
- const ENGINE_METHOD_DIGESTS: number;
- const ENGINE_METHOD_PKEY_METHS: number;
- const ENGINE_METHOD_PKEY_ASN1_METHS: number;
- const ENGINE_METHOD_ALL: number;
- const ENGINE_METHOD_NONE: number;
- const DH_CHECK_P_NOT_SAFE_PRIME: number;
- const DH_CHECK_P_NOT_PRIME: number;
- const DH_UNABLE_TO_CHECK_GENERATOR: number;
- const DH_NOT_SUITABLE_GENERATOR: number;
- const RSA_PKCS1_PADDING: number;
- const RSA_SSLV23_PADDING: number;
- const RSA_NO_PADDING: number;
- const RSA_PKCS1_OAEP_PADDING: number;
- const RSA_X931_PADDING: number;
- const RSA_PKCS1_PSS_PADDING: number;
- /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */
- const RSA_PSS_SALTLEN_DIGEST: number;
- /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */
- const RSA_PSS_SALTLEN_MAX_SIGN: number;
- /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */
- const RSA_PSS_SALTLEN_AUTO: number;
- const POINT_CONVERSION_COMPRESSED: number;
- const POINT_CONVERSION_UNCOMPRESSED: number;
- const POINT_CONVERSION_HYBRID: number;
- /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */
- const defaultCoreCipherList: string;
- /** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */
- const defaultCipherList: string;
- }
- interface HashOptions extends stream.TransformOptions {
- /**
- * For XOF hash functions such as `shake256`, the
- * outputLength option can be used to specify the desired output length in bytes.
- */
- outputLength?: number | undefined;
- }
- /** @deprecated since v10.0.0 */
- const fips: boolean;
- /**
- * Creates and returns a `Hash` object that can be used to generate hash digests
- * using the given `algorithm`. Optional `options` argument controls stream
- * behavior. For XOF hash functions such as `'shake256'`, the `outputLength` option
- * can be used to specify the desired output length in bytes.
- *
- * The `algorithm` is dependent on the available algorithms supported by the
- * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.
- * On recent releases of OpenSSL, `openssl list -digest-algorithms` will
- * display the available digest algorithms.
- *
- * Example: generating the sha256 sum of a file
- *
- * ```js
- * import {
- * createReadStream,
- * } from 'node:fs';
- * import { argv } from 'node:process';
- * const {
- * createHash,
- * } = await import('node:crypto');
- *
- * const filename = argv[2];
- *
- * const hash = createHash('sha256');
- *
- * const input = createReadStream(filename);
- * input.on('readable', () => {
- * // Only one element is going to be produced by the
- * // hash stream.
- * const data = input.read();
- * if (data)
- * hash.update(data);
- * else {
- * console.log(`${hash.digest('hex')} ${filename}`);
- * }
- * });
- * ```
- * @since v0.1.92
- * @param options `stream.transform` options
- */
- function createHash(algorithm: string, options?: HashOptions): Hash;
- /**
- * Creates and returns an `Hmac` object that uses the given `algorithm` and `key`.
- * Optional `options` argument controls stream behavior.
- *
- * The `algorithm` is dependent on the available algorithms supported by the
- * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.
- * On recent releases of OpenSSL, `openssl list -digest-algorithms` will
- * display the available digest algorithms.
- *
- * The `key` is the HMAC key used to generate the cryptographic HMAC hash. If it is
- * a `KeyObject`, its type must be `secret`. If it is a string, please consider `caveats when using strings as inputs to cryptographic APIs`. If it was
- * obtained from a cryptographically secure source of entropy, such as {@link randomBytes} or {@link generateKey}, its length should not
- * exceed the block size of `algorithm` (e.g., 512 bits for SHA-256).
- *
- * Example: generating the sha256 HMAC of a file
- *
- * ```js
- * import {
- * createReadStream,
- * } from 'node:fs';
- * import { argv } from 'node:process';
- * const {
- * createHmac,
- * } = await import('node:crypto');
- *
- * const filename = argv[2];
- *
- * const hmac = createHmac('sha256', 'a secret');
- *
- * const input = createReadStream(filename);
- * input.on('readable', () => {
- * // Only one element is going to be produced by the
- * // hash stream.
- * const data = input.read();
- * if (data)
- * hmac.update(data);
- * else {
- * console.log(`${hmac.digest('hex')} ${filename}`);
- * }
- * });
- * ```
- * @since v0.1.94
- * @param options `stream.transform` options
- */
- function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac;
- // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings
- type BinaryToTextEncoding = "base64" | "base64url" | "hex" | "binary";
- type CharacterEncoding = "utf8" | "utf-8" | "utf16le" | "utf-16le" | "latin1";
- type LegacyCharacterEncoding = "ascii" | "binary" | "ucs2" | "ucs-2";
- type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding;
- type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid";
- /**
- * The `Hash` class is a utility for creating hash digests of data. It can be
- * used in one of two ways:
- *
- * * As a `stream` that is both readable and writable, where data is written
- * to produce a computed hash digest on the readable side, or
- * * Using the `hash.update()` and `hash.digest()` methods to produce the
- * computed hash.
- *
- * The {@link createHash} method is used to create `Hash` instances. `Hash`objects are not to be created directly using the `new` keyword.
- *
- * Example: Using `Hash` objects as streams:
- *
- * ```js
- * const {
- * createHash,
- * } = await import('node:crypto');
- *
- * const hash = createHash('sha256');
- *
- * hash.on('readable', () => {
- * // Only one element is going to be produced by the
- * // hash stream.
- * const data = hash.read();
- * if (data) {
- * console.log(data.toString('hex'));
- * // Prints:
- * // 6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50
- * }
- * });
- *
- * hash.write('some data to hash');
- * hash.end();
- * ```
- *
- * Example: Using `Hash` and piped streams:
- *
- * ```js
- * import { createReadStream } from 'node:fs';
- * import { stdout } from 'node:process';
- * const { createHash } = await import('node:crypto');
- *
- * const hash = createHash('sha256');
- *
- * const input = createReadStream('test.js');
- * input.pipe(hash).setEncoding('hex').pipe(stdout);
- * ```
- *
- * Example: Using the `hash.update()` and `hash.digest()` methods:
- *
- * ```js
- * const {
- * createHash,
- * } = await import('node:crypto');
- *
- * const hash = createHash('sha256');
- *
- * hash.update('some data to hash');
- * console.log(hash.digest('hex'));
- * // Prints:
- * // 6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50
- * ```
- * @since v0.1.92
- */
- class Hash extends stream.Transform {
- private constructor();
- /**
- * Creates a new `Hash` object that contains a deep copy of the internal state
- * of the current `Hash` object.
- *
- * The optional `options` argument controls stream behavior. For XOF hash
- * functions such as `'shake256'`, the `outputLength` option can be used to
- * specify the desired output length in bytes.
- *
- * An error is thrown when an attempt is made to copy the `Hash` object after
- * its `hash.digest()` method has been called.
- *
- * ```js
- * // Calculate a rolling hash.
- * const {
- * createHash,
- * } = await import('node:crypto');
- *
- * const hash = createHash('sha256');
- *
- * hash.update('one');
- * console.log(hash.copy().digest('hex'));
- *
- * hash.update('two');
- * console.log(hash.copy().digest('hex'));
- *
- * hash.update('three');
- * console.log(hash.copy().digest('hex'));
- *
- * // Etc.
- * ```
- * @since v13.1.0
- * @param options `stream.transform` options
- */
- copy(options?: HashOptions): Hash;
- /**
- * Updates the hash content with the given `data`, the encoding of which
- * is given in `inputEncoding`.
- * If `encoding` is not provided, and the `data` is a string, an
- * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
- *
- * This can be called many times with new data as it is streamed.
- * @since v0.1.92
- * @param inputEncoding The `encoding` of the `data` string.
- */
- update(data: BinaryLike): Hash;
- update(data: string, inputEncoding: Encoding): Hash;
- /**
- * Calculates the digest of all of the data passed to be hashed (using the `hash.update()` method).
- * If `encoding` is provided a string will be returned; otherwise
- * a `Buffer` is returned.
- *
- * The `Hash` object can not be used again after `hash.digest()` method has been
- * called. Multiple calls will cause an error to be thrown.
- * @since v0.1.92
- * @param encoding The `encoding` of the return value.
- */
- digest(): Buffer;
- digest(encoding: BinaryToTextEncoding): string;
- }
- /**
- * The `Hmac` class is a utility for creating cryptographic HMAC digests. It can
- * be used in one of two ways:
- *
- * * As a `stream` that is both readable and writable, where data is written
- * to produce a computed HMAC digest on the readable side, or
- * * Using the `hmac.update()` and `hmac.digest()` methods to produce the
- * computed HMAC digest.
- *
- * The {@link createHmac} method is used to create `Hmac` instances. `Hmac`objects are not to be created directly using the `new` keyword.
- *
- * Example: Using `Hmac` objects as streams:
- *
- * ```js
- * const {
- * createHmac,
- * } = await import('node:crypto');
- *
- * const hmac = createHmac('sha256', 'a secret');
- *
- * hmac.on('readable', () => {
- * // Only one element is going to be produced by the
- * // hash stream.
- * const data = hmac.read();
- * if (data) {
- * console.log(data.toString('hex'));
- * // Prints:
- * // 7fd04df92f636fd450bc841c9418e5825c17f33ad9c87c518115a45971f7f77e
- * }
- * });
- *
- * hmac.write('some data to hash');
- * hmac.end();
- * ```
- *
- * Example: Using `Hmac` and piped streams:
- *
- * ```js
- * import { createReadStream } from 'node:fs';
- * import { stdout } from 'node:process';
- * const {
- * createHmac,
- * } = await import('node:crypto');
- *
- * const hmac = createHmac('sha256', 'a secret');
- *
- * const input = createReadStream('test.js');
- * input.pipe(hmac).pipe(stdout);
- * ```
- *
- * Example: Using the `hmac.update()` and `hmac.digest()` methods:
- *
- * ```js
- * const {
- * createHmac,
- * } = await import('node:crypto');
- *
- * const hmac = createHmac('sha256', 'a secret');
- *
- * hmac.update('some data to hash');
- * console.log(hmac.digest('hex'));
- * // Prints:
- * // 7fd04df92f636fd450bc841c9418e5825c17f33ad9c87c518115a45971f7f77e
- * ```
- * @since v0.1.94
- * @deprecated Since v20.13.0 Calling `Hmac` class directly with `Hmac()` or `new Hmac()` is deprecated due to being internals, not intended for public use. Please use the {@link createHmac} method to create Hmac instances.
- */
- class Hmac extends stream.Transform {
- private constructor();
- /**
- * Updates the `Hmac` content with the given `data`, the encoding of which
- * is given in `inputEncoding`.
- * If `encoding` is not provided, and the `data` is a string, an
- * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
- *
- * This can be called many times with new data as it is streamed.
- * @since v0.1.94
- * @param inputEncoding The `encoding` of the `data` string.
- */
- update(data: BinaryLike): Hmac;
- update(data: string, inputEncoding: Encoding): Hmac;
- /**
- * Calculates the HMAC digest of all of the data passed using `hmac.update()`.
- * If `encoding` is
- * provided a string is returned; otherwise a `Buffer` is returned;
- *
- * The `Hmac` object can not be used again after `hmac.digest()` has been
- * called. Multiple calls to `hmac.digest()` will result in an error being thrown.
- * @since v0.1.94
- * @param encoding The `encoding` of the return value.
- */
- digest(): Buffer;
- digest(encoding: BinaryToTextEncoding): string;
- }
- type KeyObjectType = "secret" | "public" | "private";
- interface KeyExportOptions {
- type: "pkcs1" | "spki" | "pkcs8" | "sec1";
- format: T;
- cipher?: string | undefined;
- passphrase?: string | Buffer | undefined;
- }
- interface JwkKeyExportOptions {
- format: "jwk";
- }
- interface JsonWebKey {
- crv?: string | undefined;
- d?: string | undefined;
- dp?: string | undefined;
- dq?: string | undefined;
- e?: string | undefined;
- k?: string | undefined;
- kty?: string | undefined;
- n?: string | undefined;
- p?: string | undefined;
- q?: string | undefined;
- qi?: string | undefined;
- x?: string | undefined;
- y?: string | undefined;
- [key: string]: unknown;
- }
- interface AsymmetricKeyDetails {
- /**
- * Key size in bits (RSA, DSA).
- */
- modulusLength?: number | undefined;
- /**
- * Public exponent (RSA).
- */
- publicExponent?: bigint | undefined;
- /**
- * Name of the message digest (RSA-PSS).
- */
- hashAlgorithm?: string | undefined;
- /**
- * Name of the message digest used by MGF1 (RSA-PSS).
- */
- mgf1HashAlgorithm?: string | undefined;
- /**
- * Minimal salt length in bytes (RSA-PSS).
- */
- saltLength?: number | undefined;
- /**
- * Size of q in bits (DSA).
- */
- divisorLength?: number | undefined;
- /**
- * Name of the curve (EC).
- */
- namedCurve?: string | undefined;
- }
- /**
- * Node.js uses a `KeyObject` class to represent a symmetric or asymmetric key,
- * and each kind of key exposes different functions. The {@link createSecretKey}, {@link createPublicKey} and {@link createPrivateKey} methods are used to create `KeyObject`instances. `KeyObject`
- * objects are not to be created directly using the `new`keyword.
- *
- * Most applications should consider using the new `KeyObject` API instead of
- * passing keys as strings or `Buffer`s due to improved security features.
- *
- * `KeyObject` instances can be passed to other threads via `postMessage()`.
- * The receiver obtains a cloned `KeyObject`, and the `KeyObject` does not need to
- * be listed in the `transferList` argument.
- * @since v11.6.0
- */
- class KeyObject {
- private constructor();
- /**
- * Example: Converting a `CryptoKey` instance to a `KeyObject`:
- *
- * ```js
- * const { KeyObject } = await import('node:crypto');
- * const { subtle } = globalThis.crypto;
- *
- * const key = await subtle.generateKey({
- * name: 'HMAC',
- * hash: 'SHA-256',
- * length: 256,
- * }, true, ['sign', 'verify']);
- *
- * const keyObject = KeyObject.from(key);
- * console.log(keyObject.symmetricKeySize);
- * // Prints: 32 (symmetric key size in bytes)
- * ```
- * @since v15.0.0
- */
- static from(key: webcrypto.CryptoKey): KeyObject;
- /**
- * For asymmetric keys, this property represents the type of the key. Supported key
- * types are:
- *
- * * `'rsa'` (OID 1.2.840.113549.1.1.1)
- * * `'rsa-pss'` (OID 1.2.840.113549.1.1.10)
- * * `'dsa'` (OID 1.2.840.10040.4.1)
- * * `'ec'` (OID 1.2.840.10045.2.1)
- * * `'x25519'` (OID 1.3.101.110)
- * * `'x448'` (OID 1.3.101.111)
- * * `'ed25519'` (OID 1.3.101.112)
- * * `'ed448'` (OID 1.3.101.113)
- * * `'dh'` (OID 1.2.840.113549.1.3.1)
- *
- * This property is `undefined` for unrecognized `KeyObject` types and symmetric
- * keys.
- * @since v11.6.0
- */
- asymmetricKeyType?: KeyType | undefined;
- /**
- * This property exists only on asymmetric keys. Depending on the type of the key,
- * this object contains information about the key. None of the information obtained
- * through this property can be used to uniquely identify a key or to compromise
- * the security of the key.
- *
- * For RSA-PSS keys, if the key material contains a `RSASSA-PSS-params` sequence,
- * the `hashAlgorithm`, `mgf1HashAlgorithm`, and `saltLength` properties will be
- * set.
- *
- * Other key details might be exposed via this API using additional attributes.
- * @since v15.7.0
- */
- asymmetricKeyDetails?: AsymmetricKeyDetails | undefined;
- /**
- * For symmetric keys, the following encoding options can be used:
- *
- * For public keys, the following encoding options can be used:
- *
- * For private keys, the following encoding options can be used:
- *
- * The result type depends on the selected encoding format, when PEM the
- * result is a string, when DER it will be a buffer containing the data
- * encoded as DER, when [JWK](https://tools.ietf.org/html/rfc7517) it will be an object.
- *
- * When [JWK](https://tools.ietf.org/html/rfc7517) encoding format was selected, all other encoding options are
- * ignored.
- *
- * PKCS#1, SEC1, and PKCS#8 type keys can be encrypted by using a combination of
- * the `cipher` and `format` options. The PKCS#8 `type` can be used with any`format` to encrypt any key algorithm (RSA, EC, or DH) by specifying a`cipher`. PKCS#1 and SEC1 can only be
- * encrypted by specifying a `cipher`when the PEM `format` is used. For maximum compatibility, use PKCS#8 for
- * encrypted private keys. Since PKCS#8 defines its own
- * encryption mechanism, PEM-level encryption is not supported when encrypting
- * a PKCS#8 key. See [RFC 5208](https://www.rfc-editor.org/rfc/rfc5208.txt) for PKCS#8 encryption and [RFC 1421](https://www.rfc-editor.org/rfc/rfc1421.txt) for
- * PKCS#1 and SEC1 encryption.
- * @since v11.6.0
- */
- export(options: KeyExportOptions<"pem">): string | Buffer;
- export(options?: KeyExportOptions<"der">): Buffer;
- export(options?: JwkKeyExportOptions): JsonWebKey;
- /**
- * Returns `true` or `false` depending on whether the keys have exactly the same
- * type, value, and parameters. This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack).
- * @since v17.7.0, v16.15.0
- * @param otherKeyObject A `KeyObject` with which to compare `keyObject`.
- */
- equals(otherKeyObject: KeyObject): boolean;
- /**
- * For secret keys, this property represents the size of the key in bytes. This
- * property is `undefined` for asymmetric keys.
- * @since v11.6.0
- */
- symmetricKeySize?: number | undefined;
- /**
- * Converts a `KeyObject` instance to a `CryptoKey`.
- * @since 22.10.0
- */
- toCryptoKey(
- algorithm:
- | webcrypto.AlgorithmIdentifier
- | webcrypto.RsaHashedImportParams
- | webcrypto.EcKeyImportParams
- | webcrypto.HmacImportParams,
- extractable: boolean,
- keyUsages: readonly webcrypto.KeyUsage[],
- ): webcrypto.CryptoKey;
- /**
- * Depending on the type of this `KeyObject`, this property is either`'secret'` for secret (symmetric) keys, `'public'` for public (asymmetric) keys
- * or `'private'` for private (asymmetric) keys.
- * @since v11.6.0
- */
- type: KeyObjectType;
- }
- type CipherCCMTypes = "aes-128-ccm" | "aes-192-ccm" | "aes-256-ccm";
- type CipherGCMTypes = "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm";
- type CipherOCBTypes = "aes-128-ocb" | "aes-192-ocb" | "aes-256-ocb";
- type CipherChaCha20Poly1305Types = "chacha20-poly1305";
- type BinaryLike = string | NodeJS.ArrayBufferView;
- type CipherKey = BinaryLike | KeyObject;
- interface CipherCCMOptions extends stream.TransformOptions {
- authTagLength: number;
- }
- interface CipherGCMOptions extends stream.TransformOptions {
- authTagLength?: number | undefined;
- }
- interface CipherOCBOptions extends stream.TransformOptions {
- authTagLength: number;
- }
- interface CipherChaCha20Poly1305Options extends stream.TransformOptions {
- /** @default 16 */
- authTagLength?: number | undefined;
- }
- /**
- * Creates and returns a `Cipher` object, with the given `algorithm`, `key` and
- * initialization vector (`iv`).
- *
- * The `options` argument controls stream behavior and is optional except when a
- * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the`authTagLength` option is required and specifies the length of the
- * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength`option is not required but can be used to set the length of the authentication
- * tag that will be returned by `getAuthTag()` and defaults to 16 bytes.
- * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes.
- *
- * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On
- * recent OpenSSL releases, `openssl list -cipher-algorithms` will
- * display the available cipher algorithms.
- *
- * The `key` is the raw key used by the `algorithm` and `iv` is an [initialization vector](https://en.wikipedia.org/wiki/Initialization_vector). Both arguments must be `'utf8'` encoded
- * strings,`Buffers`, `TypedArray`, or `DataView`s. The `key` may optionally be
- * a `KeyObject` of type `secret`. If the cipher does not need
- * an initialization vector, `iv` may be `null`.
- *
- * When passing strings for `key` or `iv`, please consider `caveats when using strings as inputs to cryptographic APIs`.
- *
- * Initialization vectors should be unpredictable and unique; ideally, they will be
- * cryptographically random. They do not have to be secret: IVs are typically just
- * added to ciphertext messages unencrypted. It may sound contradictory that
- * something has to be unpredictable and unique, but does not have to be secret;
- * remember that an attacker must not be able to predict ahead of time what a
- * given IV will be.
- * @since v0.1.94
- * @param options `stream.transform` options
- */
- function createCipheriv(
- algorithm: CipherCCMTypes,
- key: CipherKey,
- iv: BinaryLike,
- options: CipherCCMOptions,
- ): CipherCCM;
- function createCipheriv(
- algorithm: CipherOCBTypes,
- key: CipherKey,
- iv: BinaryLike,
- options: CipherOCBOptions,
- ): CipherOCB;
- function createCipheriv(
- algorithm: CipherGCMTypes,
- key: CipherKey,
- iv: BinaryLike,
- options?: CipherGCMOptions,
- ): CipherGCM;
- function createCipheriv(
- algorithm: CipherChaCha20Poly1305Types,
- key: CipherKey,
- iv: BinaryLike,
- options?: CipherChaCha20Poly1305Options,
- ): CipherChaCha20Poly1305;
- function createCipheriv(
- algorithm: string,
- key: CipherKey,
- iv: BinaryLike | null,
- options?: stream.TransformOptions,
- ): Cipheriv;
- /**
- * Instances of the `Cipheriv` class are used to encrypt data. The class can be
- * used in one of two ways:
- *
- * * As a `stream` that is both readable and writable, where plain unencrypted
- * data is written to produce encrypted data on the readable side, or
- * * Using the `cipher.update()` and `cipher.final()` methods to produce
- * the encrypted data.
- *
- * The {@link createCipheriv} method is
- * used to create `Cipheriv` instances. `Cipheriv` objects are not to be created
- * directly using the `new` keyword.
- *
- * Example: Using `Cipheriv` objects as streams:
- *
- * ```js
- * const {
- * scrypt,
- * randomFill,
- * createCipheriv,
- * } = await import('node:crypto');
- *
- * const algorithm = 'aes-192-cbc';
- * const password = 'Password used to generate key';
- *
- * // First, we'll generate the key. The key length is dependent on the algorithm.
- * // In this case for aes192, it is 24 bytes (192 bits).
- * scrypt(password, 'salt', 24, (err, key) => {
- * if (err) throw err;
- * // Then, we'll generate a random initialization vector
- * randomFill(new Uint8Array(16), (err, iv) => {
- * if (err) throw err;
- *
- * // Once we have the key and iv, we can create and use the cipher...
- * const cipher = createCipheriv(algorithm, key, iv);
- *
- * let encrypted = '';
- * cipher.setEncoding('hex');
- *
- * cipher.on('data', (chunk) => encrypted += chunk);
- * cipher.on('end', () => console.log(encrypted));
- *
- * cipher.write('some clear text data');
- * cipher.end();
- * });
- * });
- * ```
- *
- * Example: Using `Cipheriv` and piped streams:
- *
- * ```js
- * import {
- * createReadStream,
- * createWriteStream,
- * } from 'node:fs';
- *
- * import {
- * pipeline,
- * } from 'node:stream';
- *
- * const {
- * scrypt,
- * randomFill,
- * createCipheriv,
- * } = await import('node:crypto');
- *
- * const algorithm = 'aes-192-cbc';
- * const password = 'Password used to generate key';
- *
- * // First, we'll generate the key. The key length is dependent on the algorithm.
- * // In this case for aes192, it is 24 bytes (192 bits).
- * scrypt(password, 'salt', 24, (err, key) => {
- * if (err) throw err;
- * // Then, we'll generate a random initialization vector
- * randomFill(new Uint8Array(16), (err, iv) => {
- * if (err) throw err;
- *
- * const cipher = createCipheriv(algorithm, key, iv);
- *
- * const input = createReadStream('test.js');
- * const output = createWriteStream('test.enc');
- *
- * pipeline(input, cipher, output, (err) => {
- * if (err) throw err;
- * });
- * });
- * });
- * ```
- *
- * Example: Using the `cipher.update()` and `cipher.final()` methods:
- *
- * ```js
- * const {
- * scrypt,
- * randomFill,
- * createCipheriv,
- * } = await import('node:crypto');
- *
- * const algorithm = 'aes-192-cbc';
- * const password = 'Password used to generate key';
- *
- * // First, we'll generate the key. The key length is dependent on the algorithm.
- * // In this case for aes192, it is 24 bytes (192 bits).
- * scrypt(password, 'salt', 24, (err, key) => {
- * if (err) throw err;
- * // Then, we'll generate a random initialization vector
- * randomFill(new Uint8Array(16), (err, iv) => {
- * if (err) throw err;
- *
- * const cipher = createCipheriv(algorithm, key, iv);
- *
- * let encrypted = cipher.update('some clear text data', 'utf8', 'hex');
- * encrypted += cipher.final('hex');
- * console.log(encrypted);
- * });
- * });
- * ```
- * @since v0.1.94
- */
- class Cipheriv extends stream.Transform {
- private constructor();
- /**
- * Updates the cipher with `data`. If the `inputEncoding` argument is given,
- * the `data`argument is a string using the specified encoding. If the `inputEncoding`argument is not given, `data` must be a `Buffer`, `TypedArray`, or `DataView`. If `data` is a `Buffer`,
- * `TypedArray`, or `DataView`, then `inputEncoding` is ignored.
- *
- * The `outputEncoding` specifies the output format of the enciphered
- * data. If the `outputEncoding`is specified, a string using the specified encoding is returned. If no`outputEncoding` is provided, a `Buffer` is returned.
- *
- * The `cipher.update()` method can be called multiple times with new data until `cipher.final()` is called. Calling `cipher.update()` after `cipher.final()` will result in an error being
- * thrown.
- * @since v0.1.94
- * @param inputEncoding The `encoding` of the data.
- * @param outputEncoding The `encoding` of the return value.
- */
- update(data: BinaryLike): Buffer;
- update(data: string, inputEncoding: Encoding): Buffer;
- update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string;
- update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string;
- /**
- * Once the `cipher.final()` method has been called, the `Cipheriv` object can no
- * longer be used to encrypt data. Attempts to call `cipher.final()` more than
- * once will result in an error being thrown.
- * @since v0.1.94
- * @param outputEncoding The `encoding` of the return value.
- * @return Any remaining enciphered contents. If `outputEncoding` is specified, a string is returned. If an `outputEncoding` is not provided, a {@link Buffer} is returned.
- */
- final(): Buffer;
- final(outputEncoding: BufferEncoding): string;
- /**
- * When using block encryption algorithms, the `Cipheriv` class will automatically
- * add padding to the input data to the appropriate block size. To disable the
- * default padding call `cipher.setAutoPadding(false)`.
- *
- * When `autoPadding` is `false`, the length of the entire input data must be a
- * multiple of the cipher's block size or `cipher.final()` will throw an error.
- * Disabling automatic padding is useful for non-standard padding, for instance
- * using `0x0` instead of PKCS padding.
- *
- * The `cipher.setAutoPadding()` method must be called before `cipher.final()`.
- * @since v0.7.1
- * @param [autoPadding=true]
- * @return for method chaining.
- */
- setAutoPadding(autoPadding?: boolean): this;
- }
- interface CipherCCM extends Cipheriv {
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options: {
- plaintextLength: number;
- },
- ): this;
- getAuthTag(): Buffer;
- }
- interface CipherGCM extends Cipheriv {
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options?: {
- plaintextLength: number;
- },
- ): this;
- getAuthTag(): Buffer;
- }
- interface CipherOCB extends Cipheriv {
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options?: {
- plaintextLength: number;
- },
- ): this;
- getAuthTag(): Buffer;
- }
- interface CipherChaCha20Poly1305 extends Cipheriv {
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options: {
- plaintextLength: number;
- },
- ): this;
- getAuthTag(): Buffer;
- }
- /**
- * Creates and returns a `Decipheriv` object that uses the given `algorithm`, `key` and initialization vector (`iv`).
- *
- * The `options` argument controls stream behavior and is optional except when a
- * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the `authTagLength` option is required and specifies the length of the
- * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength` option is not required but can be used to restrict accepted authentication tags
- * to those with the specified length.
- * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes.
- *
- * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On
- * recent OpenSSL releases, `openssl list -cipher-algorithms` will
- * display the available cipher algorithms.
- *
- * The `key` is the raw key used by the `algorithm` and `iv` is an [initialization vector](https://en.wikipedia.org/wiki/Initialization_vector). Both arguments must be `'utf8'` encoded
- * strings,`Buffers`, `TypedArray`, or `DataView`s. The `key` may optionally be
- * a `KeyObject` of type `secret`. If the cipher does not need
- * an initialization vector, `iv` may be `null`.
- *
- * When passing strings for `key` or `iv`, please consider `caveats when using strings as inputs to cryptographic APIs`.
- *
- * Initialization vectors should be unpredictable and unique; ideally, they will be
- * cryptographically random. They do not have to be secret: IVs are typically just
- * added to ciphertext messages unencrypted. It may sound contradictory that
- * something has to be unpredictable and unique, but does not have to be secret;
- * remember that an attacker must not be able to predict ahead of time what a given
- * IV will be.
- * @since v0.1.94
- * @param options `stream.transform` options
- */
- function createDecipheriv(
- algorithm: CipherCCMTypes,
- key: CipherKey,
- iv: BinaryLike,
- options: CipherCCMOptions,
- ): DecipherCCM;
- function createDecipheriv(
- algorithm: CipherOCBTypes,
- key: CipherKey,
- iv: BinaryLike,
- options: CipherOCBOptions,
- ): DecipherOCB;
- function createDecipheriv(
- algorithm: CipherGCMTypes,
- key: CipherKey,
- iv: BinaryLike,
- options?: CipherGCMOptions,
- ): DecipherGCM;
- function createDecipheriv(
- algorithm: CipherChaCha20Poly1305Types,
- key: CipherKey,
- iv: BinaryLike,
- options?: CipherChaCha20Poly1305Options,
- ): DecipherChaCha20Poly1305;
- function createDecipheriv(
- algorithm: string,
- key: CipherKey,
- iv: BinaryLike | null,
- options?: stream.TransformOptions,
- ): Decipheriv;
- /**
- * Instances of the `Decipheriv` class are used to decrypt data. The class can be
- * used in one of two ways:
- *
- * * As a `stream` that is both readable and writable, where plain encrypted
- * data is written to produce unencrypted data on the readable side, or
- * * Using the `decipher.update()` and `decipher.final()` methods to
- * produce the unencrypted data.
- *
- * The {@link createDecipheriv} method is
- * used to create `Decipheriv` instances. `Decipheriv` objects are not to be created
- * directly using the `new` keyword.
- *
- * Example: Using `Decipheriv` objects as streams:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const {
- * scryptSync,
- * createDecipheriv,
- * } = await import('node:crypto');
- *
- * const algorithm = 'aes-192-cbc';
- * const password = 'Password used to generate key';
- * // Key length is dependent on the algorithm. In this case for aes192, it is
- * // 24 bytes (192 bits).
- * // Use the async `crypto.scrypt()` instead.
- * const key = scryptSync(password, 'salt', 24);
- * // The IV is usually passed along with the ciphertext.
- * const iv = Buffer.alloc(16, 0); // Initialization vector.
- *
- * const decipher = createDecipheriv(algorithm, key, iv);
- *
- * let decrypted = '';
- * decipher.on('readable', () => {
- * let chunk;
- * while (null !== (chunk = decipher.read())) {
- * decrypted += chunk.toString('utf8');
- * }
- * });
- * decipher.on('end', () => {
- * console.log(decrypted);
- * // Prints: some clear text data
- * });
- *
- * // Encrypted with same algorithm, key and iv.
- * const encrypted =
- * 'e5f79c5915c02171eec6b212d5520d44480993d7d622a7c4c2da32f6efda0ffa';
- * decipher.write(encrypted, 'hex');
- * decipher.end();
- * ```
- *
- * Example: Using `Decipheriv` and piped streams:
- *
- * ```js
- * import {
- * createReadStream,
- * createWriteStream,
- * } from 'node:fs';
- * import { Buffer } from 'node:buffer';
- * const {
- * scryptSync,
- * createDecipheriv,
- * } = await import('node:crypto');
- *
- * const algorithm = 'aes-192-cbc';
- * const password = 'Password used to generate key';
- * // Use the async `crypto.scrypt()` instead.
- * const key = scryptSync(password, 'salt', 24);
- * // The IV is usually passed along with the ciphertext.
- * const iv = Buffer.alloc(16, 0); // Initialization vector.
- *
- * const decipher = createDecipheriv(algorithm, key, iv);
- *
- * const input = createReadStream('test.enc');
- * const output = createWriteStream('test.js');
- *
- * input.pipe(decipher).pipe(output);
- * ```
- *
- * Example: Using the `decipher.update()` and `decipher.final()` methods:
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const {
- * scryptSync,
- * createDecipheriv,
- * } = await import('node:crypto');
- *
- * const algorithm = 'aes-192-cbc';
- * const password = 'Password used to generate key';
- * // Use the async `crypto.scrypt()` instead.
- * const key = scryptSync(password, 'salt', 24);
- * // The IV is usually passed along with the ciphertext.
- * const iv = Buffer.alloc(16, 0); // Initialization vector.
- *
- * const decipher = createDecipheriv(algorithm, key, iv);
- *
- * // Encrypted using same algorithm, key and iv.
- * const encrypted =
- * 'e5f79c5915c02171eec6b212d5520d44480993d7d622a7c4c2da32f6efda0ffa';
- * let decrypted = decipher.update(encrypted, 'hex', 'utf8');
- * decrypted += decipher.final('utf8');
- * console.log(decrypted);
- * // Prints: some clear text data
- * ```
- * @since v0.1.94
- */
- class Decipheriv extends stream.Transform {
- private constructor();
- /**
- * Updates the decipher with `data`. If the `inputEncoding` argument is given,
- * the `data` argument is a string using the specified encoding. If the `inputEncoding` argument is not given, `data` must be a `Buffer`. If `data` is a `Buffer` then `inputEncoding` is
- * ignored.
- *
- * The `outputEncoding` specifies the output format of the enciphered
- * data. If the `outputEncoding` is specified, a string using the specified encoding is returned. If no `outputEncoding` is provided, a `Buffer` is returned.
- *
- * The `decipher.update()` method can be called multiple times with new data until `decipher.final()` is called. Calling `decipher.update()` after `decipher.final()` will result in an error
- * being thrown.
- * @since v0.1.94
- * @param inputEncoding The `encoding` of the `data` string.
- * @param outputEncoding The `encoding` of the return value.
- */
- update(data: NodeJS.ArrayBufferView): Buffer;
- update(data: string, inputEncoding: Encoding): Buffer;
- update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string;
- update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string;
- /**
- * Once the `decipher.final()` method has been called, the `Decipheriv` object can
- * no longer be used to decrypt data. Attempts to call `decipher.final()` more
- * than once will result in an error being thrown.
- * @since v0.1.94
- * @param outputEncoding The `encoding` of the return value.
- * @return Any remaining deciphered contents. If `outputEncoding` is specified, a string is returned. If an `outputEncoding` is not provided, a {@link Buffer} is returned.
- */
- final(): Buffer;
- final(outputEncoding: BufferEncoding): string;
- /**
- * When data has been encrypted without standard block padding, calling `decipher.setAutoPadding(false)` will disable automatic padding to prevent `decipher.final()` from checking for and
- * removing padding.
- *
- * Turning auto padding off will only work if the input data's length is a
- * multiple of the ciphers block size.
- *
- * The `decipher.setAutoPadding()` method must be called before `decipher.final()`.
- * @since v0.7.1
- * @param [autoPadding=true]
- * @return for method chaining.
- */
- setAutoPadding(auto_padding?: boolean): this;
- }
- interface DecipherCCM extends Decipheriv {
- setAuthTag(buffer: NodeJS.ArrayBufferView): this;
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options: {
- plaintextLength: number;
- },
- ): this;
- }
- interface DecipherGCM extends Decipheriv {
- setAuthTag(buffer: NodeJS.ArrayBufferView): this;
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options?: {
- plaintextLength: number;
- },
- ): this;
- }
- interface DecipherOCB extends Decipheriv {
- setAuthTag(buffer: NodeJS.ArrayBufferView): this;
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options?: {
- plaintextLength: number;
- },
- ): this;
- }
- interface DecipherChaCha20Poly1305 extends Decipheriv {
- setAuthTag(buffer: NodeJS.ArrayBufferView): this;
- setAAD(
- buffer: NodeJS.ArrayBufferView,
- options: {
- plaintextLength: number;
- },
- ): this;
- }
- interface PrivateKeyInput {
- key: string | Buffer;
- format?: KeyFormat | undefined;
- type?: "pkcs1" | "pkcs8" | "sec1" | undefined;
- passphrase?: string | Buffer | undefined;
- encoding?: string | undefined;
- }
- interface PublicKeyInput {
- key: string | Buffer;
- format?: KeyFormat | undefined;
- type?: "pkcs1" | "spki" | undefined;
- encoding?: string | undefined;
- }
- /**
- * Asynchronously generates a new random secret key of the given `length`. The `type` will determine which validations will be performed on the `length`.
- *
- * ```js
- * const {
- * generateKey,
- * } = await import('node:crypto');
- *
- * generateKey('hmac', { length: 512 }, (err, key) => {
- * if (err) throw err;
- * console.log(key.export().toString('hex')); // 46e..........620
- * });
- * ```
- *
- * The size of a generated HMAC key should not exceed the block size of the
- * underlying hash function. See {@link createHmac} for more information.
- * @since v15.0.0
- * @param type The intended use of the generated secret key. Currently accepted values are `'hmac'` and `'aes'`.
- */
- function generateKey(
- type: "hmac" | "aes",
- options: {
- length: number;
- },
- callback: (err: Error | null, key: KeyObject) => void,
- ): void;
- /**
- * Synchronously generates a new random secret key of the given `length`. The `type` will determine which validations will be performed on the `length`.
- *
- * ```js
- * const {
- * generateKeySync,
- * } = await import('node:crypto');
- *
- * const key = generateKeySync('hmac', { length: 512 });
- * console.log(key.export().toString('hex')); // e89..........41e
- * ```
- *
- * The size of a generated HMAC key should not exceed the block size of the
- * underlying hash function. See {@link createHmac} for more information.
- * @since v15.0.0
- * @param type The intended use of the generated secret key. Currently accepted values are `'hmac'` and `'aes'`.
- */
- function generateKeySync(
- type: "hmac" | "aes",
- options: {
- length: number;
- },
- ): KeyObject;
- interface JsonWebKeyInput {
- key: JsonWebKey;
- format: "jwk";
- }
- /**
- * Creates and returns a new key object containing a private key. If `key` is a
- * string or `Buffer`, `format` is assumed to be `'pem'`; otherwise, `key` must be an object with the properties described above.
- *
- * If the private key is encrypted, a `passphrase` must be specified. The length
- * of the passphrase is limited to 1024 bytes.
- * @since v11.6.0
- */
- function createPrivateKey(key: PrivateKeyInput | string | Buffer | JsonWebKeyInput): KeyObject;
- /**
- * Creates and returns a new key object containing a public key. If `key` is a
- * string or `Buffer`, `format` is assumed to be `'pem'`; if `key` is a `KeyObject` with type `'private'`, the public key is derived from the given private key;
- * otherwise, `key` must be an object with the properties described above.
- *
- * If the format is `'pem'`, the `'key'` may also be an X.509 certificate.
- *
- * Because public keys can be derived from private keys, a private key may be
- * passed instead of a public key. In that case, this function behaves as if {@link createPrivateKey} had been called, except that the type of the
- * returned `KeyObject` will be `'public'` and that the private key cannot be
- * extracted from the returned `KeyObject`. Similarly, if a `KeyObject` with type `'private'` is given, a new `KeyObject` with type `'public'` will be returned
- * and it will be impossible to extract the private key from the returned object.
- * @since v11.6.0
- */
- function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject | JsonWebKeyInput): KeyObject;
- /**
- * Creates and returns a new key object containing a secret key for symmetric
- * encryption or `Hmac`.
- * @since v11.6.0
- * @param encoding The string encoding when `key` is a string.
- */
- function createSecretKey(key: NodeJS.ArrayBufferView): KeyObject;
- function createSecretKey(key: string, encoding: BufferEncoding): KeyObject;
- /**
- * Creates and returns a `Sign` object that uses the given `algorithm`. Use {@link getHashes} to obtain the names of the available digest algorithms.
- * Optional `options` argument controls the `stream.Writable` behavior.
- *
- * In some cases, a `Sign` instance can be created using the name of a signature
- * algorithm, such as `'RSA-SHA256'`, instead of a digest algorithm. This will use
- * the corresponding digest algorithm. This does not work for all signature
- * algorithms, such as `'ecdsa-with-SHA256'`, so it is best to always use digest
- * algorithm names.
- * @since v0.1.92
- * @param options `stream.Writable` options
- */
- function createSign(algorithm: string, options?: stream.WritableOptions): Sign;
- type DSAEncoding = "der" | "ieee-p1363";
- interface SigningOptions {
- /**
- * @see crypto.constants.RSA_PKCS1_PADDING
- */
- padding?: number | undefined;
- saltLength?: number | undefined;
- dsaEncoding?: DSAEncoding | undefined;
- }
- interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {}
- interface SignKeyObjectInput extends SigningOptions {
- key: KeyObject;
- }
- interface SignJsonWebKeyInput extends JsonWebKeyInput, SigningOptions {}
- interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions {}
- interface VerifyKeyObjectInput extends SigningOptions {
- key: KeyObject;
- }
- interface VerifyJsonWebKeyInput extends JsonWebKeyInput, SigningOptions {}
- type KeyLike = string | Buffer | KeyObject;
- /**
- * The `Sign` class is a utility for generating signatures. It can be used in one
- * of two ways:
- *
- * * As a writable `stream`, where data to be signed is written and the `sign.sign()` method is used to generate and return the signature, or
- * * Using the `sign.update()` and `sign.sign()` methods to produce the
- * signature.
- *
- * The {@link createSign} method is used to create `Sign` instances. The
- * argument is the string name of the hash function to use. `Sign` objects are not
- * to be created directly using the `new` keyword.
- *
- * Example: Using `Sign` and `Verify` objects as streams:
- *
- * ```js
- * const {
- * generateKeyPairSync,
- * createSign,
- * createVerify,
- * } = await import('node:crypto');
- *
- * const { privateKey, publicKey } = generateKeyPairSync('ec', {
- * namedCurve: 'sect239k1',
- * });
- *
- * const sign = createSign('SHA256');
- * sign.write('some data to sign');
- * sign.end();
- * const signature = sign.sign(privateKey, 'hex');
- *
- * const verify = createVerify('SHA256');
- * verify.write('some data to sign');
- * verify.end();
- * console.log(verify.verify(publicKey, signature, 'hex'));
- * // Prints: true
- * ```
- *
- * Example: Using the `sign.update()` and `verify.update()` methods:
- *
- * ```js
- * const {
- * generateKeyPairSync,
- * createSign,
- * createVerify,
- * } = await import('node:crypto');
- *
- * const { privateKey, publicKey } = generateKeyPairSync('rsa', {
- * modulusLength: 2048,
- * });
- *
- * const sign = createSign('SHA256');
- * sign.update('some data to sign');
- * sign.end();
- * const signature = sign.sign(privateKey);
- *
- * const verify = createVerify('SHA256');
- * verify.update('some data to sign');
- * verify.end();
- * console.log(verify.verify(publicKey, signature));
- * // Prints: true
- * ```
- * @since v0.1.92
- */
- class Sign extends stream.Writable {
- private constructor();
- /**
- * Updates the `Sign` content with the given `data`, the encoding of which
- * is given in `inputEncoding`.
- * If `encoding` is not provided, and the `data` is a string, an
- * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored.
- *
- * This can be called many times with new data as it is streamed.
- * @since v0.1.92
- * @param inputEncoding The `encoding` of the `data` string.
- */
- update(data: BinaryLike): this;
- update(data: string, inputEncoding: Encoding): this;
- /**
- * Calculates the signature on all the data passed through using either `sign.update()` or `sign.write()`.
- *
- * If `privateKey` is not a `KeyObject`, this function behaves as if `privateKey` had been passed to {@link createPrivateKey}. If it is an
- * object, the following additional properties can be passed:
- *
- * If `outputEncoding` is provided a string is returned; otherwise a `Buffer` is returned.
- *
- * The `Sign` object can not be again used after `sign.sign()` method has been
- * called. Multiple calls to `sign.sign()` will result in an error being thrown.
- * @since v0.1.92
- */
- sign(privateKey: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput): Buffer;
- sign(
- privateKey: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
- outputFormat: BinaryToTextEncoding,
- ): string;
- }
- /**
- * Creates and returns a `Verify` object that uses the given algorithm.
- * Use {@link getHashes} to obtain an array of names of the available
- * signing algorithms. Optional `options` argument controls the `stream.Writable` behavior.
- *
- * In some cases, a `Verify` instance can be created using the name of a signature
- * algorithm, such as `'RSA-SHA256'`, instead of a digest algorithm. This will use
- * the corresponding digest algorithm. This does not work for all signature
- * algorithms, such as `'ecdsa-with-SHA256'`, so it is best to always use digest
- * algorithm names.
- * @since v0.1.92
- * @param options `stream.Writable` options
- */
- function createVerify(algorithm: string, options?: stream.WritableOptions): Verify;
- /**
- * The `Verify` class is a utility for verifying signatures. It can be used in one
- * of two ways:
- *
- * * As a writable `stream` where written data is used to validate against the
- * supplied signature, or
- * * Using the `verify.update()` and `verify.verify()` methods to verify
- * the signature.
- *
- * The {@link createVerify} method is used to create `Verify` instances. `Verify` objects are not to be created directly using the `new` keyword.
- *
- * See `Sign` for examples.
- * @since v0.1.92
- */
- class Verify extends stream.Writable {
- private constructor();
- /**
- * Updates the `Verify` content with the given `data`, the encoding of which
- * is given in `inputEncoding`.
- * If `inputEncoding` is not provided, and the `data` is a string, an
- * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or `DataView`, then `inputEncoding` is ignored.
- *
- * This can be called many times with new data as it is streamed.
- * @since v0.1.92
- * @param inputEncoding The `encoding` of the `data` string.
- */
- update(data: BinaryLike): Verify;
- update(data: string, inputEncoding: Encoding): Verify;
- /**
- * Verifies the provided data using the given `object` and `signature`.
- *
- * If `object` is not a `KeyObject`, this function behaves as if `object` had been passed to {@link createPublicKey}. If it is an
- * object, the following additional properties can be passed:
- *
- * The `signature` argument is the previously calculated signature for the data, in
- * the `signatureEncoding`.
- * If a `signatureEncoding` is specified, the `signature` is expected to be a
- * string; otherwise `signature` is expected to be a `Buffer`, `TypedArray`, or `DataView`.
- *
- * The `verify` object can not be used again after `verify.verify()` has been
- * called. Multiple calls to `verify.verify()` will result in an error being
- * thrown.
- *
- * Because public keys can be derived from private keys, a private key may
- * be passed instead of a public key.
- * @since v0.1.92
- */
- verify(
- object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
- signature: NodeJS.ArrayBufferView,
- ): boolean;
- verify(
- object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
- signature: string,
- signature_format?: BinaryToTextEncoding,
- ): boolean;
- }
- /**
- * Creates a `DiffieHellman` key exchange object using the supplied `prime` and an
- * optional specific `generator`.
- *
- * The `generator` argument can be a number, string, or `Buffer`. If `generator` is not specified, the value `2` is used.
- *
- * If `primeEncoding` is specified, `prime` is expected to be a string; otherwise
- * a `Buffer`, `TypedArray`, or `DataView` is expected.
- *
- * If `generatorEncoding` is specified, `generator` is expected to be a string;
- * otherwise a number, `Buffer`, `TypedArray`, or `DataView` is expected.
- * @since v0.11.12
- * @param primeEncoding The `encoding` of the `prime` string.
- * @param [generator=2]
- * @param generatorEncoding The `encoding` of the `generator` string.
- */
- function createDiffieHellman(primeLength: number, generator?: number): DiffieHellman;
- function createDiffieHellman(
- prime: ArrayBuffer | NodeJS.ArrayBufferView,
- generator?: number | ArrayBuffer | NodeJS.ArrayBufferView,
- ): DiffieHellman;
- function createDiffieHellman(
- prime: ArrayBuffer | NodeJS.ArrayBufferView,
- generator: string,
- generatorEncoding: BinaryToTextEncoding,
- ): DiffieHellman;
- function createDiffieHellman(
- prime: string,
- primeEncoding: BinaryToTextEncoding,
- generator?: number | ArrayBuffer | NodeJS.ArrayBufferView,
- ): DiffieHellman;
- function createDiffieHellman(
- prime: string,
- primeEncoding: BinaryToTextEncoding,
- generator: string,
- generatorEncoding: BinaryToTextEncoding,
- ): DiffieHellman;
- /**
- * The `DiffieHellman` class is a utility for creating Diffie-Hellman key
- * exchanges.
- *
- * Instances of the `DiffieHellman` class can be created using the {@link createDiffieHellman} function.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * const {
- * createDiffieHellman,
- * } = await import('node:crypto');
- *
- * // Generate Alice's keys...
- * const alice = createDiffieHellman(2048);
- * const aliceKey = alice.generateKeys();
- *
- * // Generate Bob's keys...
- * const bob = createDiffieHellman(alice.getPrime(), alice.getGenerator());
- * const bobKey = bob.generateKeys();
- *
- * // Exchange and generate the secret...
- * const aliceSecret = alice.computeSecret(bobKey);
- * const bobSecret = bob.computeSecret(aliceKey);
- *
- * // OK
- * assert.strictEqual(aliceSecret.toString('hex'), bobSecret.toString('hex'));
- * ```
- * @since v0.5.0
- */
- class DiffieHellman {
- private constructor();
- /**
- * Generates private and public Diffie-Hellman key values unless they have been
- * generated or computed already, and returns
- * the public key in the specified `encoding`. This key should be
- * transferred to the other party.
- * If `encoding` is provided a string is returned; otherwise a `Buffer` is returned.
- *
- * This function is a thin wrapper around [`DH_generate_key()`](https://www.openssl.org/docs/man3.0/man3/DH_generate_key.html). In particular,
- * once a private key has been generated or set, calling this function only updates
- * the public key but does not generate a new private key.
- * @since v0.5.0
- * @param encoding The `encoding` of the return value.
- */
- generateKeys(): Buffer;
- generateKeys(encoding: BinaryToTextEncoding): string;
- /**
- * Computes the shared secret using `otherPublicKey` as the other
- * party's public key and returns the computed shared secret. The supplied
- * key is interpreted using the specified `inputEncoding`, and secret is
- * encoded using specified `outputEncoding`.
- * If the `inputEncoding` is not
- * provided, `otherPublicKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`.
- *
- * If `outputEncoding` is given a string is returned; otherwise, a `Buffer` is returned.
- * @since v0.5.0
- * @param inputEncoding The `encoding` of an `otherPublicKey` string.
- * @param outputEncoding The `encoding` of the return value.
- */
- computeSecret(otherPublicKey: NodeJS.ArrayBufferView, inputEncoding?: null, outputEncoding?: null): Buffer;
- computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding, outputEncoding?: null): Buffer;
- computeSecret(
- otherPublicKey: NodeJS.ArrayBufferView,
- inputEncoding: null,
- outputEncoding: BinaryToTextEncoding,
- ): string;
- computeSecret(
- otherPublicKey: string,
- inputEncoding: BinaryToTextEncoding,
- outputEncoding: BinaryToTextEncoding,
- ): string;
- /**
- * Returns the Diffie-Hellman prime in the specified `encoding`.
- * If `encoding` is provided a string is
- * returned; otherwise a `Buffer` is returned.
- * @since v0.5.0
- * @param encoding The `encoding` of the return value.
- */
- getPrime(): Buffer;
- getPrime(encoding: BinaryToTextEncoding): string;
- /**
- * Returns the Diffie-Hellman generator in the specified `encoding`.
- * If `encoding` is provided a string is
- * returned; otherwise a `Buffer` is returned.
- * @since v0.5.0
- * @param encoding The `encoding` of the return value.
- */
- getGenerator(): Buffer;
- getGenerator(encoding: BinaryToTextEncoding): string;
- /**
- * Returns the Diffie-Hellman public key in the specified `encoding`.
- * If `encoding` is provided a
- * string is returned; otherwise a `Buffer` is returned.
- * @since v0.5.0
- * @param encoding The `encoding` of the return value.
- */
- getPublicKey(): Buffer;
- getPublicKey(encoding: BinaryToTextEncoding): string;
- /**
- * Returns the Diffie-Hellman private key in the specified `encoding`.
- * If `encoding` is provided a
- * string is returned; otherwise a `Buffer` is returned.
- * @since v0.5.0
- * @param encoding The `encoding` of the return value.
- */
- getPrivateKey(): Buffer;
- getPrivateKey(encoding: BinaryToTextEncoding): string;
- /**
- * Sets the Diffie-Hellman public key. If the `encoding` argument is provided, `publicKey` is expected
- * to be a string. If no `encoding` is provided, `publicKey` is expected
- * to be a `Buffer`, `TypedArray`, or `DataView`.
- * @since v0.5.0
- * @param encoding The `encoding` of the `publicKey` string.
- */
- setPublicKey(publicKey: NodeJS.ArrayBufferView): void;
- setPublicKey(publicKey: string, encoding: BufferEncoding): void;
- /**
- * Sets the Diffie-Hellman private key. If the `encoding` argument is provided,`privateKey` is expected
- * to be a string. If no `encoding` is provided, `privateKey` is expected
- * to be a `Buffer`, `TypedArray`, or `DataView`.
- *
- * This function does not automatically compute the associated public key. Either `diffieHellman.setPublicKey()` or `diffieHellman.generateKeys()` can be
- * used to manually provide the public key or to automatically derive it.
- * @since v0.5.0
- * @param encoding The `encoding` of the `privateKey` string.
- */
- setPrivateKey(privateKey: NodeJS.ArrayBufferView): void;
- setPrivateKey(privateKey: string, encoding: BufferEncoding): void;
- /**
- * A bit field containing any warnings and/or errors resulting from a check
- * performed during initialization of the `DiffieHellman` object.
- *
- * The following values are valid for this property (as defined in `node:constants` module):
- *
- * * `DH_CHECK_P_NOT_SAFE_PRIME`
- * * `DH_CHECK_P_NOT_PRIME`
- * * `DH_UNABLE_TO_CHECK_GENERATOR`
- * * `DH_NOT_SUITABLE_GENERATOR`
- * @since v0.11.12
- */
- verifyError: number;
- }
- /**
- * The `DiffieHellmanGroup` class takes a well-known modp group as its argument.
- * It works the same as `DiffieHellman`, except that it does not allow changing its keys after creation.
- * In other words, it does not implement `setPublicKey()` or `setPrivateKey()` methods.
- *
- * ```js
- * const { createDiffieHellmanGroup } = await import('node:crypto');
- * const dh = createDiffieHellmanGroup('modp1');
- * ```
- * The name (e.g. `'modp1'`) is taken from [RFC 2412](https://www.rfc-editor.org/rfc/rfc2412.txt) (modp1 and 2) and [RFC 3526](https://www.rfc-editor.org/rfc/rfc3526.txt):
- * ```bash
- * $ perl -ne 'print "$1\n" if /"(modp\d+)"/' src/node_crypto_groups.h
- * modp1 # 768 bits
- * modp2 # 1024 bits
- * modp5 # 1536 bits
- * modp14 # 2048 bits
- * modp15 # etc.
- * modp16
- * modp17
- * modp18
- * ```
- * @since v0.7.5
- */
- const DiffieHellmanGroup: DiffieHellmanGroupConstructor;
- interface DiffieHellmanGroupConstructor {
- new(name: string): DiffieHellmanGroup;
- (name: string): DiffieHellmanGroup;
- readonly prototype: DiffieHellmanGroup;
- }
- type DiffieHellmanGroup = Omit;
- /**
- * Creates a predefined `DiffieHellmanGroup` key exchange object. The
- * supported groups are listed in the documentation for `DiffieHellmanGroup`.
- *
- * The returned object mimics the interface of objects created by {@link createDiffieHellman}, but will not allow changing
- * the keys (with `diffieHellman.setPublicKey()`, for example). The
- * advantage of using this method is that the parties do not have to
- * generate nor exchange a group modulus beforehand, saving both processor
- * and communication time.
- *
- * Example (obtaining a shared secret):
- *
- * ```js
- * const {
- * getDiffieHellman,
- * } = await import('node:crypto');
- * const alice = getDiffieHellman('modp14');
- * const bob = getDiffieHellman('modp14');
- *
- * alice.generateKeys();
- * bob.generateKeys();
- *
- * const aliceSecret = alice.computeSecret(bob.getPublicKey(), null, 'hex');
- * const bobSecret = bob.computeSecret(alice.getPublicKey(), null, 'hex');
- *
- * // aliceSecret and bobSecret should be the same
- * console.log(aliceSecret === bobSecret);
- * ```
- * @since v0.7.5
- */
- function getDiffieHellman(groupName: string): DiffieHellmanGroup;
- /**
- * An alias for {@link getDiffieHellman}
- * @since v0.9.3
- */
- function createDiffieHellmanGroup(name: string): DiffieHellmanGroup;
- /**
- * Provides an asynchronous Password-Based Key Derivation Function 2 (PBKDF2)
- * implementation. A selected HMAC digest algorithm specified by `digest` is
- * applied to derive a key of the requested byte length (`keylen`) from the `password`, `salt` and `iterations`.
- *
- * The supplied `callback` function is called with two arguments: `err` and `derivedKey`. If an error occurs while deriving the key, `err` will be set;
- * otherwise `err` will be `null`. By default, the successfully generated `derivedKey` will be passed to the callback as a `Buffer`. An error will be
- * thrown if any of the input arguments specify invalid values or types.
- *
- * The `iterations` argument must be a number set as high as possible. The
- * higher the number of iterations, the more secure the derived key will be,
- * but will take a longer amount of time to complete.
- *
- * The `salt` should be as unique as possible. It is recommended that a salt is
- * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.
- *
- * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.
- *
- * ```js
- * const {
- * pbkdf2,
- * } = await import('node:crypto');
- *
- * pbkdf2('secret', 'salt', 100000, 64, 'sha512', (err, derivedKey) => {
- * if (err) throw err;
- * console.log(derivedKey.toString('hex')); // '3745e48...08d59ae'
- * });
- * ```
- *
- * An array of supported digest functions can be retrieved using {@link getHashes}.
- *
- * This API uses libuv's threadpool, which can have surprising and
- * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information.
- * @since v0.5.5
- */
- function pbkdf2(
- password: BinaryLike,
- salt: BinaryLike,
- iterations: number,
- keylen: number,
- digest: string,
- callback: (err: Error | null, derivedKey: Buffer) => void,
- ): void;
- /**
- * Provides a synchronous Password-Based Key Derivation Function 2 (PBKDF2)
- * implementation. A selected HMAC digest algorithm specified by `digest` is
- * applied to derive a key of the requested byte length (`keylen`) from the `password`, `salt` and `iterations`.
- *
- * If an error occurs an `Error` will be thrown, otherwise the derived key will be
- * returned as a `Buffer`.
- *
- * The `iterations` argument must be a number set as high as possible. The
- * higher the number of iterations, the more secure the derived key will be,
- * but will take a longer amount of time to complete.
- *
- * The `salt` should be as unique as possible. It is recommended that a salt is
- * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.
- *
- * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.
- *
- * ```js
- * const {
- * pbkdf2Sync,
- * } = await import('node:crypto');
- *
- * const key = pbkdf2Sync('secret', 'salt', 100000, 64, 'sha512');
- * console.log(key.toString('hex')); // '3745e48...08d59ae'
- * ```
- *
- * An array of supported digest functions can be retrieved using {@link getHashes}.
- * @since v0.9.3
- */
- function pbkdf2Sync(
- password: BinaryLike,
- salt: BinaryLike,
- iterations: number,
- keylen: number,
- digest: string,
- ): Buffer;
- /**
- * Generates cryptographically strong pseudorandom data. The `size` argument
- * is a number indicating the number of bytes to generate.
- *
- * If a `callback` function is provided, the bytes are generated asynchronously
- * and the `callback` function is invoked with two arguments: `err` and `buf`.
- * If an error occurs, `err` will be an `Error` object; otherwise it is `null`. The `buf` argument is a `Buffer` containing the generated bytes.
- *
- * ```js
- * // Asynchronous
- * const {
- * randomBytes,
- * } = await import('node:crypto');
- *
- * randomBytes(256, (err, buf) => {
- * if (err) throw err;
- * console.log(`${buf.length} bytes of random data: ${buf.toString('hex')}`);
- * });
- * ```
- *
- * If the `callback` function is not provided, the random bytes are generated
- * synchronously and returned as a `Buffer`. An error will be thrown if
- * there is a problem generating the bytes.
- *
- * ```js
- * // Synchronous
- * const {
- * randomBytes,
- * } = await import('node:crypto');
- *
- * const buf = randomBytes(256);
- * console.log(
- * `${buf.length} bytes of random data: ${buf.toString('hex')}`);
- * ```
- *
- * The `crypto.randomBytes()` method will not complete until there is
- * sufficient entropy available.
- * This should normally never take longer than a few milliseconds. The only time
- * when generating the random bytes may conceivably block for a longer period of
- * time is right after boot, when the whole system is still low on entropy.
- *
- * This API uses libuv's threadpool, which can have surprising and
- * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information.
- *
- * The asynchronous version of `crypto.randomBytes()` is carried out in a single
- * threadpool request. To minimize threadpool task length variation, partition
- * large `randomBytes` requests when doing so as part of fulfilling a client
- * request.
- * @since v0.5.8
- * @param size The number of bytes to generate. The `size` must not be larger than `2**31 - 1`.
- * @return if the `callback` function is not provided.
- */
- function randomBytes(size: number): Buffer;
- function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void;
- function pseudoRandomBytes(size: number): Buffer;
- function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void;
- /**
- * Return a random integer `n` such that `min <= n < max`. This
- * implementation avoids [modulo bias](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Modulo_bias).
- *
- * The range (`max - min`) must be less than 2**48. `min` and `max` must
- * be [safe integers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger).
- *
- * If the `callback` function is not provided, the random integer is
- * generated synchronously.
- *
- * ```js
- * // Asynchronous
- * const {
- * randomInt,
- * } = await import('node:crypto');
- *
- * randomInt(3, (err, n) => {
- * if (err) throw err;
- * console.log(`Random number chosen from (0, 1, 2): ${n}`);
- * });
- * ```
- *
- * ```js
- * // Synchronous
- * const {
- * randomInt,
- * } = await import('node:crypto');
- *
- * const n = randomInt(3);
- * console.log(`Random number chosen from (0, 1, 2): ${n}`);
- * ```
- *
- * ```js
- * // With `min` argument
- * const {
- * randomInt,
- * } = await import('node:crypto');
- *
- * const n = randomInt(1, 7);
- * console.log(`The dice rolled: ${n}`);
- * ```
- * @since v14.10.0, v12.19.0
- * @param [min=0] Start of random range (inclusive).
- * @param max End of random range (exclusive).
- * @param callback `function(err, n) {}`.
- */
- function randomInt(max: number): number;
- function randomInt(min: number, max: number): number;
- function randomInt(max: number, callback: (err: Error | null, value: number) => void): void;
- function randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void;
- /**
- * Synchronous version of {@link randomFill}.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const { randomFillSync } = await import('node:crypto');
- *
- * const buf = Buffer.alloc(10);
- * console.log(randomFillSync(buf).toString('hex'));
- *
- * randomFillSync(buf, 5);
- * console.log(buf.toString('hex'));
- *
- * // The above is equivalent to the following:
- * randomFillSync(buf, 5, 5);
- * console.log(buf.toString('hex'));
- * ```
- *
- * Any `ArrayBuffer`, `TypedArray` or `DataView` instance may be passed as`buffer`.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const { randomFillSync } = await import('node:crypto');
- *
- * const a = new Uint32Array(10);
- * console.log(Buffer.from(randomFillSync(a).buffer,
- * a.byteOffset, a.byteLength).toString('hex'));
- *
- * const b = new DataView(new ArrayBuffer(10));
- * console.log(Buffer.from(randomFillSync(b).buffer,
- * b.byteOffset, b.byteLength).toString('hex'));
- *
- * const c = new ArrayBuffer(10);
- * console.log(Buffer.from(randomFillSync(c)).toString('hex'));
- * ```
- * @since v7.10.0, v6.13.0
- * @param buffer Must be supplied. The size of the provided `buffer` must not be larger than `2**31 - 1`.
- * @param [offset=0]
- * @param [size=buffer.length - offset]
- * @return The object passed as `buffer` argument.
- */
- function randomFillSync(buffer: T, offset?: number, size?: number): T;
- /**
- * This function is similar to {@link randomBytes} but requires the first
- * argument to be a `Buffer` that will be filled. It also
- * requires that a callback is passed in.
- *
- * If the `callback` function is not provided, an error will be thrown.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const { randomFill } = await import('node:crypto');
- *
- * const buf = Buffer.alloc(10);
- * randomFill(buf, (err, buf) => {
- * if (err) throw err;
- * console.log(buf.toString('hex'));
- * });
- *
- * randomFill(buf, 5, (err, buf) => {
- * if (err) throw err;
- * console.log(buf.toString('hex'));
- * });
- *
- * // The above is equivalent to the following:
- * randomFill(buf, 5, 5, (err, buf) => {
- * if (err) throw err;
- * console.log(buf.toString('hex'));
- * });
- * ```
- *
- * Any `ArrayBuffer`, `TypedArray`, or `DataView` instance may be passed as `buffer`.
- *
- * While this includes instances of `Float32Array` and `Float64Array`, this
- * function should not be used to generate random floating-point numbers. The
- * result may contain `+Infinity`, `-Infinity`, and `NaN`, and even if the array
- * contains finite numbers only, they are not drawn from a uniform random
- * distribution and have no meaningful lower or upper bounds.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const { randomFill } = await import('node:crypto');
- *
- * const a = new Uint32Array(10);
- * randomFill(a, (err, buf) => {
- * if (err) throw err;
- * console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength)
- * .toString('hex'));
- * });
- *
- * const b = new DataView(new ArrayBuffer(10));
- * randomFill(b, (err, buf) => {
- * if (err) throw err;
- * console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength)
- * .toString('hex'));
- * });
- *
- * const c = new ArrayBuffer(10);
- * randomFill(c, (err, buf) => {
- * if (err) throw err;
- * console.log(Buffer.from(buf).toString('hex'));
- * });
- * ```
- *
- * This API uses libuv's threadpool, which can have surprising and
- * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information.
- *
- * The asynchronous version of `crypto.randomFill()` is carried out in a single
- * threadpool request. To minimize threadpool task length variation, partition
- * large `randomFill` requests when doing so as part of fulfilling a client
- * request.
- * @since v7.10.0, v6.13.0
- * @param buffer Must be supplied. The size of the provided `buffer` must not be larger than `2**31 - 1`.
- * @param [offset=0]
- * @param [size=buffer.length - offset]
- * @param callback `function(err, buf) {}`.
- */
- function randomFill(
- buffer: T,
- callback: (err: Error | null, buf: T) => void,
- ): void;
- function randomFill(
- buffer: T,
- offset: number,
- callback: (err: Error | null, buf: T) => void,
- ): void;
- function randomFill(
- buffer: T,
- offset: number,
- size: number,
- callback: (err: Error | null, buf: T) => void,
- ): void;
- interface ScryptOptions {
- cost?: number | undefined;
- blockSize?: number | undefined;
- parallelization?: number | undefined;
- N?: number | undefined;
- r?: number | undefined;
- p?: number | undefined;
- maxmem?: number | undefined;
- }
- /**
- * Provides an asynchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based
- * key derivation function that is designed to be expensive computationally and
- * memory-wise in order to make brute-force attacks unrewarding.
- *
- * The `salt` should be as unique as possible. It is recommended that a salt is
- * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.
- *
- * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.
- *
- * The `callback` function is called with two arguments: `err` and `derivedKey`. `err` is an exception object when key derivation fails, otherwise `err` is `null`. `derivedKey` is passed to the
- * callback as a `Buffer`.
- *
- * An exception is thrown when any of the input arguments specify invalid values
- * or types.
- *
- * ```js
- * const {
- * scrypt,
- * } = await import('node:crypto');
- *
- * // Using the factory defaults.
- * scrypt('password', 'salt', 64, (err, derivedKey) => {
- * if (err) throw err;
- * console.log(derivedKey.toString('hex')); // '3745e48...08d59ae'
- * });
- * // Using a custom N parameter. Must be a power of two.
- * scrypt('password', 'salt', 64, { N: 1024 }, (err, derivedKey) => {
- * if (err) throw err;
- * console.log(derivedKey.toString('hex')); // '3745e48...aa39b34'
- * });
- * ```
- * @since v10.5.0
- */
- function scrypt(
- password: BinaryLike,
- salt: BinaryLike,
- keylen: number,
- callback: (err: Error | null, derivedKey: Buffer) => void,
- ): void;
- function scrypt(
- password: BinaryLike,
- salt: BinaryLike,
- keylen: number,
- options: ScryptOptions,
- callback: (err: Error | null, derivedKey: Buffer) => void,
- ): void;
- /**
- * Provides a synchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based
- * key derivation function that is designed to be expensive computationally and
- * memory-wise in order to make brute-force attacks unrewarding.
- *
- * The `salt` should be as unique as possible. It is recommended that a salt is
- * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details.
- *
- * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`.
- *
- * An exception is thrown when key derivation fails, otherwise the derived key is
- * returned as a `Buffer`.
- *
- * An exception is thrown when any of the input arguments specify invalid values
- * or types.
- *
- * ```js
- * const {
- * scryptSync,
- * } = await import('node:crypto');
- * // Using the factory defaults.
- *
- * const key1 = scryptSync('password', 'salt', 64);
- * console.log(key1.toString('hex')); // '3745e48...08d59ae'
- * // Using a custom N parameter. Must be a power of two.
- * const key2 = scryptSync('password', 'salt', 64, { N: 1024 });
- * console.log(key2.toString('hex')); // '3745e48...aa39b34'
- * ```
- * @since v10.5.0
- */
- function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer;
- interface RsaPublicKey {
- key: KeyLike;
- padding?: number | undefined;
- }
- interface RsaPrivateKey {
- key: KeyLike;
- passphrase?: string | undefined;
- /**
- * @default 'sha1'
- */
- oaepHash?: string | undefined;
- oaepLabel?: NodeJS.TypedArray | undefined;
- padding?: number | undefined;
- }
- /**
- * Encrypts the content of `buffer` with `key` and returns a new `Buffer` with encrypted content. The returned data can be decrypted using
- * the corresponding private key, for example using {@link privateDecrypt}.
- *
- * If `key` is not a `KeyObject`, this function behaves as if `key` had been passed to {@link createPublicKey}. If it is an
- * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_OAEP_PADDING`.
- *
- * Because RSA public keys can be derived from private keys, a private key may
- * be passed instead of a public key.
- * @since v0.11.14
- */
- function publicEncrypt(
- key: RsaPublicKey | RsaPrivateKey | KeyLike,
- buffer: NodeJS.ArrayBufferView | string,
- ): Buffer;
- /**
- * Decrypts `buffer` with `key`.`buffer` was previously encrypted using
- * the corresponding private key, for example using {@link privateEncrypt}.
- *
- * If `key` is not a `KeyObject`, this function behaves as if `key` had been passed to {@link createPublicKey}. If it is an
- * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_PADDING`.
- *
- * Because RSA public keys can be derived from private keys, a private key may
- * be passed instead of a public key.
- * @since v1.1.0
- */
- function publicDecrypt(
- key: RsaPublicKey | RsaPrivateKey | KeyLike,
- buffer: NodeJS.ArrayBufferView | string,
- ): Buffer;
- /**
- * Decrypts `buffer` with `privateKey`. `buffer` was previously encrypted using
- * the corresponding public key, for example using {@link publicEncrypt}.
- *
- * If `privateKey` is not a `KeyObject`, this function behaves as if `privateKey` had been passed to {@link createPrivateKey}. If it is an
- * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_OAEP_PADDING`.
- * @since v0.11.14
- */
- function privateDecrypt(privateKey: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView | string): Buffer;
- /**
- * Encrypts `buffer` with `privateKey`. The returned data can be decrypted using
- * the corresponding public key, for example using {@link publicDecrypt}.
- *
- * If `privateKey` is not a `KeyObject`, this function behaves as if `privateKey` had been passed to {@link createPrivateKey}. If it is an
- * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_PADDING`.
- * @since v1.1.0
- */
- function privateEncrypt(privateKey: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView | string): Buffer;
- /**
- * ```js
- * const {
- * getCiphers,
- * } = await import('node:crypto');
- *
- * console.log(getCiphers()); // ['aes-128-cbc', 'aes-128-ccm', ...]
- * ```
- * @since v0.9.3
- * @return An array with the names of the supported cipher algorithms.
- */
- function getCiphers(): string[];
- /**
- * ```js
- * const {
- * getCurves,
- * } = await import('node:crypto');
- *
- * console.log(getCurves()); // ['Oakley-EC2N-3', 'Oakley-EC2N-4', ...]
- * ```
- * @since v2.3.0
- * @return An array with the names of the supported elliptic curves.
- */
- function getCurves(): string[];
- /**
- * @since v10.0.0
- * @return `1` if and only if a FIPS compliant crypto provider is currently in use, `0` otherwise. A future semver-major release may change the return type of this API to a {boolean}.
- */
- function getFips(): 1 | 0;
- /**
- * Enables the FIPS compliant crypto provider in a FIPS-enabled Node.js build.
- * Throws an error if FIPS mode is not available.
- * @since v10.0.0
- * @param bool `true` to enable FIPS mode.
- */
- function setFips(bool: boolean): void;
- /**
- * ```js
- * const {
- * getHashes,
- * } = await import('node:crypto');
- *
- * console.log(getHashes()); // ['DSA', 'DSA-SHA', 'DSA-SHA1', ...]
- * ```
- * @since v0.9.3
- * @return An array of the names of the supported hash algorithms, such as `'RSA-SHA256'`. Hash algorithms are also called "digest" algorithms.
- */
- function getHashes(): string[];
- /**
- * The `ECDH` class is a utility for creating Elliptic Curve Diffie-Hellman (ECDH)
- * key exchanges.
- *
- * Instances of the `ECDH` class can be created using the {@link createECDH} function.
- *
- * ```js
- * import assert from 'node:assert';
- *
- * const {
- * createECDH,
- * } = await import('node:crypto');
- *
- * // Generate Alice's keys...
- * const alice = createECDH('secp521r1');
- * const aliceKey = alice.generateKeys();
- *
- * // Generate Bob's keys...
- * const bob = createECDH('secp521r1');
- * const bobKey = bob.generateKeys();
- *
- * // Exchange and generate the secret...
- * const aliceSecret = alice.computeSecret(bobKey);
- * const bobSecret = bob.computeSecret(aliceKey);
- *
- * assert.strictEqual(aliceSecret.toString('hex'), bobSecret.toString('hex'));
- * // OK
- * ```
- * @since v0.11.14
- */
- class ECDH {
- private constructor();
- /**
- * Converts the EC Diffie-Hellman public key specified by `key` and `curve` to the
- * format specified by `format`. The `format` argument specifies point encoding
- * and can be `'compressed'`, `'uncompressed'` or `'hybrid'`. The supplied key is
- * interpreted using the specified `inputEncoding`, and the returned key is encoded
- * using the specified `outputEncoding`.
- *
- * Use {@link getCurves} to obtain a list of available curve names.
- * On recent OpenSSL releases, `openssl ecparam -list_curves` will also display
- * the name and description of each available elliptic curve.
- *
- * If `format` is not specified the point will be returned in `'uncompressed'` format.
- *
- * If the `inputEncoding` is not provided, `key` is expected to be a `Buffer`, `TypedArray`, or `DataView`.
- *
- * Example (uncompressing a key):
- *
- * ```js
- * const {
- * createECDH,
- * ECDH,
- * } = await import('node:crypto');
- *
- * const ecdh = createECDH('secp256k1');
- * ecdh.generateKeys();
- *
- * const compressedKey = ecdh.getPublicKey('hex', 'compressed');
- *
- * const uncompressedKey = ECDH.convertKey(compressedKey,
- * 'secp256k1',
- * 'hex',
- * 'hex',
- * 'uncompressed');
- *
- * // The converted key and the uncompressed public key should be the same
- * console.log(uncompressedKey === ecdh.getPublicKey('hex'));
- * ```
- * @since v10.0.0
- * @param inputEncoding The `encoding` of the `key` string.
- * @param outputEncoding The `encoding` of the return value.
- * @param [format='uncompressed']
- */
- static convertKey(
- key: BinaryLike,
- curve: string,
- inputEncoding?: BinaryToTextEncoding,
- outputEncoding?: "latin1" | "hex" | "base64" | "base64url",
- format?: "uncompressed" | "compressed" | "hybrid",
- ): Buffer | string;
- /**
- * Generates private and public EC Diffie-Hellman key values, and returns
- * the public key in the specified `format` and `encoding`. This key should be
- * transferred to the other party.
- *
- * The `format` argument specifies point encoding and can be `'compressed'` or `'uncompressed'`. If `format` is not specified, the point will be returned in`'uncompressed'` format.
- *
- * If `encoding` is provided a string is returned; otherwise a `Buffer` is returned.
- * @since v0.11.14
- * @param encoding The `encoding` of the return value.
- * @param [format='uncompressed']
- */
- generateKeys(): Buffer;
- generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;
- /**
- * Computes the shared secret using `otherPublicKey` as the other
- * party's public key and returns the computed shared secret. The supplied
- * key is interpreted using specified `inputEncoding`, and the returned secret
- * is encoded using the specified `outputEncoding`.
- * If the `inputEncoding` is not
- * provided, `otherPublicKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`.
- *
- * If `outputEncoding` is given a string will be returned; otherwise a `Buffer` is returned.
- *
- * `ecdh.computeSecret` will throw an`ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY` error when `otherPublicKey` lies outside of the elliptic curve. Since `otherPublicKey` is
- * usually supplied from a remote user over an insecure network,
- * be sure to handle this exception accordingly.
- * @since v0.11.14
- * @param inputEncoding The `encoding` of the `otherPublicKey` string.
- * @param outputEncoding The `encoding` of the return value.
- */
- computeSecret(otherPublicKey: NodeJS.ArrayBufferView): Buffer;
- computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding): Buffer;
- computeSecret(otherPublicKey: NodeJS.ArrayBufferView, outputEncoding: BinaryToTextEncoding): string;
- computeSecret(
- otherPublicKey: string,
- inputEncoding: BinaryToTextEncoding,
- outputEncoding: BinaryToTextEncoding,
- ): string;
- /**
- * If `encoding` is specified, a string is returned; otherwise a `Buffer` is
- * returned.
- * @since v0.11.14
- * @param encoding The `encoding` of the return value.
- * @return The EC Diffie-Hellman in the specified `encoding`.
- */
- getPrivateKey(): Buffer;
- getPrivateKey(encoding: BinaryToTextEncoding): string;
- /**
- * The `format` argument specifies point encoding and can be `'compressed'` or `'uncompressed'`. If `format` is not specified the point will be returned in`'uncompressed'` format.
- *
- * If `encoding` is specified, a string is returned; otherwise a `Buffer` is
- * returned.
- * @since v0.11.14
- * @param encoding The `encoding` of the return value.
- * @param [format='uncompressed']
- * @return The EC Diffie-Hellman public key in the specified `encoding` and `format`.
- */
- getPublicKey(encoding?: null, format?: ECDHKeyFormat): Buffer;
- getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;
- /**
- * Sets the EC Diffie-Hellman private key.
- * If `encoding` is provided, `privateKey` is expected
- * to be a string; otherwise `privateKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`.
- *
- * If `privateKey` is not valid for the curve specified when the `ECDH` object was
- * created, an error is thrown. Upon setting the private key, the associated
- * public point (key) is also generated and set in the `ECDH` object.
- * @since v0.11.14
- * @param encoding The `encoding` of the `privateKey` string.
- */
- setPrivateKey(privateKey: NodeJS.ArrayBufferView): void;
- setPrivateKey(privateKey: string, encoding: BinaryToTextEncoding): void;
- }
- /**
- * Creates an Elliptic Curve Diffie-Hellman (`ECDH`) key exchange object using a
- * predefined curve specified by the `curveName` string. Use {@link getCurves} to obtain a list of available curve names. On recent
- * OpenSSL releases, `openssl ecparam -list_curves` will also display the name
- * and description of each available elliptic curve.
- * @since v0.11.14
- */
- function createECDH(curveName: string): ECDH;
- /**
- * This function compares the underlying bytes that represent the given `ArrayBuffer`, `TypedArray`, or `DataView` instances using a constant-time
- * algorithm.
- *
- * This function does not leak timing information that
- * would allow an attacker to guess one of the values. This is suitable for
- * comparing HMAC digests or secret values like authentication cookies or [capability urls](https://www.w3.org/TR/capability-urls/).
- *
- * `a` and `b` must both be `Buffer`s, `TypedArray`s, or `DataView`s, and they
- * must have the same byte length. An error is thrown if `a` and `b` have
- * different byte lengths.
- *
- * If at least one of `a` and `b` is a `TypedArray` with more than one byte per
- * entry, such as `Uint16Array`, the result will be computed using the platform
- * byte order.
- *
- * **When both of the inputs are `Float32Array`s or `Float64Array`s, this function might return unexpected results due to IEEE 754**
- * **encoding of floating-point numbers. In particular, neither `x === y` nor `Object.is(x, y)` implies that the byte representations of two floating-point**
- * **numbers `x` and `y` are equal.**
- *
- * Use of `crypto.timingSafeEqual` does not guarantee that the _surrounding_ code
- * is timing-safe. Care should be taken to ensure that the surrounding code does
- * not introduce timing vulnerabilities.
- * @since v6.6.0
- */
- function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean;
- type KeyType = "rsa" | "rsa-pss" | "dsa" | "ec" | "ed25519" | "ed448" | "x25519" | "x448";
- type KeyFormat = "pem" | "der" | "jwk";
- interface BasePrivateKeyEncodingOptions {
- format: T;
- cipher?: string | undefined;
- passphrase?: string | undefined;
- }
- interface KeyPairKeyObjectResult {
- publicKey: KeyObject;
- privateKey: KeyObject;
- }
- interface ED25519KeyPairKeyObjectOptions {}
- interface ED448KeyPairKeyObjectOptions {}
- interface X25519KeyPairKeyObjectOptions {}
- interface X448KeyPairKeyObjectOptions {}
- interface ECKeyPairKeyObjectOptions {
- /**
- * Name of the curve to use
- */
- namedCurve: string;
- /**
- * Must be `'named'` or `'explicit'`. Default: `'named'`.
- */
- paramEncoding?: "explicit" | "named" | undefined;
- }
- interface RSAKeyPairKeyObjectOptions {
- /**
- * Key size in bits
- */
- modulusLength: number;
- /**
- * Public exponent
- * @default 0x10001
- */
- publicExponent?: number | undefined;
- }
- interface RSAPSSKeyPairKeyObjectOptions {
- /**
- * Key size in bits
- */
- modulusLength: number;
- /**
- * Public exponent
- * @default 0x10001
- */
- publicExponent?: number | undefined;
- /**
- * Name of the message digest
- */
- hashAlgorithm?: string;
- /**
- * Name of the message digest used by MGF1
- */
- mgf1HashAlgorithm?: string;
- /**
- * Minimal salt length in bytes
- */
- saltLength?: string;
- }
- interface DSAKeyPairKeyObjectOptions {
- /**
- * Key size in bits
- */
- modulusLength: number;
- /**
- * Size of q in bits
- */
- divisorLength: number;
- }
- interface RSAKeyPairOptions {
- /**
- * Key size in bits
- */
- modulusLength: number;
- /**
- * Public exponent
- * @default 0x10001
- */
- publicExponent?: number | undefined;
- publicKeyEncoding: {
- type: "pkcs1" | "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs1" | "pkcs8";
- };
- }
- interface RSAPSSKeyPairOptions {
- /**
- * Key size in bits
- */
- modulusLength: number;
- /**
- * Public exponent
- * @default 0x10001
- */
- publicExponent?: number | undefined;
- /**
- * Name of the message digest
- */
- hashAlgorithm?: string;
- /**
- * Name of the message digest used by MGF1
- */
- mgf1HashAlgorithm?: string;
- /**
- * Minimal salt length in bytes
- */
- saltLength?: string;
- publicKeyEncoding: {
- type: "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs8";
- };
- }
- interface DSAKeyPairOptions {
- /**
- * Key size in bits
- */
- modulusLength: number;
- /**
- * Size of q in bits
- */
- divisorLength: number;
- publicKeyEncoding: {
- type: "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs8";
- };
- }
- interface ECKeyPairOptions extends ECKeyPairKeyObjectOptions {
- publicKeyEncoding: {
- type: "pkcs1" | "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "sec1" | "pkcs8";
- };
- }
- interface ED25519KeyPairOptions {
- publicKeyEncoding: {
- type: "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs8";
- };
- }
- interface ED448KeyPairOptions {
- publicKeyEncoding: {
- type: "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs8";
- };
- }
- interface X25519KeyPairOptions {
- publicKeyEncoding: {
- type: "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs8";
- };
- }
- interface X448KeyPairOptions {
- publicKeyEncoding: {
- type: "spki";
- format: PubF;
- };
- privateKeyEncoding: BasePrivateKeyEncodingOptions & {
- type: "pkcs8";
- };
- }
- interface KeyPairSyncResult {
- publicKey: T1;
- privateKey: T2;
- }
- /**
- * Generates a new asymmetric key pair of the given `type`. RSA, RSA-PSS, DSA, EC,
- * Ed25519, Ed448, X25519, X448, and DH are currently supported.
- *
- * If a `publicKeyEncoding` or `privateKeyEncoding` was specified, this function
- * behaves as if `keyObject.export()` had been called on its result. Otherwise,
- * the respective part of the key is returned as a `KeyObject`.
- *
- * When encoding public keys, it is recommended to use `'spki'`. When encoding
- * private keys, it is recommended to use `'pkcs8'` with a strong passphrase,
- * and to keep the passphrase confidential.
- *
- * ```js
- * const {
- * generateKeyPairSync,
- * } = await import('node:crypto');
- *
- * const {
- * publicKey,
- * privateKey,
- * } = generateKeyPairSync('rsa', {
- * modulusLength: 4096,
- * publicKeyEncoding: {
- * type: 'spki',
- * format: 'pem',
- * },
- * privateKeyEncoding: {
- * type: 'pkcs8',
- * format: 'pem',
- * cipher: 'aes-256-cbc',
- * passphrase: 'top secret',
- * },
- * });
- * ```
- *
- * The return value `{ publicKey, privateKey }` represents the generated key pair.
- * When PEM encoding was selected, the respective key will be a string, otherwise
- * it will be a buffer containing the data encoded as DER.
- * @since v10.12.0
- * @param type Must be `'rsa'`, `'rsa-pss'`, `'dsa'`, `'ec'`, `'ed25519'`, `'ed448'`, `'x25519'`, `'x448'`, or `'dh'`.
- */
- function generateKeyPairSync(
- type: "rsa",
- options: RSAKeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "rsa",
- options: RSAKeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "rsa",
- options: RSAKeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "rsa",
- options: RSAKeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "rsa", options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "rsa-pss", options: RSAPSSKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "dsa",
- options: DSAKeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "dsa",
- options: DSAKeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "dsa",
- options: DSAKeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "dsa",
- options: DSAKeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "dsa", options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "ec",
- options: ECKeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ec",
- options: ECKeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ec",
- options: ECKeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ec",
- options: ECKeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "ec", options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "ed25519",
- options: ED25519KeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ed25519",
- options: ED25519KeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ed25519",
- options: ED25519KeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ed25519",
- options: ED25519KeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "ed25519", options?: ED25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "ed448",
- options: ED448KeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ed448",
- options: ED448KeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ed448",
- options: ED448KeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "ed448",
- options: ED448KeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "ed448", options?: ED448KeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "x25519",
- options: X25519KeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "x25519",
- options: X25519KeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "x25519",
- options: X25519KeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "x25519",
- options: X25519KeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "x25519", options?: X25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- function generateKeyPairSync(
- type: "x448",
- options: X448KeyPairOptions<"pem", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "x448",
- options: X448KeyPairOptions<"pem", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "x448",
- options: X448KeyPairOptions<"der", "pem">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(
- type: "x448",
- options: X448KeyPairOptions<"der", "der">,
- ): KeyPairSyncResult;
- function generateKeyPairSync(type: "x448", options?: X448KeyPairKeyObjectOptions): KeyPairKeyObjectResult;
- /**
- * Generates a new asymmetric key pair of the given `type`. RSA, RSA-PSS, DSA, EC,
- * Ed25519, Ed448, X25519, X448, and DH are currently supported.
- *
- * If a `publicKeyEncoding` or `privateKeyEncoding` was specified, this function
- * behaves as if `keyObject.export()` had been called on its result. Otherwise,
- * the respective part of the key is returned as a `KeyObject`.
- *
- * It is recommended to encode public keys as `'spki'` and private keys as `'pkcs8'` with encryption for long-term storage:
- *
- * ```js
- * const {
- * generateKeyPair,
- * } = await import('node:crypto');
- *
- * generateKeyPair('rsa', {
- * modulusLength: 4096,
- * publicKeyEncoding: {
- * type: 'spki',
- * format: 'pem',
- * },
- * privateKeyEncoding: {
- * type: 'pkcs8',
- * format: 'pem',
- * cipher: 'aes-256-cbc',
- * passphrase: 'top secret',
- * },
- * }, (err, publicKey, privateKey) => {
- * // Handle errors and use the generated key pair.
- * });
- * ```
- *
- * On completion, `callback` will be called with `err` set to `undefined` and `publicKey` / `privateKey` representing the generated key pair.
- *
- * If this method is invoked as its `util.promisify()` ed version, it returns
- * a `Promise` for an `Object` with `publicKey` and `privateKey` properties.
- * @since v10.12.0
- * @param type Must be `'rsa'`, `'rsa-pss'`, `'dsa'`, `'ec'`, `'ed25519'`, `'ed448'`, `'x25519'`, `'x448'`, or `'dh'`.
- */
- function generateKeyPair(
- type: "rsa",
- options: RSAKeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "rsa",
- options: RSAKeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "rsa",
- options: RSAKeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "rsa",
- options: RSAKeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "rsa",
- options: RSAKeyPairKeyObjectOptions,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "rsa-pss",
- options: RSAPSSKeyPairKeyObjectOptions,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "dsa",
- options: DSAKeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "dsa",
- options: DSAKeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "dsa",
- options: DSAKeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "dsa",
- options: DSAKeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "dsa",
- options: DSAKeyPairKeyObjectOptions,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "ec",
- options: ECKeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "ec",
- options: ECKeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "ec",
- options: ECKeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "ec",
- options: ECKeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "ec",
- options: ECKeyPairKeyObjectOptions,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "ed25519",
- options: ED25519KeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "ed25519",
- options: ED25519KeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "ed25519",
- options: ED25519KeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "ed25519",
- options: ED25519KeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "ed25519",
- options: ED25519KeyPairKeyObjectOptions | undefined,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "ed448",
- options: ED448KeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "ed448",
- options: ED448KeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "ed448",
- options: ED448KeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "ed448",
- options: ED448KeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "ed448",
- options: ED448KeyPairKeyObjectOptions | undefined,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "x25519",
- options: X25519KeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "x25519",
- options: X25519KeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "x25519",
- options: X25519KeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "x25519",
- options: X25519KeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "x25519",
- options: X25519KeyPairKeyObjectOptions | undefined,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- function generateKeyPair(
- type: "x448",
- options: X448KeyPairOptions<"pem", "pem">,
- callback: (err: Error | null, publicKey: string, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "x448",
- options: X448KeyPairOptions<"pem", "der">,
- callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "x448",
- options: X448KeyPairOptions<"der", "pem">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void,
- ): void;
- function generateKeyPair(
- type: "x448",
- options: X448KeyPairOptions<"der", "der">,
- callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void,
- ): void;
- function generateKeyPair(
- type: "x448",
- options: X448KeyPairKeyObjectOptions | undefined,
- callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void,
- ): void;
- namespace generateKeyPair {
- function __promisify__(
- type: "rsa",
- options: RSAKeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "rsa",
- options: RSAKeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "rsa",
- options: RSAKeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "rsa",
- options: RSAKeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(type: "rsa", options: RSAKeyPairKeyObjectOptions): Promise;
- function __promisify__(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "rsa-pss",
- options: RSAPSSKeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "rsa-pss",
- options: RSAPSSKeyPairKeyObjectOptions,
- ): Promise;
- function __promisify__(
- type: "dsa",
- options: DSAKeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "dsa",
- options: DSAKeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "dsa",
- options: DSAKeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "dsa",
- options: DSAKeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(type: "dsa", options: DSAKeyPairKeyObjectOptions): Promise;
- function __promisify__(
- type: "ec",
- options: ECKeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "ec",
- options: ECKeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "ec",
- options: ECKeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "ec",
- options: ECKeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(type: "ec", options: ECKeyPairKeyObjectOptions): Promise;
- function __promisify__(
- type: "ed25519",
- options: ED25519KeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "ed25519",
- options: ED25519KeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "ed25519",
- options: ED25519KeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "ed25519",
- options: ED25519KeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "ed25519",
- options?: ED25519KeyPairKeyObjectOptions,
- ): Promise;
- function __promisify__(
- type: "ed448",
- options: ED448KeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "ed448",
- options: ED448KeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "ed448",
- options: ED448KeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "ed448",
- options: ED448KeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(type: "ed448", options?: ED448KeyPairKeyObjectOptions): Promise;
- function __promisify__(
- type: "x25519",
- options: X25519KeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "x25519",
- options: X25519KeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "x25519",
- options: X25519KeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "x25519",
- options: X25519KeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "x25519",
- options?: X25519KeyPairKeyObjectOptions,
- ): Promise;
- function __promisify__(
- type: "x448",
- options: X448KeyPairOptions<"pem", "pem">,
- ): Promise<{
- publicKey: string;
- privateKey: string;
- }>;
- function __promisify__(
- type: "x448",
- options: X448KeyPairOptions<"pem", "der">,
- ): Promise<{
- publicKey: string;
- privateKey: Buffer;
- }>;
- function __promisify__(
- type: "x448",
- options: X448KeyPairOptions<"der", "pem">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: string;
- }>;
- function __promisify__(
- type: "x448",
- options: X448KeyPairOptions<"der", "der">,
- ): Promise<{
- publicKey: Buffer;
- privateKey: Buffer;
- }>;
- function __promisify__(type: "x448", options?: X448KeyPairKeyObjectOptions): Promise;
- }
- /**
- * Calculates and returns the signature for `data` using the given private key and
- * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is
- * dependent upon the key type (especially Ed25519 and Ed448).
- *
- * If `key` is not a `KeyObject`, this function behaves as if `key` had been
- * passed to {@link createPrivateKey}. If it is an object, the following
- * additional properties can be passed:
- *
- * If the `callback` function is provided this function uses libuv's threadpool.
- * @since v12.0.0
- */
- function sign(
- algorithm: string | null | undefined,
- data: NodeJS.ArrayBufferView,
- key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
- ): Buffer;
- function sign(
- algorithm: string | null | undefined,
- data: NodeJS.ArrayBufferView,
- key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
- callback: (error: Error | null, data: Buffer) => void,
- ): void;
- /**
- * Verifies the given signature for `data` using the given key and algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is dependent upon the
- * key type (especially Ed25519 and Ed448).
- *
- * If `key` is not a `KeyObject`, this function behaves as if `key` had been
- * passed to {@link createPublicKey}. If it is an object, the following
- * additional properties can be passed:
- *
- * The `signature` argument is the previously calculated signature for the `data`.
- *
- * Because public keys can be derived from private keys, a private key or a public
- * key may be passed for `key`.
- *
- * If the `callback` function is provided this function uses libuv's threadpool.
- * @since v12.0.0
- */
- function verify(
- algorithm: string | null | undefined,
- data: NodeJS.ArrayBufferView,
- key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
- signature: NodeJS.ArrayBufferView,
- ): boolean;
- function verify(
- algorithm: string | null | undefined,
- data: NodeJS.ArrayBufferView,
- key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
- signature: NodeJS.ArrayBufferView,
- callback: (error: Error | null, result: boolean) => void,
- ): void;
- /**
- * Computes the Diffie-Hellman secret based on a `privateKey` and a `publicKey`.
- * Both keys must have the same `asymmetricKeyType`, which must be one of `'dh'`
- * (for Diffie-Hellman), `'ec'`, `'x448'`, or `'x25519'` (for ECDH).
- *
- * If the `callback` function is provided this function uses libuv's threadpool.
- * @since v13.9.0, v12.17.0
- */
- function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer;
- function diffieHellman(
- options: { privateKey: KeyObject; publicKey: KeyObject },
- callback: (err: Error | null, secret: Buffer) => void,
- ): void;
- /**
- * A utility for creating one-shot hash digests of data. It can be faster than the object-based `crypto.createHash()` when hashing a smaller amount of data
- * (<= 5MB) that's readily available. If the data can be big or if it is streamed, it's still recommended to use `crypto.createHash()` instead. The `algorithm`
- * is dependent on the available algorithms supported by the version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc. On recent releases
- * of OpenSSL, `openssl list -digest-algorithms` will display the available digest algorithms.
- *
- * Example:
- *
- * ```js
- * import crypto from 'node:crypto';
- * import { Buffer } from 'node:buffer';
- *
- * // Hashing a string and return the result as a hex-encoded string.
- * const string = 'Node.js';
- * // 10b3493287f831e81a438811a1ffba01f8cec4b7
- * console.log(crypto.hash('sha1', string));
- *
- * // Encode a base64-encoded string into a Buffer, hash it and return
- * // the result as a buffer.
- * const base64 = 'Tm9kZS5qcw==';
- * //
- * console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer'));
- * ```
- * @since v21.7.0, v20.12.0
- * @param data When `data` is a string, it will be encoded as UTF-8 before being hashed. If a different input encoding is desired for a string input, user
- * could encode the string into a `TypedArray` using either `TextEncoder` or `Buffer.from()` and passing the encoded `TypedArray` into this API instead.
- * @param [outputEncoding='hex'] [Encoding](https://nodejs.org/docs/latest-v24.x/api/buffer.html#buffers-and-character-encodings) used to encode the returned digest.
- */
- function hash(algorithm: string, data: BinaryLike, outputEncoding?: BinaryToTextEncoding): string;
- function hash(algorithm: string, data: BinaryLike, outputEncoding: "buffer"): Buffer;
- function hash(
- algorithm: string,
- data: BinaryLike,
- outputEncoding?: BinaryToTextEncoding | "buffer",
- ): string | Buffer;
- type CipherMode = "cbc" | "ccm" | "cfb" | "ctr" | "ecb" | "gcm" | "ocb" | "ofb" | "stream" | "wrap" | "xts";
- interface CipherInfoOptions {
- /**
- * A test key length.
- */
- keyLength?: number | undefined;
- /**
- * A test IV length.
- */
- ivLength?: number | undefined;
- }
- interface CipherInfo {
- /**
- * The name of the cipher.
- */
- name: string;
- /**
- * The nid of the cipher.
- */
- nid: number;
- /**
- * The block size of the cipher in bytes.
- * This property is omitted when mode is 'stream'.
- */
- blockSize?: number | undefined;
- /**
- * The expected or default initialization vector length in bytes.
- * This property is omitted if the cipher does not use an initialization vector.
- */
- ivLength?: number | undefined;
- /**
- * The expected or default key length in bytes.
- */
- keyLength: number;
- /**
- * The cipher mode.
- */
- mode: CipherMode;
- }
- /**
- * Returns information about a given cipher.
- *
- * Some ciphers accept variable length keys and initialization vectors. By default,
- * the `crypto.getCipherInfo()` method will return the default values for these
- * ciphers. To test if a given key length or iv length is acceptable for given
- * cipher, use the `keyLength` and `ivLength` options. If the given values are
- * unacceptable, `undefined` will be returned.
- * @since v15.0.0
- * @param nameOrNid The name or nid of the cipher to query.
- */
- function getCipherInfo(nameOrNid: string | number, options?: CipherInfoOptions): CipherInfo | undefined;
- /**
- * HKDF is a simple key derivation function defined in RFC 5869\. The given `ikm`, `salt` and `info` are used with the `digest` to derive a key of `keylen` bytes.
- *
- * The supplied `callback` function is called with two arguments: `err` and `derivedKey`. If an errors occurs while deriving the key, `err` will be set;
- * otherwise `err` will be `null`. The successfully generated `derivedKey` will
- * be passed to the callback as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). An error will be thrown if any
- * of the input arguments specify invalid values or types.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const {
- * hkdf,
- * } = await import('node:crypto');
- *
- * hkdf('sha512', 'key', 'salt', 'info', 64, (err, derivedKey) => {
- * if (err) throw err;
- * console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653'
- * });
- * ```
- * @since v15.0.0
- * @param digest The digest algorithm to use.
- * @param ikm The input keying material. Must be provided but can be zero-length.
- * @param salt The salt value. Must be provided but can be zero-length.
- * @param info Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes.
- * @param keylen The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512`
- * generates 64-byte hashes, making the maximum HKDF output 16320 bytes).
- */
- function hkdf(
- digest: string,
- irm: BinaryLike | KeyObject,
- salt: BinaryLike,
- info: BinaryLike,
- keylen: number,
- callback: (err: Error | null, derivedKey: ArrayBuffer) => void,
- ): void;
- /**
- * Provides a synchronous HKDF key derivation function as defined in RFC 5869\. The
- * given `ikm`, `salt` and `info` are used with the `digest` to derive a key of `keylen` bytes.
- *
- * The successfully generated `derivedKey` will be returned as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer).
- *
- * An error will be thrown if any of the input arguments specify invalid values or
- * types, or if the derived key cannot be generated.
- *
- * ```js
- * import { Buffer } from 'node:buffer';
- * const {
- * hkdfSync,
- * } = await import('node:crypto');
- *
- * const derivedKey = hkdfSync('sha512', 'key', 'salt', 'info', 64);
- * console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653'
- * ```
- * @since v15.0.0
- * @param digest The digest algorithm to use.
- * @param ikm The input keying material. Must be provided but can be zero-length.
- * @param salt The salt value. Must be provided but can be zero-length.
- * @param info Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes.
- * @param keylen The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512`
- * generates 64-byte hashes, making the maximum HKDF output 16320 bytes).
- */
- function hkdfSync(
- digest: string,
- ikm: BinaryLike | KeyObject,
- salt: BinaryLike,
- info: BinaryLike,
- keylen: number,
- ): ArrayBuffer;
- interface SecureHeapUsage {
- /**
- * The total allocated secure heap size as specified using the `--secure-heap=n` command-line flag.
- */
- total: number;
- /**
- * The minimum allocation from the secure heap as specified using the `--secure-heap-min` command-line flag.
- */
- min: number;
- /**
- * The total number of bytes currently allocated from the secure heap.
- */
- used: number;
- /**
- * The calculated ratio of `used` to `total` allocated bytes.
- */
- utilization: number;
- }
- /**
- * @since v15.6.0
- */
- function secureHeapUsed(): SecureHeapUsage;
- interface RandomUUIDOptions {
- /**
- * By default, to improve performance,
- * Node.js will pre-emptively generate and persistently cache enough
- * random data to generate up to 128 random UUIDs. To generate a UUID
- * without using the cache, set `disableEntropyCache` to `true`.
- *
- * @default `false`
- */
- disableEntropyCache?: boolean | undefined;
- }
- type UUID = `${string}-${string}-${string}-${string}-${string}`;
- /**
- * Generates a random [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122.txt) version 4 UUID. The UUID is generated using a
- * cryptographic pseudorandom number generator.
- * @since v15.6.0, v14.17.0
- */
- function randomUUID(options?: RandomUUIDOptions): UUID;
- interface X509CheckOptions {
- /**
- * @default 'always'
- */
- subject?: "always" | "default" | "never";
- /**
- * @default true
- */
- wildcards?: boolean;
- /**
- * @default true
- */
- partialWildcards?: boolean;
- /**
- * @default false
- */
- multiLabelWildcards?: boolean;
- /**
- * @default false
- */
- singleLabelSubdomains?: boolean;
- }
- /**
- * Encapsulates an X509 certificate and provides read-only access to
- * its information.
- *
- * ```js
- * const { X509Certificate } = await import('node:crypto');
- *
- * const x509 = new X509Certificate('{... pem encoded cert ...}');
- *
- * console.log(x509.subject);
- * ```
- * @since v15.6.0
- */
- class X509Certificate {
- /**
- * Will be \`true\` if this is a Certificate Authority (CA) certificate.
- * @since v15.6.0
- */
- readonly ca: boolean;
- /**
- * The SHA-1 fingerprint of this certificate.
- *
- * Because SHA-1 is cryptographically broken and because the security of SHA-1 is
- * significantly worse than that of algorithms that are commonly used to sign
- * certificates, consider using `x509.fingerprint256` instead.
- * @since v15.6.0
- */
- readonly fingerprint: string;
- /**
- * The SHA-256 fingerprint of this certificate.
- * @since v15.6.0
- */
- readonly fingerprint256: string;
- /**
- * The SHA-512 fingerprint of this certificate.
- *
- * Because computing the SHA-256 fingerprint is usually faster and because it is
- * only half the size of the SHA-512 fingerprint, `x509.fingerprint256` may be
- * a better choice. While SHA-512 presumably provides a higher level of security in
- * general, the security of SHA-256 matches that of most algorithms that are
- * commonly used to sign certificates.
- * @since v17.2.0, v16.14.0
- */
- readonly fingerprint512: string;
- /**
- * The complete subject of this certificate.
- * @since v15.6.0
- */
- readonly subject: string;
- /**
- * The subject alternative name specified for this certificate.
- *
- * This is a comma-separated list of subject alternative names. Each entry begins
- * with a string identifying the kind of the subject alternative name followed by
- * a colon and the value associated with the entry.
- *
- * Earlier versions of Node.js incorrectly assumed that it is safe to split this
- * property at the two-character sequence `', '` (see [CVE-2021-44532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532)). However,
- * both malicious and legitimate certificates can contain subject alternative names
- * that include this sequence when represented as a string.
- *
- * After the prefix denoting the type of the entry, the remainder of each entry
- * might be enclosed in quotes to indicate that the value is a JSON string literal.
- * For backward compatibility, Node.js only uses JSON string literals within this
- * property when necessary to avoid ambiguity. Third-party code should be prepared
- * to handle both possible entry formats.
- * @since v15.6.0
- */
- readonly subjectAltName: string | undefined;
- /**
- * A textual representation of the certificate's authority information access
- * extension.
- *
- * This is a line feed separated list of access descriptions. Each line begins with
- * the access method and the kind of the access location, followed by a colon and
- * the value associated with the access location.
- *
- * After the prefix denoting the access method and the kind of the access location,
- * the remainder of each line might be enclosed in quotes to indicate that the
- * value is a JSON string literal. For backward compatibility, Node.js only uses
- * JSON string literals within this property when necessary to avoid ambiguity.
- * Third-party code should be prepared to handle both possible entry formats.
- * @since v15.6.0
- */
- readonly infoAccess: string | undefined;
- /**
- * An array detailing the key usages for this certificate.
- * @since v15.6.0
- */
- readonly keyUsage: string[];
- /**
- * The issuer identification included in this certificate.
- * @since v15.6.0
- */
- readonly issuer: string;
- /**
- * The issuer certificate or `undefined` if the issuer certificate is not
- * available.
- * @since v15.9.0
- */
- readonly issuerCertificate?: X509Certificate | undefined;
- /**
- * The public key `KeyObject` for this certificate.
- * @since v15.6.0
- */
- readonly publicKey: KeyObject;
- /**
- * A `Buffer` containing the DER encoding of this certificate.
- * @since v15.6.0
- */
- readonly raw: Buffer;
- /**
- * The serial number of this certificate.
- *
- * Serial numbers are assigned by certificate authorities and do not uniquely
- * identify certificates. Consider using `x509.fingerprint256` as a unique
- * identifier instead.
- * @since v15.6.0
- */
- readonly serialNumber: string;
- /**
- * The date/time from which this certificate is considered valid.
- * @since v15.6.0
- */
- readonly validFrom: string;
- /**
- * The date/time from which this certificate is valid, encapsulated in a `Date` object.
- * @since v22.10.0
- */
- readonly validFromDate: Date;
- /**
- * The date/time until which this certificate is considered valid.
- * @since v15.6.0
- */
- readonly validTo: string;
- /**
- * The date/time until which this certificate is valid, encapsulated in a `Date` object.
- * @since v22.10.0
- */
- readonly validToDate: Date;
- constructor(buffer: BinaryLike);
- /**
- * Checks whether the certificate matches the given email address.
- *
- * If the `'subject'` option is undefined or set to `'default'`, the certificate
- * subject is only considered if the subject alternative name extension either does
- * not exist or does not contain any email addresses.
- *
- * If the `'subject'` option is set to `'always'` and if the subject alternative
- * name extension either does not exist or does not contain a matching email
- * address, the certificate subject is considered.
- *
- * If the `'subject'` option is set to `'never'`, the certificate subject is never
- * considered, even if the certificate contains no subject alternative names.
- * @since v15.6.0
- * @return Returns `email` if the certificate matches, `undefined` if it does not.
- */
- checkEmail(email: string, options?: Pick): string | undefined;
- /**
- * Checks whether the certificate matches the given host name.
- *
- * If the certificate matches the given host name, the matching subject name is
- * returned. The returned name might be an exact match (e.g., `foo.example.com`)
- * or it might contain wildcards (e.g., `*.example.com`). Because host name
- * comparisons are case-insensitive, the returned subject name might also differ
- * from the given `name` in capitalization.
- *
- * If the `'subject'` option is undefined or set to `'default'`, the certificate
- * subject is only considered if the subject alternative name extension either does
- * not exist or does not contain any DNS names. This behavior is consistent with [RFC 2818](https://www.rfc-editor.org/rfc/rfc2818.txt) ("HTTP Over TLS").
- *
- * If the `'subject'` option is set to `'always'` and if the subject alternative
- * name extension either does not exist or does not contain a matching DNS name,
- * the certificate subject is considered.
- *
- * If the `'subject'` option is set to `'never'`, the certificate subject is never
- * considered, even if the certificate contains no subject alternative names.
- * @since v15.6.0
- * @return Returns a subject name that matches `name`, or `undefined` if no subject name matches `name`.
- */
- checkHost(name: string, options?: X509CheckOptions): string | undefined;
- /**
- * Checks whether the certificate matches the given IP address (IPv4 or IPv6).
- *
- * Only [RFC 5280](https://www.rfc-editor.org/rfc/rfc5280.txt) `iPAddress` subject alternative names are considered, and they
- * must match the given `ip` address exactly. Other subject alternative names as
- * well as the subject field of the certificate are ignored.
- * @since v15.6.0
- * @return Returns `ip` if the certificate matches, `undefined` if it does not.
- */
- checkIP(ip: string): string | undefined;
- /**
- * Checks whether this certificate was issued by the given `otherCert`.
- * @since v15.6.0
- */
- checkIssued(otherCert: X509Certificate): boolean;
- /**
- * Checks whether the public key for this certificate is consistent with
- * the given private key.
- * @since v15.6.0
- * @param privateKey A private key.
- */
- checkPrivateKey(privateKey: KeyObject): boolean;
- /**
- * There is no standard JSON encoding for X509 certificates. The`toJSON()` method returns a string containing the PEM encoded
- * certificate.
- * @since v15.6.0
- */
- toJSON(): string;
- /**
- * Returns information about this certificate using the legacy `certificate object` encoding.
- * @since v15.6.0
- */
- toLegacyObject(): PeerCertificate;
- /**
- * Returns the PEM-encoded certificate.
- * @since v15.6.0
- */
- toString(): string;
- /**
- * Verifies that this certificate was signed by the given public key.
- * Does not perform any other validation checks on the certificate.
- * @since v15.6.0
- * @param publicKey A public key.
- */
- verify(publicKey: KeyObject): boolean;
- }
- type LargeNumberLike = NodeJS.ArrayBufferView | SharedArrayBuffer | ArrayBuffer | bigint;
- interface GeneratePrimeOptions {
- add?: LargeNumberLike | undefined;
- rem?: LargeNumberLike | undefined;
- /**
- * @default false
- */
- safe?: boolean | undefined;
- bigint?: boolean | undefined;
- }
- interface GeneratePrimeOptionsBigInt extends GeneratePrimeOptions {
- bigint: true;
- }
- interface GeneratePrimeOptionsArrayBuffer extends GeneratePrimeOptions {
- bigint?: false | undefined;
- }
- /**
- * Generates a pseudorandom prime of `size` bits.
- *
- * If `options.safe` is `true`, the prime will be a safe prime -- that is, `(prime - 1) / 2` will also be a prime.
- *
- * The `options.add` and `options.rem` parameters can be used to enforce additional
- * requirements, e.g., for Diffie-Hellman:
- *
- * * If `options.add` and `options.rem` are both set, the prime will satisfy the
- * condition that `prime % add = rem`.
- * * If only `options.add` is set and `options.safe` is not `true`, the prime will
- * satisfy the condition that `prime % add = 1`.
- * * If only `options.add` is set and `options.safe` is set to `true`, the prime
- * will instead satisfy the condition that `prime % add = 3`. This is necessary
- * because `prime % add = 1` for `options.add > 2` would contradict the condition
- * enforced by `options.safe`.
- * * `options.rem` is ignored if `options.add` is not given.
- *
- * Both `options.add` and `options.rem` must be encoded as big-endian sequences
- * if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or `DataView`.
- *
- * By default, the prime is encoded as a big-endian sequence of octets
- * in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a
- * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided.
- * @since v15.8.0
- * @param size The size (in bits) of the prime to generate.
- */
- function generatePrime(size: number, callback: (err: Error | null, prime: ArrayBuffer) => void): void;
- function generatePrime(
- size: number,
- options: GeneratePrimeOptionsBigInt,
- callback: (err: Error | null, prime: bigint) => void,
- ): void;
- function generatePrime(
- size: number,
- options: GeneratePrimeOptionsArrayBuffer,
- callback: (err: Error | null, prime: ArrayBuffer) => void,
- ): void;
- function generatePrime(
- size: number,
- options: GeneratePrimeOptions,
- callback: (err: Error | null, prime: ArrayBuffer | bigint) => void,
- ): void;
- /**
- * Generates a pseudorandom prime of `size` bits.
- *
- * If `options.safe` is `true`, the prime will be a safe prime -- that is, `(prime - 1) / 2` will also be a prime.
- *
- * The `options.add` and `options.rem` parameters can be used to enforce additional
- * requirements, e.g., for Diffie-Hellman:
- *
- * * If `options.add` and `options.rem` are both set, the prime will satisfy the
- * condition that `prime % add = rem`.
- * * If only `options.add` is set and `options.safe` is not `true`, the prime will
- * satisfy the condition that `prime % add = 1`.
- * * If only `options.add` is set and `options.safe` is set to `true`, the prime
- * will instead satisfy the condition that `prime % add = 3`. This is necessary
- * because `prime % add = 1` for `options.add > 2` would contradict the condition
- * enforced by `options.safe`.
- * * `options.rem` is ignored if `options.add` is not given.
- *
- * Both `options.add` and `options.rem` must be encoded as big-endian sequences
- * if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or `DataView`.
- *
- * By default, the prime is encoded as a big-endian sequence of octets
- * in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a
- * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided.
- * @since v15.8.0
- * @param size The size (in bits) of the prime to generate.
- */
- function generatePrimeSync(size: number): ArrayBuffer;
- function generatePrimeSync(size: number, options: GeneratePrimeOptionsBigInt): bigint;
- function generatePrimeSync(size: number, options: GeneratePrimeOptionsArrayBuffer): ArrayBuffer;
- function generatePrimeSync(size: number, options: GeneratePrimeOptions): ArrayBuffer | bigint;
- interface CheckPrimeOptions {
- /**
- * The number of Miller-Rabin probabilistic primality iterations to perform.
- * When the value is 0 (zero), a number of checks is used that yields a false positive rate of at most `2**-64` for random input.
- * Care must be used when selecting a number of checks.
- * Refer to the OpenSSL documentation for the BN_is_prime_ex function nchecks options for more details.
- *
- * @default 0
- */
- checks?: number | undefined;
- }
- /**
- * Checks the primality of the `candidate`.
- * @since v15.8.0
- * @param candidate A possible prime encoded as a sequence of big endian octets of arbitrary length.
- */
- function checkPrime(value: LargeNumberLike, callback: (err: Error | null, result: boolean) => void): void;
- function checkPrime(
- value: LargeNumberLike,
- options: CheckPrimeOptions,
- callback: (err: Error | null, result: boolean) => void,
- ): void;
- /**
- * Checks the primality of the `candidate`.
- * @since v15.8.0
- * @param candidate A possible prime encoded as a sequence of big endian octets of arbitrary length.
- * @return `true` if the candidate is a prime with an error probability less than `0.25 ** options.checks`.
- */
- function checkPrimeSync(candidate: LargeNumberLike, options?: CheckPrimeOptions): boolean;
- /**
- * Load and set the `engine` for some or all OpenSSL functions (selected by flags).
- *
- * `engine` could be either an id or a path to the engine's shared library.
- *
- * The optional `flags` argument uses `ENGINE_METHOD_ALL` by default. The `flags` is a bit field taking one of or a mix of the following flags (defined in `crypto.constants`):
- *
- * * `crypto.constants.ENGINE_METHOD_RSA`
- * * `crypto.constants.ENGINE_METHOD_DSA`
- * * `crypto.constants.ENGINE_METHOD_DH`
- * * `crypto.constants.ENGINE_METHOD_RAND`
- * * `crypto.constants.ENGINE_METHOD_EC`
- * * `crypto.constants.ENGINE_METHOD_CIPHERS`
- * * `crypto.constants.ENGINE_METHOD_DIGESTS`
- * * `crypto.constants.ENGINE_METHOD_PKEY_METHS`
- * * `crypto.constants.ENGINE_METHOD_PKEY_ASN1_METHS`
- * * `crypto.constants.ENGINE_METHOD_ALL`
- * * `crypto.constants.ENGINE_METHOD_NONE`
- * @since v0.11.11
- * @param flags
- */
- function setEngine(engine: string, flags?: number): void;
- /**
- * A convenient alias for {@link webcrypto.getRandomValues}. This
- * implementation is not compliant with the Web Crypto spec, to write
- * web-compatible code use {@link webcrypto.getRandomValues} instead.
- * @since v17.4.0
- * @return Returns `typedArray`.
- */
- function getRandomValues(typedArray: T): T;
- /**
- * A convenient alias for `crypto.webcrypto.subtle`.
- * @since v17.4.0
- */
- const subtle: webcrypto.SubtleCrypto;
- /**
- * An implementation of the Web Crypto API standard.
- *
- * See the {@link https://nodejs.org/docs/latest/api/webcrypto.html Web Crypto API documentation} for details.
- * @since v15.0.0
- */
- const webcrypto: webcrypto.Crypto;
- namespace webcrypto {
- type BufferSource = ArrayBufferView | ArrayBuffer;
- type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
- type KeyType = "private" | "public" | "secret";
- type KeyUsage =
- | "decrypt"
- | "deriveBits"
- | "deriveKey"
- | "encrypt"
- | "sign"
- | "unwrapKey"
- | "verify"
- | "wrapKey";
- type AlgorithmIdentifier = Algorithm | string;
- type HashAlgorithmIdentifier = AlgorithmIdentifier;
- type NamedCurve = string;
- type BigInteger = Uint8Array;
- interface AesCbcParams extends Algorithm {
- iv: BufferSource;
- }
- interface AesCtrParams extends Algorithm {
- counter: BufferSource;
- length: number;
- }
- interface AesDerivedKeyParams extends Algorithm {
- length: number;
- }
- interface AesGcmParams extends Algorithm {
- additionalData?: BufferSource;
- iv: BufferSource;
- tagLength?: number;
- }
- interface AesKeyAlgorithm extends KeyAlgorithm {
- length: number;
- }
- interface AesKeyGenParams extends Algorithm {
- length: number;
- }
- interface Algorithm {
- name: string;
- }
- interface EcKeyAlgorithm extends KeyAlgorithm {
- namedCurve: NamedCurve;
- }
- interface EcKeyGenParams extends Algorithm {
- namedCurve: NamedCurve;
- }
- interface EcKeyImportParams extends Algorithm {
- namedCurve: NamedCurve;
- }
- interface EcdhKeyDeriveParams extends Algorithm {
- public: CryptoKey;
- }
- interface EcdsaParams extends Algorithm {
- hash: HashAlgorithmIdentifier;
- }
- interface Ed448Params extends Algorithm {
- context?: BufferSource;
- }
- interface HkdfParams extends Algorithm {
- hash: HashAlgorithmIdentifier;
- info: BufferSource;
- salt: BufferSource;
- }
- interface HmacImportParams extends Algorithm {
- hash: HashAlgorithmIdentifier;
- length?: number;
- }
- interface HmacKeyAlgorithm extends KeyAlgorithm {
- hash: KeyAlgorithm;
- length: number;
- }
- interface HmacKeyGenParams extends Algorithm {
- hash: HashAlgorithmIdentifier;
- length?: number;
- }
- interface JsonWebKey {
- alg?: string;
- crv?: string;
- d?: string;
- dp?: string;
- dq?: string;
- e?: string;
- ext?: boolean;
- k?: string;
- key_ops?: string[];
- kty?: string;
- n?: string;
- oth?: RsaOtherPrimesInfo[];
- p?: string;
- q?: string;
- qi?: string;
- use?: string;
- x?: string;
- y?: string;
- }
- interface KeyAlgorithm {
- name: string;
- }
- interface Pbkdf2Params extends Algorithm {
- hash: HashAlgorithmIdentifier;
- iterations: number;
- salt: BufferSource;
- }
- interface RsaHashedImportParams extends Algorithm {
- hash: HashAlgorithmIdentifier;
- }
- interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
- hash: KeyAlgorithm;
- }
- interface RsaHashedKeyGenParams extends RsaKeyGenParams {
- hash: HashAlgorithmIdentifier;
- }
- interface RsaKeyAlgorithm extends KeyAlgorithm {
- modulusLength: number;
- publicExponent: BigInteger;
- }
- interface RsaKeyGenParams extends Algorithm {
- modulusLength: number;
- publicExponent: BigInteger;
- }
- interface RsaOaepParams extends Algorithm {
- label?: BufferSource;
- }
- interface RsaOtherPrimesInfo {
- d?: string;
- r?: string;
- t?: string;
- }
- interface RsaPssParams extends Algorithm {
- saltLength: number;
- }
- /**
- * Importing the `webcrypto` object (`import { webcrypto } from 'node:crypto'`) gives an instance of the `Crypto` class.
- * `Crypto` is a singleton that provides access to the remainder of the crypto API.
- * @since v15.0.0
- */
- interface Crypto {
- /**
- * Provides access to the `SubtleCrypto` API.
- * @since v15.0.0
- */
- readonly subtle: SubtleCrypto;
- /**
- * Generates cryptographically strong random values.
- * The given `typedArray` is filled with random values, and a reference to `typedArray` is returned.
- *
- * The given `typedArray` must be an integer-based instance of {@link NodeJS.TypedArray}, i.e. `Float32Array` and `Float64Array` are not accepted.
- *
- * An error will be thrown if the given `typedArray` is larger than 65,536 bytes.
- * @since v15.0.0
- */
- getRandomValues>(typedArray: T): T;
- /**
- * Generates a random {@link https://www.rfc-editor.org/rfc/rfc4122.txt RFC 4122} version 4 UUID.
- * The UUID is generated using a cryptographic pseudorandom number generator.
- * @since v16.7.0
- */
- randomUUID(): UUID;
- CryptoKey: CryptoKeyConstructor;
- }
- // This constructor throws ILLEGAL_CONSTRUCTOR so it should not be newable.
- interface CryptoKeyConstructor {
- /** Illegal constructor */
- (_: { readonly _: unique symbol }): never; // Allows instanceof to work but not be callable by the user.
- readonly length: 0;
- readonly name: "CryptoKey";
- readonly prototype: CryptoKey;
- }
- /**
- * @since v15.0.0
- */
- interface CryptoKey {
- /**
- * An object detailing the algorithm for which the key can be used along with additional algorithm-specific parameters.
- * @since v15.0.0
- */
- readonly algorithm: KeyAlgorithm;
- /**
- * When `true`, the {@link CryptoKey} can be extracted using either `subtleCrypto.exportKey()` or `subtleCrypto.wrapKey()`.
- * @since v15.0.0
- */
- readonly extractable: boolean;
- /**
- * A string identifying whether the key is a symmetric (`'secret'`) or asymmetric (`'private'` or `'public'`) key.
- * @since v15.0.0
- */
- readonly type: KeyType;
- /**
- * An array of strings identifying the operations for which the key may be used.
- *
- * The possible usages are:
- * - `'encrypt'` - The key may be used to encrypt data.
- * - `'decrypt'` - The key may be used to decrypt data.
- * - `'sign'` - The key may be used to generate digital signatures.
- * - `'verify'` - The key may be used to verify digital signatures.
- * - `'deriveKey'` - The key may be used to derive a new key.
- * - `'deriveBits'` - The key may be used to derive bits.
- * - `'wrapKey'` - The key may be used to wrap another key.
- * - `'unwrapKey'` - The key may be used to unwrap another key.
- *
- * Valid key usages depend on the key algorithm (identified by `cryptokey.algorithm.name`).
- * @since v15.0.0
- */
- readonly usages: KeyUsage[];
- }
- /**
- * The `CryptoKeyPair` is a simple dictionary object with `publicKey` and `privateKey` properties, representing an asymmetric key pair.
- * @since v15.0.0
- */
- interface CryptoKeyPair {
- /**
- * A {@link CryptoKey} whose type will be `'private'`.
- * @since v15.0.0
- */
- privateKey: CryptoKey;
- /**
- * A {@link CryptoKey} whose type will be `'public'`.
- * @since v15.0.0
- */
- publicKey: CryptoKey;
- }
- /**
- * @since v15.0.0
- */
- interface SubtleCrypto {
- /**
- * Using the method and parameters specified in `algorithm` and the keying material provided by `key`,
- * `subtle.decrypt()` attempts to decipher the provided `data`. If successful,
- * the returned promise will be resolved with an `` containing the plaintext result.
- *
- * The algorithms currently supported include:
- *
- * - `'RSA-OAEP'`
- * - `'AES-CTR'`
- * - `'AES-CBC'`
- * - `'AES-GCM'`
- * @since v15.0.0
- */
- decrypt(
- algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams,
- key: CryptoKey,
- data: BufferSource,
- ): Promise;
- /**
- * Using the method and parameters specified in `algorithm` and the keying material provided by `baseKey`,
- * `subtle.deriveBits()` attempts to generate `length` bits.
- * The Node.js implementation requires that when `length` is a number it must be multiple of `8`.
- * When `length` is `null` the maximum number of bits for a given algorithm is generated. This is allowed
- * for the `'ECDH'`, `'X25519'`, and `'X448'` algorithms.
- * If successful, the returned promise will be resolved with an `` containing the generated data.
- *
- * The algorithms currently supported include:
- *
- * - `'ECDH'`
- * - `'X25519'`
- * - `'X448'`
- * - `'HKDF'`
- * - `'PBKDF2'`
- * @since v15.0.0
- */
- deriveBits(
- algorithm: EcdhKeyDeriveParams,
- baseKey: CryptoKey,
- length?: number | null,
- ): Promise;
- deriveBits(
- algorithm: EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params,
- baseKey: CryptoKey,
- length: number,
- ): Promise;
- /**
- * Using the method and parameters specified in `algorithm`, and the keying material provided by `baseKey`,
- * `subtle.deriveKey()` attempts to generate a new ` based on the method and parameters in `derivedKeyAlgorithm`.
- *
- * Calling `subtle.deriveKey()` is equivalent to calling `subtle.deriveBits()` to generate raw keying material,
- * then passing the result into the `subtle.importKey()` method using the `deriveKeyAlgorithm`, `extractable`, and `keyUsages` parameters as input.
- *
- * The algorithms currently supported include:
- *
- * - `'ECDH'`
- * - `'X25519'`
- * - `'X448'`
- * - `'HKDF'`
- * - `'PBKDF2'`
- * @param keyUsages See {@link https://nodejs.org/docs/latest/api/webcrypto.html#cryptokeyusages Key usages}.
- * @since v15.0.0
- */
- deriveKey(
- algorithm: EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params,
- baseKey: CryptoKey,
- derivedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | AesDerivedKeyParams,
- extractable: boolean,
- keyUsages: readonly KeyUsage[],
- ): Promise;
- /**
- * Using the method identified by `algorithm`, `subtle.digest()` attempts to generate a digest of `data`.
- * If successful, the returned promise is resolved with an `` containing the computed digest.
- *
- * If `algorithm` is provided as a ``, it must be one of:
- *
- * - `'SHA-1'`
- * - `'SHA-256'`
- * - `'SHA-384'`
- * - `'SHA-512'`
- *
- * If `algorithm` is provided as an `