Merge branch 'beta' into hebrew-pr
12
.github/CODEOWNERS
vendored
@ -3,9 +3,6 @@
|
||||
# everything (whole code-base) - Junior Devs
|
||||
* @pagefaultgames/junior-dev-team
|
||||
|
||||
# github actions/templates etc. - Dev Leads
|
||||
/.github @pagefaultgames/senior-dev-team
|
||||
|
||||
# Art Team
|
||||
/public/**/*.png @pagefaultgames/art-team
|
||||
/public/**/*.json @pagefaultgames/art-team
|
||||
@ -19,4 +16,11 @@
|
||||
/public/audio @pagefaultgames/composer-team
|
||||
|
||||
# Balance Files; contain actual code logic and must also be owned by dev team
|
||||
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||
/src/data/trainers @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||
|
||||
# GitHub actions/templates etc. - Senior Devs
|
||||
# Should be defined last in the file to make sure these always override all other definitions
|
||||
/.github @pagefaultgames/senior-dev-team
|
||||
package.json @pagefaultgames/senior-dev-team
|
||||
pnpm-lock.yaml @pagefaultgames/senior-dev-team
|
1
.github/workflows/github-pages.yml
vendored
@ -4,6 +4,7 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- beta
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
5
.github/workflows/linting.yml
vendored
@ -41,4 +41,7 @@ jobs:
|
||||
run: pnpm biome-ci
|
||||
|
||||
- name: Check dependencies with depcruise
|
||||
run: pnpm depcruise
|
||||
run: pnpm depcruise
|
||||
|
||||
- name: Lint with ls-lint
|
||||
run: pnpm ls-lint
|
2
.github/workflows/test-shard-template.yml
vendored
@ -44,4 +44,4 @@ jobs:
|
||||
run: pnpm i
|
||||
|
||||
- name: Run tests
|
||||
run: pnpm exec vitest --project ${{ inputs.project }} --no-isolate --shard=${{ inputs.shard }}/${{ inputs.totalShards }} ${{ !runner.debug && '--silent' || '' }}
|
||||
run: pnpm test:silent --shard=${{ inputs.shard }}/${{ inputs.totalShards }}
|
||||
|
1
.github/workflows/tests.yml
vendored
@ -11,6 +11,7 @@ on:
|
||||
- beta
|
||||
merge_group:
|
||||
types: [checks_requested]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
check-path-change-filter:
|
||||
|
28
.ls-lint.yml
Normal file
@ -0,0 +1,28 @@
|
||||
# Base settings to use
|
||||
# Note that the `_cfg` key isn't part of ls-lint's configuration, it's just a YAML anchor for reuse.
|
||||
_cfg: &cfg
|
||||
.ps1: kebab-case
|
||||
.ts: kebab-case
|
||||
.js: kebab-case
|
||||
.*.ts: kebab-case
|
||||
.*.js: kebab-case
|
||||
.dir: kebab-case
|
||||
.py: snake_case # python files should always use snake_case
|
||||
|
||||
ls:
|
||||
<<: *cfg
|
||||
src: &src
|
||||
<<: *cfg
|
||||
.dir: kebab-case | regex:@types
|
||||
.js: exists:0
|
||||
src/system/version-migration/versions:
|
||||
.ts: snake_case
|
||||
<<: *cfg
|
||||
test: *src
|
||||
ignore:
|
||||
- node_modules
|
||||
- .vscode
|
||||
- .github
|
||||
- .git
|
||||
- public
|
||||
- dist
|
@ -104,7 +104,7 @@ Most non-trivial changes (*especially bug fixes*) should come along with new tes
|
||||
- Test edge cases. A good strategy is to think of edge cases beforehand and create tests for them using `it.todo`. Once the edge case has been handled, you can remove the `todo` marker.
|
||||
|
||||
## 😈 Development Save File
|
||||
> Some issues may require you to have unlocks on your save file which go beyond normal overrides. For this reason, the repository contains a [save file](../test/testUtils/saves/everything.psrv) with _everything_ unlocked (even ones not legitimately obtainable, like unimplemented variant shinies).
|
||||
> Some issues may require you to have unlocks on your save file which go beyond normal overrides. For this reason, the repository contains a [save file](../test/test-utils/saves/everything.psrv) with _everything_ unlocked (even ones not legitimately obtainable, like unimplemented variant shinies).
|
||||
|
||||
1. Start the game up locally and navigate to `Menu -> Manage Data -> Import Data`
|
||||
2. Select [everything.prsv](test/testUtils/saves/everything.prsv) (`test/testUtils/saves/everything.prsv`) and confirm.
|
||||
2. Select [everything.prsv](test/test-utils/saves/everything.prsv) (`test/test-utils/saves/everything.prsv`) and confirm.
|
||||
|
@ -19,7 +19,6 @@
|
||||
// and having to verify whether each individual file is ignored
|
||||
"includes": [
|
||||
"**",
|
||||
"!**/*.d.ts",
|
||||
"!**/dist/**/*",
|
||||
"!**/build/**/*",
|
||||
"!**/coverage/**/*",
|
||||
@ -177,9 +176,10 @@
|
||||
}
|
||||
},
|
||||
|
||||
// Overrides to prevent unused import removal inside `overrides.ts` and enums files (for TSDoc linkcodes)
|
||||
// Overrides to prevent unused import removal inside `overrides.ts` and enums files (for TSDoc linkcodes),
|
||||
// as well as in all TS files in `scripts/` (which are assumed to be boilerplate templates).
|
||||
{
|
||||
"includes": ["**/src/overrides.ts", "**/src/enums/**/*"],
|
||||
"includes": ["**/src/overrides.ts", "**/src/enums/**/*", "**/scripts/**/*.ts", "**/*.d.ts"],
|
||||
"linter": {
|
||||
"rules": {
|
||||
"correctness": {
|
||||
@ -189,7 +189,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"includes": ["**/src/overrides.ts"],
|
||||
"includes": ["**/src/overrides.ts", "**/scripts/**/*.ts"],
|
||||
"linter": {
|
||||
"rules": {
|
||||
"style": {
|
||||
|
@ -90,9 +90,13 @@ If this feature requires new text, the text should be integrated into the code w
|
||||
- For any feature pulled from the mainline Pokémon games (e.g. a Move or Ability implementation), it's best practice to include a source link for any added text.
|
||||
[Poké Corpus](https://abcboy101.github.io/poke-corpus/) is a great resource for finding text from the mainline games; otherwise, a video/picture showing the text being displayed should suffice.
|
||||
- You should also [notify the current Head of Translation](#notifying-translation) to ensure a fast response.
|
||||
3. At this point, you may begin [testing locales integration in your main PR](#documenting-locales-changes).
|
||||
4. The Translation Team will approve the locale PR (after corrections, if necessary), then merge it into `pokerogue-locales`.
|
||||
5. The Dev Team will approve your main PR for your feature, then merge it into PokéRogue's beta environment.
|
||||
3. Your locales should use the following format:
|
||||
- File names should be in `kebab-case`. Example: `trainer-names.json`
|
||||
- Key names should be in `camelCase`. Example: `aceTrainer`
|
||||
- If you make use of i18next's inbuilt [context support](https://www.i18next.com/translation-function/context), you need to use `snake_case` for the context key. Example: `aceTrainer_male`
|
||||
4. At this point, you may begin [testing locales integration in your main PR](#documenting-locales-changes).
|
||||
5. The Translation Team will approve the locale PR (after corrections, if necessary), then merge it into `pokerogue-locales`.
|
||||
6. The Dev Team will approve your main PR for your feature, then merge it into PokéRogue's beta environment.
|
||||
|
||||
[^2]: For those wondering, the reason for choosing English specifically is due to it being the master language set in Pontoon (the program used by the Translation Team to perform locale updates).
|
||||
If a key is present in any language _except_ the master language, it won't appear anywhere else in the translation tool, rendering missing English keys quite a hassle.
|
||||
|
12
global.d.ts
vendored
@ -1,14 +1,20 @@
|
||||
import type { AnyFn } from "#types/type-helpers";
|
||||
import type { SetupServerApi } from "msw/node";
|
||||
|
||||
export {};
|
||||
|
||||
declare global {
|
||||
/**
|
||||
* Only used in testing.
|
||||
* Can technically be undefined/null but for ease of use we are going to assume it is always defined.
|
||||
* Used to load i18n files exclusively.
|
||||
*
|
||||
* To set up your own server in a test see `game_data.test.ts`
|
||||
* To set up your own server in a test see `game-data.test.ts`
|
||||
*/
|
||||
var server: SetupServerApi;
|
||||
|
||||
// Overloads for `Function.apply` and `Function.call` to add type safety on matching argument types
|
||||
interface Function {
|
||||
apply<T extends AnyFn>(this: T, thisArg: ThisParameterType<T>, argArray: Parameters<T>): ReturnType<T>;
|
||||
|
||||
call<T extends AnyFn>(this: T, thisArg: ThisParameterType<T>, ...argArray: Parameters<T>): ReturnType<T>;
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
pre-commit:
|
||||
skip:
|
||||
- merge
|
||||
- rebase
|
||||
commands:
|
||||
biome-lint:
|
||||
run: pnpm exec biome check --write --reporter=summary --staged --no-errors-on-unmatched
|
||||
stage_fixed: true
|
||||
skip:
|
||||
- merge
|
||||
- rebase
|
||||
ls-lint:
|
||||
run: pnpm exec ls-lint
|
||||
|
||||
post-merge:
|
||||
commands:
|
||||
|
14
package.json
@ -12,12 +12,12 @@
|
||||
"test": "vitest run --no-isolate",
|
||||
"test:cov": "vitest run --coverage --no-isolate",
|
||||
"test:watch": "vitest watch --coverage --no-isolate",
|
||||
"test:silent": "vitest run --silent --no-isolate",
|
||||
"test:silent": "vitest run --silent='passed-only' --no-isolate",
|
||||
"test:create": "node scripts/create-test/create-test.js",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"eslint": "eslint --fix .",
|
||||
"eslint-ci": "eslint .",
|
||||
"biome": "biome check --write --changed --no-errors-on-unmatched",
|
||||
"biome": "biome check --write --changed --no-errors-on-unmatched --diagnostic-level=error",
|
||||
"biome-ci": "biome ci --diagnostic-level=error --reporter=github --no-errors-on-unmatched",
|
||||
"docs": "typedoc",
|
||||
"depcruise": "depcruise src test",
|
||||
@ -28,19 +28,21 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.0.0",
|
||||
"@ls-lint/ls-lint": "2.3.1",
|
||||
"@types/jsdom": "^21.1.7",
|
||||
"@types/node": "^22.16.3",
|
||||
"@types/node": "^22.16.5",
|
||||
"@vitest/coverage-istanbul": "^3.2.4",
|
||||
"@vitest/expect": "^3.2.4",
|
||||
"chalk": "^5.4.1",
|
||||
"dependency-cruiser": "^16.10.4",
|
||||
"inquirer": "^12.7.0",
|
||||
"inquirer": "^12.8.2",
|
||||
"jsdom": "^26.1.0",
|
||||
"lefthook": "^1.12.2",
|
||||
"msw": "^2.10.4",
|
||||
"phaser3spectorjs": "^0.0.8",
|
||||
"typedoc": "^0.28.7",
|
||||
"typedoc": "^0.28.8",
|
||||
"typescript": "^5.8.3",
|
||||
"vite": "^6.3.5",
|
||||
"vite": "^7.0.6",
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"vitest": "^3.2.4",
|
||||
"vitest-canvas-mock": "^0.3.3"
|
||||
|
932
pnpm-lock.yaml
@ -333,8 +333,6 @@
|
||||
"671-yellow",
|
||||
"6713",
|
||||
"6713",
|
||||
"672",
|
||||
"672",
|
||||
"6724",
|
||||
"6724",
|
||||
"673",
|
||||
@ -377,10 +375,6 @@
|
||||
"690",
|
||||
"691",
|
||||
"691",
|
||||
"692",
|
||||
"692",
|
||||
"693",
|
||||
"693",
|
||||
"695",
|
||||
"695",
|
||||
"696",
|
||||
@ -503,10 +497,6 @@
|
||||
"751",
|
||||
"752",
|
||||
"752",
|
||||
"753",
|
||||
"753",
|
||||
"754",
|
||||
"754",
|
||||
"755",
|
||||
"755",
|
||||
"756",
|
||||
@ -535,10 +525,6 @@
|
||||
"767",
|
||||
"768",
|
||||
"768",
|
||||
"769",
|
||||
"769",
|
||||
"770",
|
||||
"770",
|
||||
"771",
|
||||
"771",
|
||||
"772",
|
||||
@ -761,10 +747,6 @@
|
||||
"841",
|
||||
"842",
|
||||
"842",
|
||||
"843",
|
||||
"843",
|
||||
"844",
|
||||
"844",
|
||||
"845-gorging",
|
||||
"845-gorging",
|
||||
"845-gulping",
|
||||
@ -903,10 +885,6 @@
|
||||
"900",
|
||||
"901",
|
||||
"901",
|
||||
"902-female",
|
||||
"902-female",
|
||||
"902",
|
||||
"902",
|
||||
"903",
|
||||
"903",
|
||||
"904",
|
||||
@ -1459,8 +1437,6 @@
|
||||
"671b-yellow",
|
||||
"6713b",
|
||||
"6713b",
|
||||
"672b",
|
||||
"672b",
|
||||
"6724b",
|
||||
"6724b",
|
||||
"673b",
|
||||
@ -1503,10 +1479,6 @@
|
||||
"690b",
|
||||
"691b",
|
||||
"691b",
|
||||
"692b",
|
||||
"692b",
|
||||
"693b",
|
||||
"693b",
|
||||
"695b",
|
||||
"695b",
|
||||
"696b",
|
||||
@ -1629,10 +1601,6 @@
|
||||
"751b",
|
||||
"752b",
|
||||
"752b",
|
||||
"753b",
|
||||
"753b",
|
||||
"754b",
|
||||
"754b",
|
||||
"755b",
|
||||
"755b",
|
||||
"756b",
|
||||
@ -1661,10 +1629,6 @@
|
||||
"767b",
|
||||
"768b",
|
||||
"768b",
|
||||
"769b",
|
||||
"769b",
|
||||
"770b",
|
||||
"770b",
|
||||
"771b",
|
||||
"771b",
|
||||
"772b",
|
||||
@ -1887,10 +1851,6 @@
|
||||
"841b",
|
||||
"842b",
|
||||
"842b",
|
||||
"843b",
|
||||
"843b",
|
||||
"844b",
|
||||
"844b",
|
||||
"845b-gorging",
|
||||
"845b-gorging",
|
||||
"845b-gulping",
|
||||
@ -2029,10 +1989,6 @@
|
||||
"900b",
|
||||
"901b",
|
||||
"901b",
|
||||
"902b-female",
|
||||
"902b-female",
|
||||
"902b",
|
||||
"902b",
|
||||
"903b",
|
||||
"903b",
|
||||
"904b",
|
||||
@ -2585,8 +2541,6 @@
|
||||
"671sb-yellow",
|
||||
"6713sb",
|
||||
"6713sb",
|
||||
"672sb",
|
||||
"672sb",
|
||||
"6724sb",
|
||||
"6724sb",
|
||||
"673sb",
|
||||
@ -2629,10 +2583,6 @@
|
||||
"690sb",
|
||||
"691sb",
|
||||
"691sb",
|
||||
"692sb",
|
||||
"692sb",
|
||||
"693sb",
|
||||
"693sb",
|
||||
"695sb",
|
||||
"695sb",
|
||||
"696sb",
|
||||
@ -2755,10 +2705,6 @@
|
||||
"751sb",
|
||||
"752sb",
|
||||
"752sb",
|
||||
"753sb",
|
||||
"753sb",
|
||||
"754sb",
|
||||
"754sb",
|
||||
"755sb",
|
||||
"755sb",
|
||||
"756sb",
|
||||
@ -2787,10 +2733,6 @@
|
||||
"767sb",
|
||||
"768sb",
|
||||
"768sb",
|
||||
"769sb",
|
||||
"769sb",
|
||||
"770sb",
|
||||
"770sb",
|
||||
"771sb",
|
||||
"771sb",
|
||||
"772sb",
|
||||
@ -3013,10 +2955,6 @@
|
||||
"841sb",
|
||||
"842sb",
|
||||
"842sb",
|
||||
"843sb",
|
||||
"843sb",
|
||||
"844sb",
|
||||
"844sb",
|
||||
"845sb-gorging",
|
||||
"845sb-gorging",
|
||||
"845sb-gulping",
|
||||
@ -3155,10 +3093,6 @@
|
||||
"900sb",
|
||||
"901sb",
|
||||
"901sb",
|
||||
"902sb-female",
|
||||
"902sb-female",
|
||||
"902sb",
|
||||
"902sb",
|
||||
"903sb",
|
||||
"903sb",
|
||||
"904sb",
|
||||
@ -3716,8 +3650,6 @@
|
||||
"671s-yellow",
|
||||
"6713s",
|
||||
"6713s",
|
||||
"672s",
|
||||
"672s",
|
||||
"6724s",
|
||||
"6724s",
|
||||
"673s",
|
||||
@ -3760,10 +3692,6 @@
|
||||
"690s",
|
||||
"691s",
|
||||
"691s",
|
||||
"692s",
|
||||
"692s",
|
||||
"693s",
|
||||
"693s",
|
||||
"695s",
|
||||
"695s",
|
||||
"696s",
|
||||
@ -3886,10 +3814,6 @@
|
||||
"751s",
|
||||
"752s",
|
||||
"752s",
|
||||
"753s",
|
||||
"753s",
|
||||
"754s",
|
||||
"754s",
|
||||
"755s",
|
||||
"755s",
|
||||
"756s",
|
||||
@ -3918,10 +3842,6 @@
|
||||
"767s",
|
||||
"768s",
|
||||
"768s",
|
||||
"769s",
|
||||
"769s",
|
||||
"770s",
|
||||
"770s",
|
||||
"771s",
|
||||
"771s",
|
||||
"772s",
|
||||
@ -4144,10 +4064,6 @@
|
||||
"841s",
|
||||
"842s",
|
||||
"842s",
|
||||
"843s",
|
||||
"843s",
|
||||
"844s",
|
||||
"844s",
|
||||
"845s-gorging",
|
||||
"845s-gorging",
|
||||
"845s-gulping",
|
||||
@ -4286,10 +4202,6 @@
|
||||
"900s",
|
||||
"901s",
|
||||
"901s",
|
||||
"902s-female",
|
||||
"902s-female",
|
||||
"902s",
|
||||
"902s",
|
||||
"903s",
|
||||
"903s",
|
||||
"904s",
|
||||
@ -4625,8 +4537,6 @@
|
||||
"730",
|
||||
"747",
|
||||
"748",
|
||||
"753",
|
||||
"754",
|
||||
"755",
|
||||
"756",
|
||||
"761",
|
||||
|
BIN
public/images/logo_fake.png
Executable file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 653 B After Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 744 B After Width: | Height: | Size: 648 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1003 B |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 396 B |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 876 B After Width: | Height: | Size: 767 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 836 B After Width: | Height: | Size: 747 B |
Before Width: | Height: | Size: 722 B After Width: | Height: | Size: 645 B |
Before Width: | Height: | Size: 608 B After Width: | Height: | Size: 530 B |
Before Width: | Height: | Size: 734 B After Width: | Height: | Size: 646 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 988 B |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 672 B |
Before Width: | Height: | Size: 680 B After Width: | Height: | Size: 590 B |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 701 B After Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 956 B |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 11 KiB |