juicyjuicy 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1358 -32
- package/dist/skill/SKILL.md +66 -20
- package/dist/skill/reference/auto-pause.md +22 -0
- package/dist/skill/reference/gamepad.md +21 -0
- package/dist/skill/reference/languages.md +1 -1
- package/dist/skill/reference/manifest.md +8 -4
- package/dist/skill/reference/moderation.md +1 -1
- package/dist/skill/reference/mouse-lock.md +22 -0
- package/dist/skill/reference/multiplayer.md +20 -7
- package/dist/skill/reference/touch.md +23 -0
- package/dist/skill/reference/troubleshooting.md +2 -1
- package/dist/skill/reference/update-all-games.md +5 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -19807,7 +19807,7 @@ function date4(params) {
|
|
|
19807
19807
|
}
|
|
19808
19808
|
|
|
19809
19809
|
// ../shared/src/cli.ts
|
|
19810
|
-
var CLI_RELEASE = "0.
|
|
19810
|
+
var CLI_RELEASE = "0.15.0";
|
|
19811
19811
|
function cliCommand(args) {
|
|
19812
19812
|
return `npx -y juicyjuicy@${CLI_RELEASE} ${args}`;
|
|
19813
19813
|
}
|
|
@@ -19823,6 +19823,63 @@ function compareVersions(a2, b) {
|
|
|
19823
19823
|
return 0;
|
|
19824
19824
|
}
|
|
19825
19825
|
|
|
19826
|
+
// ../shared/src/content-rules.ts
|
|
19827
|
+
var CONTENT_RULES = [
|
|
19828
|
+
{
|
|
19829
|
+
id: "sexual",
|
|
19830
|
+
title: "Sexual content",
|
|
19831
|
+
rule: "No pornography or other sexually explicit content, including nudity shown for sexual arousal."
|
|
19832
|
+
},
|
|
19833
|
+
{
|
|
19834
|
+
id: "minors",
|
|
19835
|
+
title: "Anything sexual involving minors",
|
|
19836
|
+
rule: "No content that sexualizes a minor or anyone made to look like one, whether photographed, drawn or generated by AI. We remove it and report it to the authorities."
|
|
19837
|
+
},
|
|
19838
|
+
{
|
|
19839
|
+
id: "hate",
|
|
19840
|
+
title: "Hate",
|
|
19841
|
+
rule: "No content that attacks or demeans people for their race, ethnicity, national origin, religion, disability, sex, gender identity, sexual orientation or a similar characteristic."
|
|
19842
|
+
},
|
|
19843
|
+
{
|
|
19844
|
+
id: "extremism",
|
|
19845
|
+
title: "Violent extremism",
|
|
19846
|
+
rule: "No content that promotes, glorifies or recruits for terrorism or violent extremism."
|
|
19847
|
+
},
|
|
19848
|
+
{
|
|
19849
|
+
id: "illegal",
|
|
19850
|
+
title: "Illegal goods and services",
|
|
19851
|
+
rule: "No selling, advertising or helping people get illegal goods or services, such as drugs, weapons, stolen data or real-money gambling."
|
|
19852
|
+
}
|
|
19853
|
+
];
|
|
19854
|
+
var GENERAL_RULES = [
|
|
19855
|
+
{
|
|
19856
|
+
id: "unlawful",
|
|
19857
|
+
title: "Illegal content or someone else's rights",
|
|
19858
|
+
rule: "Nothing else that's illegal in the EU or the Netherlands, or that infringes someone else's rights, such as copyright, trademarks or privacy."
|
|
19859
|
+
},
|
|
19860
|
+
{
|
|
19861
|
+
id: "harm",
|
|
19862
|
+
title: "Harm to players or others",
|
|
19863
|
+
rule: "Nothing that harms players or others: malware, crypto mining, phishing or fake login forms, scams, secret tracking, attacks on other sites, or attempts to break out of the game frame."
|
|
19864
|
+
},
|
|
19865
|
+
{
|
|
19866
|
+
id: "conduct",
|
|
19867
|
+
title: "Harassment, impersonation or spam",
|
|
19868
|
+
rule: "Don't harass or threaten people, impersonate them, spam, or collect personal data from players without telling them and having a legal right to."
|
|
19869
|
+
},
|
|
19870
|
+
{
|
|
19871
|
+
id: "abuse",
|
|
19872
|
+
title: "Attacking the site or its checks",
|
|
19873
|
+
rule: "Don't attack the site, overload it, or get around its limits and checks, including by giving the AI review instructions or changing what a game does after review to hide something."
|
|
19874
|
+
}
|
|
19875
|
+
];
|
|
19876
|
+
var MODERATION_GROUNDS = [
|
|
19877
|
+
...CONTENT_RULES.map(({ id, title }) => ({ id, title })),
|
|
19878
|
+
...GENERAL_RULES.map(({ id, title }) => ({ id, title })),
|
|
19879
|
+
{ id: "other", title: "Another rule in the terms (the comment says which)" }
|
|
19880
|
+
];
|
|
19881
|
+
var MODERATION_GROUND_IDS = MODERATION_GROUNDS.map((ground) => ground.id);
|
|
19882
|
+
|
|
19826
19883
|
// ../shared/src/limits.ts
|
|
19827
19884
|
var MB = 1024 * 1024;
|
|
19828
19885
|
var LIMITS = {
|
|
@@ -19870,6 +19927,10 @@ var RATE_LIMITS = {
|
|
|
19870
19927
|
signUp: { limit: 30, windowSeconds: 60 * 60 },
|
|
19871
19928
|
/** New accounts per client IP (hashed). */
|
|
19872
19929
|
signUpNetwork: { limit: 3, windowSeconds: 24 * 60 * 60 },
|
|
19930
|
+
/** Verification and password-reset mails per address (D88), keyed by a hash of it. */
|
|
19931
|
+
authMail: { limit: 3, windowSeconds: 60 * 60 },
|
|
19932
|
+
/** Verification and password-reset mails per client IP (hashed, D88). */
|
|
19933
|
+
authMailNetwork: { limit: 10, windowSeconds: 60 * 60 },
|
|
19873
19934
|
/** CLI logins started, per client IP (no account yet). */
|
|
19874
19935
|
deviceCode: { limit: 10, windowSeconds: 10 * 60 },
|
|
19875
19936
|
/** Versions started (each publish starts one). */
|
|
@@ -19910,16 +19971,36 @@ var RATE_LIMITS = {
|
|
|
19910
19971
|
scoreSubmit: { limit: 60, windowSeconds: 10 * 60 },
|
|
19911
19972
|
/** Leaderboard reads (D56), per member or, for visitors, per network. */
|
|
19912
19973
|
scoreRead: { limit: 120, windowSeconds: 10 * 60 },
|
|
19913
|
-
/**
|
|
19914
|
-
|
|
19974
|
+
/**
|
|
19975
|
+
* Thumbnails uploaded from the dashboard (each publish can bring one too, bounded by the publish
|
|
19976
|
+
* limits, D74). Each new image costs an AI image check (D87), so the window is a day: with
|
|
19977
|
+
* `avatarUpload` and the publishes, one member can start at most about 35 checks a day.
|
|
19978
|
+
*/
|
|
19979
|
+
thumbnail: { limit: 10, windowSeconds: 24 * 60 * 60, newAccountLimit: 5 },
|
|
19915
19980
|
/**
|
|
19916
19981
|
* AI review requests for a creator's versions per day (S5, D31): one per part of up to 95K
|
|
19917
19982
|
* tokens, so a small game's review uses 1 and a game bundled with Phaser about 8. Over it a
|
|
19918
|
-
* version isn't reviewed. At most about $1.20 a day per creator
|
|
19983
|
+
* version isn't reviewed. At most about $1.20 a day per creator, and about 25 cents in an
|
|
19984
|
+
* account's first week (D88: accounts cost nothing to make).
|
|
19919
19985
|
*/
|
|
19920
|
-
review: { limit: 120, windowSeconds: 24 * 60 * 60 },
|
|
19986
|
+
review: { limit: 120, windowSeconds: 24 * 60 * 60, newAccountLimit: 24 },
|
|
19921
19987
|
/** `check-games` runs (D52): each can scan every game a creator has from R2. */
|
|
19922
|
-
checkGames: { limit: 10, windowSeconds: 60 * 60 }
|
|
19988
|
+
checkGames: { limit: 10, windowSeconds: 60 * 60 },
|
|
19989
|
+
/**
|
|
19990
|
+
* Username changes on /settings (D90). The old name is free for anyone at once, so a member
|
|
19991
|
+
* can't cycle through names (or squat several) quickly. Windows end with the day's cleanup.
|
|
19992
|
+
*/
|
|
19993
|
+
usernameChange: { limit: 3, windowSeconds: 24 * 60 * 60 },
|
|
19994
|
+
/**
|
|
19995
|
+
* Password checks before a sensitive change on /settings (D90): changing or removing the
|
|
19996
|
+
* password, linking or unlinking a sign-in method, deleting the account. Every attempt counts,
|
|
19997
|
+
* so a stolen session can't guess the password.
|
|
19998
|
+
*/
|
|
19999
|
+
passwordConfirm: { limit: 5, windowSeconds: 15 * 60 },
|
|
20000
|
+
/** Profile pictures uploaded on /settings (D91); each new one costs an AI image check (D87). */
|
|
20001
|
+
avatarUpload: { limit: 10, windowSeconds: 24 * 60 * 60, newAccountLimit: 5 },
|
|
20002
|
+
/** Downloads of "Your data" on /settings (D91); each reads every table a member has rows in. */
|
|
20003
|
+
dataExport: { limit: 5, windowSeconds: 24 * 60 * 60 }
|
|
19923
20004
|
};
|
|
19924
20005
|
var UPLOAD_BUDGET = {
|
|
19925
20006
|
/** Files for everyone together in the last hour: at most about $0.45 of Class A operations. */
|
|
@@ -19933,6 +20014,259 @@ var UPLOAD_BUDGET = {
|
|
|
19933
20014
|
};
|
|
19934
20015
|
var THUMBNAIL_EXTENSIONS = ["png", "jpg", "jpeg", "webp"];
|
|
19935
20016
|
|
|
20017
|
+
// ../shared/src/genres.ts
|
|
20018
|
+
var GAME_GENRES = [
|
|
20019
|
+
{ id: "action", label: "Action", hint: "fighting, beat 'em ups, hack and slash, action games" },
|
|
20020
|
+
{ id: "adventure", label: "Adventure", hint: "exploring, point and click, quests" },
|
|
20021
|
+
{
|
|
20022
|
+
id: "arcade",
|
|
20023
|
+
label: "Arcade",
|
|
20024
|
+
hint: "quick rounds for a high score: snake, breakout, endless runners"
|
|
20025
|
+
},
|
|
20026
|
+
{ id: "board", label: "Board", hint: "chess, checkers, go, mahjong and other tabletop games" },
|
|
20027
|
+
{
|
|
20028
|
+
id: "cards-casino",
|
|
20029
|
+
label: "Cards & Casino",
|
|
20030
|
+
hint: "solitaire, poker, blackjack, roulette, slots, dice"
|
|
20031
|
+
},
|
|
20032
|
+
{ id: "casual", label: "Casual", hint: "relaxed, easy to pick up, no pressure" },
|
|
20033
|
+
{ id: "idle", label: "Idle & Clicker", hint: "incremental and clicker games" },
|
|
20034
|
+
{ id: "platformer", label: "Platformer", hint: "running and jumping across platforms" },
|
|
20035
|
+
{ id: "puzzle", label: "Puzzle", hint: "logic, match-3, sokoban, physics puzzles" },
|
|
20036
|
+
{ id: "racing", label: "Racing", hint: "driving and racing" },
|
|
20037
|
+
{ id: "rhythm", label: "Rhythm & Music", hint: "playing to the beat, making music" },
|
|
20038
|
+
{
|
|
20039
|
+
id: "roguelike",
|
|
20040
|
+
label: "Roguelike",
|
|
20041
|
+
hint: "roguelikes and roguelites: runs, permadeath, random levels"
|
|
20042
|
+
},
|
|
20043
|
+
{ id: "rpg", label: "RPG", hint: "role-playing: characters that level up, stats, quests" },
|
|
20044
|
+
{ id: "shooter", label: "Shooter", hint: "shoot 'em ups, bullet hell, twin-stick, first-person" },
|
|
20045
|
+
{ id: "simulation", label: "Simulation", hint: "management, tycoon, building, sandbox, farming" },
|
|
20046
|
+
{ id: "sports", label: "Sports", hint: "football, golf, basketball and other sports" },
|
|
20047
|
+
{
|
|
20048
|
+
id: "strategy",
|
|
20049
|
+
label: "Strategy",
|
|
20050
|
+
hint: "tower defense, tactics, real-time and turn-based strategy"
|
|
20051
|
+
},
|
|
20052
|
+
{ id: "story", label: "Story", hint: "visual novels, interactive fiction, narrative games" },
|
|
20053
|
+
{ id: "word-trivia", label: "Word & Trivia", hint: "word games, quizzes, trivia" }
|
|
20054
|
+
];
|
|
20055
|
+
var GENRE_IDS = GAME_GENRES.map((genre) => genre.id);
|
|
20056
|
+
var MAX_GENRES = 3;
|
|
20057
|
+
var MAX_THEMES = 3;
|
|
20058
|
+
var MULTIPLAYER_TAG = "multiplayer";
|
|
20059
|
+
var MULTIPLAYER_WORDS = /* @__PURE__ */ new Set([
|
|
20060
|
+
"multiplayer",
|
|
20061
|
+
"multi-player",
|
|
20062
|
+
"online-multiplayer",
|
|
20063
|
+
"local-multiplayer",
|
|
20064
|
+
"co-op",
|
|
20065
|
+
"coop",
|
|
20066
|
+
"cooperative",
|
|
20067
|
+
"pvp",
|
|
20068
|
+
"2-player",
|
|
20069
|
+
"two-player",
|
|
20070
|
+
"2-players",
|
|
20071
|
+
"mmo"
|
|
20072
|
+
]);
|
|
20073
|
+
var GENRE_LABELS = new Map(GAME_GENRES.map((genre) => [genre.id, genre.label]));
|
|
20074
|
+
function isGenre(id) {
|
|
20075
|
+
return GENRE_LABELS.has(id);
|
|
20076
|
+
}
|
|
20077
|
+
var genreSchema = external_exports.enum(GENRE_IDS, {
|
|
20078
|
+
error: (issue2) => `${JSON.stringify(issue2.input)} isn't a genre on JuicyJuicy; pick from: ${GENRE_IDS.join(", ")}`
|
|
20079
|
+
});
|
|
20080
|
+
var genresSchema = external_exports.array(genreSchema).min(1, `list 1 to ${MAX_GENRES} genres from: ${GENRE_IDS.join(", ")}`).max(MAX_GENRES, `at most ${MAX_GENRES} genres`).transform((genres) => [...new Set(genres)]);
|
|
20081
|
+
var TAG_SPELLINGS = {
|
|
20082
|
+
"rouge-lite": "roguelite",
|
|
20083
|
+
"rouge-like": "roguelike",
|
|
20084
|
+
rougelite: "roguelite",
|
|
20085
|
+
rougelike: "roguelike",
|
|
20086
|
+
"rogue-lite": "roguelite",
|
|
20087
|
+
"rogue-like": "roguelike",
|
|
20088
|
+
"tower-defence": "tower-defense",
|
|
20089
|
+
"shoot-em-up": "shmup",
|
|
20090
|
+
"shootem-up": "shmup",
|
|
20091
|
+
"point-n-click": "point-and-click",
|
|
20092
|
+
match3: "match-3",
|
|
20093
|
+
zombie: "zombies",
|
|
20094
|
+
pirate: "pirates",
|
|
20095
|
+
alien: "aliens",
|
|
20096
|
+
robot: "robots",
|
|
20097
|
+
dinosaur: "dinosaurs",
|
|
20098
|
+
cat: "cats",
|
|
20099
|
+
dog: "dogs",
|
|
20100
|
+
colour: "color",
|
|
20101
|
+
colours: "colors"
|
|
20102
|
+
};
|
|
20103
|
+
var GENRE_WORDS = {
|
|
20104
|
+
"action-game": "action",
|
|
20105
|
+
fighting: "action",
|
|
20106
|
+
"hack-and-slash": "action",
|
|
20107
|
+
"beat-em-up": "action",
|
|
20108
|
+
"adventure-game": "adventure",
|
|
20109
|
+
exploration: "adventure",
|
|
20110
|
+
"point-and-click": "adventure",
|
|
20111
|
+
"arcade-game": "arcade",
|
|
20112
|
+
"board-game": "board",
|
|
20113
|
+
"board-games": "board",
|
|
20114
|
+
tabletop: "board",
|
|
20115
|
+
cards: "cards-casino",
|
|
20116
|
+
card: "cards-casino",
|
|
20117
|
+
"card-game": "cards-casino",
|
|
20118
|
+
"card-games": "cards-casino",
|
|
20119
|
+
"cards-dice": "cards-casino",
|
|
20120
|
+
casino: "cards-casino",
|
|
20121
|
+
gambling: "cards-casino",
|
|
20122
|
+
relaxing: "casual",
|
|
20123
|
+
"casual-game": "casual",
|
|
20124
|
+
clicker: "idle",
|
|
20125
|
+
incremental: "idle",
|
|
20126
|
+
"idle-game": "idle",
|
|
20127
|
+
platform: "platformer",
|
|
20128
|
+
platforming: "platformer",
|
|
20129
|
+
puzzles: "puzzle",
|
|
20130
|
+
"puzzle-game": "puzzle",
|
|
20131
|
+
logic: "puzzle",
|
|
20132
|
+
driving: "racing",
|
|
20133
|
+
race: "racing",
|
|
20134
|
+
music: "rhythm",
|
|
20135
|
+
"rhythm-game": "rhythm",
|
|
20136
|
+
roguelite: "roguelike",
|
|
20137
|
+
"role-playing": "rpg",
|
|
20138
|
+
jrpg: "rpg",
|
|
20139
|
+
"action-rpg": "rpg",
|
|
20140
|
+
shmup: "shooter",
|
|
20141
|
+
shooting: "shooter",
|
|
20142
|
+
"bullet-hell": "shooter",
|
|
20143
|
+
fps: "shooter",
|
|
20144
|
+
"twin-stick": "shooter",
|
|
20145
|
+
sim: "simulation",
|
|
20146
|
+
management: "simulation",
|
|
20147
|
+
tycoon: "simulation",
|
|
20148
|
+
sandbox: "simulation",
|
|
20149
|
+
sport: "sports",
|
|
20150
|
+
tactics: "strategy",
|
|
20151
|
+
tactical: "strategy",
|
|
20152
|
+
"turn-based": "strategy",
|
|
20153
|
+
rts: "strategy",
|
|
20154
|
+
"strategy-game": "strategy",
|
|
20155
|
+
"visual-novel": "story",
|
|
20156
|
+
"interactive-fiction": "story",
|
|
20157
|
+
narrative: "story",
|
|
20158
|
+
"text-adventure": "story",
|
|
20159
|
+
word: "word-trivia",
|
|
20160
|
+
words: "word-trivia",
|
|
20161
|
+
"word-game": "word-trivia",
|
|
20162
|
+
trivia: "word-trivia",
|
|
20163
|
+
quiz: "word-trivia"
|
|
20164
|
+
};
|
|
20165
|
+
var THEME_GENRES = {
|
|
20166
|
+
blackjack: "cards-casino",
|
|
20167
|
+
poker: "cards-casino",
|
|
20168
|
+
roulette: "cards-casino",
|
|
20169
|
+
slots: "cards-casino",
|
|
20170
|
+
"slot-machine": "cards-casino",
|
|
20171
|
+
solitaire: "cards-casino",
|
|
20172
|
+
dice: "cards-casino",
|
|
20173
|
+
chess: "board",
|
|
20174
|
+
checkers: "board",
|
|
20175
|
+
go: "board",
|
|
20176
|
+
mahjong: "board",
|
|
20177
|
+
"tower-defense": "strategy",
|
|
20178
|
+
"match-3": "puzzle",
|
|
20179
|
+
sokoban: "puzzle",
|
|
20180
|
+
tetris: "puzzle",
|
|
20181
|
+
snake: "arcade",
|
|
20182
|
+
breakout: "arcade",
|
|
20183
|
+
pinball: "arcade",
|
|
20184
|
+
"endless-runner": "arcade",
|
|
20185
|
+
football: "sports",
|
|
20186
|
+
soccer: "sports",
|
|
20187
|
+
basketball: "sports",
|
|
20188
|
+
golf: "sports",
|
|
20189
|
+
tennis: "sports",
|
|
20190
|
+
farming: "simulation",
|
|
20191
|
+
"city-builder": "simulation",
|
|
20192
|
+
"deck-builder": "cards-casino",
|
|
20193
|
+
deckbuilder: "cards-casino",
|
|
20194
|
+
crossword: "word-trivia"
|
|
20195
|
+
};
|
|
20196
|
+
var DROPPED_TAGS = /* @__PURE__ */ new Set([
|
|
20197
|
+
"online",
|
|
20198
|
+
"mobile",
|
|
20199
|
+
"mobile-friendly",
|
|
20200
|
+
"touch",
|
|
20201
|
+
"touchscreen",
|
|
20202
|
+
"remix",
|
|
20203
|
+
"remixable",
|
|
20204
|
+
"leaderboard",
|
|
20205
|
+
"leaderboards",
|
|
20206
|
+
"highscore",
|
|
20207
|
+
"highscores",
|
|
20208
|
+
"high-score",
|
|
20209
|
+
"cloud-saves",
|
|
20210
|
+
"singleplayer",
|
|
20211
|
+
"single-player",
|
|
20212
|
+
"browser",
|
|
20213
|
+
"browser-game",
|
|
20214
|
+
"web",
|
|
20215
|
+
"html5",
|
|
20216
|
+
"javascript",
|
|
20217
|
+
"game",
|
|
20218
|
+
"games",
|
|
20219
|
+
"ai",
|
|
20220
|
+
"ai-made",
|
|
20221
|
+
"ai-game",
|
|
20222
|
+
// Languages: the game's own field, with its own filter (`lang`), not a theme.
|
|
20223
|
+
"english",
|
|
20224
|
+
"polish",
|
|
20225
|
+
"polski",
|
|
20226
|
+
"german",
|
|
20227
|
+
"deutsch",
|
|
20228
|
+
"french",
|
|
20229
|
+
"francais",
|
|
20230
|
+
"spanish",
|
|
20231
|
+
"espanol",
|
|
20232
|
+
"italian",
|
|
20233
|
+
"italiano",
|
|
20234
|
+
"multilingual",
|
|
20235
|
+
"en",
|
|
20236
|
+
"pl",
|
|
20237
|
+
"de",
|
|
20238
|
+
"fr",
|
|
20239
|
+
"es",
|
|
20240
|
+
"it"
|
|
20241
|
+
]);
|
|
20242
|
+
function normalizeTags(tags) {
|
|
20243
|
+
const themes = [];
|
|
20244
|
+
const genres = /* @__PURE__ */ new Set();
|
|
20245
|
+
let multiplayer = false;
|
|
20246
|
+
for (const raw of tags) {
|
|
20247
|
+
const cleaned = raw.trim().toLowerCase().replace(/^#+/, "").replace(/[\s_]+/g, "-").replace(/[^a-z0-9-]/g, "").replace(/-+/g, "-").replace(/^-|-$/g, "");
|
|
20248
|
+
if (cleaned.length < 2) continue;
|
|
20249
|
+
const tag = TAG_SPELLINGS[cleaned] ?? cleaned;
|
|
20250
|
+
if (MULTIPLAYER_WORDS.has(tag)) {
|
|
20251
|
+
multiplayer = true;
|
|
20252
|
+
continue;
|
|
20253
|
+
}
|
|
20254
|
+
if (DROPPED_TAGS.has(tag)) continue;
|
|
20255
|
+
const genre = isGenre(tag) ? tag : GENRE_WORDS[tag];
|
|
20256
|
+
if (genre) {
|
|
20257
|
+
genres.add(genre);
|
|
20258
|
+
continue;
|
|
20259
|
+
}
|
|
20260
|
+
const hinted = THEME_GENRES[tag];
|
|
20261
|
+
if (hinted) genres.add(hinted);
|
|
20262
|
+
if (!themes.includes(tag)) themes.push(tag);
|
|
20263
|
+
}
|
|
20264
|
+
return {
|
|
20265
|
+
tags: [...themes.slice(0, MAX_THEMES), ...multiplayer ? [MULTIPLAYER_TAG] : []],
|
|
20266
|
+
genres: GENRE_IDS.filter((id) => genres.has(id)).slice(0, MAX_GENRES)
|
|
20267
|
+
};
|
|
20268
|
+
}
|
|
20269
|
+
|
|
19936
20270
|
// ../shared/src/ids.ts
|
|
19937
20271
|
var PUBLIC_ID_LENGTH = 10;
|
|
19938
20272
|
var PUBLIC_ID_PATTERN = new RegExp(`^[a-z0-9]{${PUBLIC_ID_LENGTH}}$`);
|
|
@@ -20071,6 +20405,12 @@ var gameFieldSchemas = {
|
|
|
20071
20405
|
description: memberText().max(500),
|
|
20072
20406
|
engine: external_exports.enum(ENGINES),
|
|
20073
20407
|
madeWith: external_exports.array(memberText().min(1).max(40)).max(5),
|
|
20408
|
+
/** 1–3 from `GAME_GENRES` (D103). */
|
|
20409
|
+
genres: genresSchema,
|
|
20410
|
+
/**
|
|
20411
|
+
* Themes: the setting or subject, like space or casino (D103). Up to 5 are accepted, so older
|
|
20412
|
+
* juicy.json files keep publishing; `normalizeTags` keeps 3 when they're saved.
|
|
20413
|
+
*/
|
|
20074
20414
|
tags: external_exports.array(tagSchema).max(5),
|
|
20075
20415
|
/** The languages a player can play it in, the default first. Each one counts once. */
|
|
20076
20416
|
languages: external_exports.array(languageSchema).min(1, "list at least one language").max(10).transform((codes) => [...new Set(codes)]),
|
|
@@ -20098,6 +20438,11 @@ var manifestSchema = external_exports.strictObject({
|
|
|
20098
20438
|
entry: relativePath("entry").refine((path2) => /\.html?$/i.test(path2), "entry must be an .html file").default("index.html"),
|
|
20099
20439
|
engine: gameFieldSchemas.engine.default("other"),
|
|
20100
20440
|
madeWith: gameFieldSchemas.madeWith.default([]),
|
|
20441
|
+
/**
|
|
20442
|
+
* The game's genres (D103). Left out, a publish keeps the game's; CLI 0.14.0 and later's `check`
|
|
20443
|
+
* requires them.
|
|
20444
|
+
*/
|
|
20445
|
+
genres: gameFieldSchemas.genres.optional(),
|
|
20101
20446
|
tags: gameFieldSchemas.tags.default([]),
|
|
20102
20447
|
/** Who the game is for (D78). Left out, a publish doesn't change what the game has. */
|
|
20103
20448
|
ageRating: gameFieldSchemas.ageRating.optional(),
|
|
@@ -20166,13 +20511,22 @@ var moderationCommentSchema = memberText().min(1, "write a comment for the creat
|
|
|
20166
20511
|
LIMITS.maxModerationCommentLength,
|
|
20167
20512
|
`comments are at most ${LIMITS.maxModerationCommentLength} characters`
|
|
20168
20513
|
);
|
|
20514
|
+
var moderationGroundSchema = external_exports.enum(MODERATION_GROUND_IDS, {
|
|
20515
|
+
error: "pick the rule it breaks"
|
|
20516
|
+
});
|
|
20517
|
+
var moderationReasonSchema = external_exports.object({
|
|
20518
|
+
comment: moderationCommentSchema,
|
|
20519
|
+
ground: moderationGroundSchema
|
|
20520
|
+
});
|
|
20169
20521
|
var requestChangesRequestSchema = external_exports.object({
|
|
20170
20522
|
reviewId: external_exports.uuid(),
|
|
20171
|
-
comment: moderationCommentSchema
|
|
20523
|
+
comment: moderationCommentSchema,
|
|
20524
|
+
ground: moderationGroundSchema
|
|
20172
20525
|
});
|
|
20173
20526
|
var rejectVersionRequestSchema = external_exports.object({
|
|
20174
20527
|
reviewId: external_exports.uuid(),
|
|
20175
|
-
comment: moderationCommentSchema
|
|
20528
|
+
comment: moderationCommentSchema,
|
|
20529
|
+
ground: moderationGroundSchema
|
|
20176
20530
|
});
|
|
20177
20531
|
var rerunReviewRequestSchema = external_exports.object({
|
|
20178
20532
|
reviewId: external_exports.uuid(),
|
|
@@ -20183,11 +20537,13 @@ var rerunReviewRequestSchema = external_exports.object({
|
|
|
20183
20537
|
});
|
|
20184
20538
|
var blockGameRequestSchema = external_exports.object({
|
|
20185
20539
|
gameId: external_exports.uuid(),
|
|
20186
|
-
comment: moderationCommentSchema
|
|
20540
|
+
comment: moderationCommentSchema,
|
|
20541
|
+
ground: moderationGroundSchema
|
|
20187
20542
|
});
|
|
20188
20543
|
var warnMemberRequestSchema = external_exports.object({
|
|
20189
20544
|
userId: external_exports.string().min(1),
|
|
20190
20545
|
comment: moderationCommentSchema,
|
|
20546
|
+
ground: moderationGroundSchema,
|
|
20191
20547
|
gameId: external_exports.uuid().optional()
|
|
20192
20548
|
});
|
|
20193
20549
|
var recheckRequestSchema = external_exports.object({
|
|
@@ -20203,6 +20559,8 @@ var updateGameRequestSchema = external_exports.object({
|
|
|
20203
20559
|
description: gameFieldSchemas.description.optional(),
|
|
20204
20560
|
engine: gameFieldSchemas.engine.optional(),
|
|
20205
20561
|
madeWith: gameFieldSchemas.madeWith.optional(),
|
|
20562
|
+
/** 1–3 genres from the list (D103). */
|
|
20563
|
+
genres: gameFieldSchemas.genres.optional(),
|
|
20206
20564
|
tags: gameFieldSchemas.tags.optional(),
|
|
20207
20565
|
/** `null` clears it. Refused once an admin has set the game's rating (D78). */
|
|
20208
20566
|
ageRating: gameFieldSchemas.ageRating.nullable().optional(),
|
|
@@ -20236,6 +20594,21 @@ var REPORT_REASONS = [
|
|
|
20236
20594
|
"spam",
|
|
20237
20595
|
"other"
|
|
20238
20596
|
];
|
|
20597
|
+
var PROFILE_REPORT_REASONS = [
|
|
20598
|
+
"inappropriate",
|
|
20599
|
+
"sexual_or_illegal",
|
|
20600
|
+
"impersonation",
|
|
20601
|
+
"personal_info",
|
|
20602
|
+
"spam",
|
|
20603
|
+
"other"
|
|
20604
|
+
];
|
|
20605
|
+
var reportProfileRequestSchema = external_exports.object({
|
|
20606
|
+
reason: external_exports.enum(PROFILE_REPORT_REASONS),
|
|
20607
|
+
details: memberText().max(
|
|
20608
|
+
LIMITS.maxReportDetailsLength,
|
|
20609
|
+
`details are at most ${LIMITS.maxReportDetailsLength} characters`
|
|
20610
|
+
).optional()
|
|
20611
|
+
});
|
|
20239
20612
|
var reportGameRequestSchema = external_exports.object({
|
|
20240
20613
|
reason: external_exports.enum(REPORT_REASONS),
|
|
20241
20614
|
details: memberText().max(
|
|
@@ -20402,34 +20775,50 @@ var GAME_FEATURES = [
|
|
|
20402
20775
|
{
|
|
20403
20776
|
id: "touch",
|
|
20404
20777
|
name: "Touch controls",
|
|
20778
|
+
summary: "The game plays on phones and tablets, with on-screen controls or taps and swipes.",
|
|
20405
20779
|
adds: "On-screen controls, or taps and swipes, so the game plays on phones and tablets.",
|
|
20406
20780
|
why: "Many players open links on their phone; without touch they can only watch.",
|
|
20407
|
-
detection: { kind: "declared" },
|
|
20408
|
-
status: "
|
|
20781
|
+
detection: { kind: "declared", input: "touch" },
|
|
20782
|
+
status: "available",
|
|
20783
|
+
recipe: "reference/touch.md",
|
|
20784
|
+
task: "add touch controls so the game plays on phones and tablets",
|
|
20785
|
+
docs: "/docs/publish#touch"
|
|
20409
20786
|
},
|
|
20410
20787
|
{
|
|
20411
20788
|
id: "gamepad",
|
|
20412
20789
|
name: "Gamepad support",
|
|
20790
|
+
summary: "The game plays with a controller.",
|
|
20413
20791
|
adds: "The game plays with a controller through the browser's Gamepad API.",
|
|
20414
20792
|
why: "Some games just feel better on a controller, and couch players expect one to work.",
|
|
20415
|
-
detection: { kind: "declared" },
|
|
20416
|
-
status: "
|
|
20793
|
+
detection: { kind: "declared", input: "gamepad" },
|
|
20794
|
+
status: "available",
|
|
20795
|
+
recipe: "reference/gamepad.md",
|
|
20796
|
+
task: "add gamepad support so the game plays with a controller",
|
|
20797
|
+
docs: "/docs/publish#gamepad"
|
|
20417
20798
|
},
|
|
20418
20799
|
{
|
|
20419
20800
|
id: "mouse-lock",
|
|
20420
20801
|
name: "Mouse lock",
|
|
20802
|
+
summary: "Aiming or steering with the mouse keeps the cursor in the game.",
|
|
20421
20803
|
adds: "Games that aim or steer with the mouse lock the cursor (Pointer Lock), so it can't leave the game.",
|
|
20422
20804
|
why: "Without it, turning fast drags the cursor out of the frame or onto another screen, and the game stops responding.",
|
|
20423
20805
|
detection: { kind: "declared" },
|
|
20424
|
-
status: "
|
|
20806
|
+
status: "available",
|
|
20807
|
+
recipe: "reference/mouse-lock.md",
|
|
20808
|
+
task: "add mouse lock so aiming or steering with the mouse keeps the cursor in the game",
|
|
20809
|
+
docs: "/docs/publish#mouse-lock"
|
|
20425
20810
|
},
|
|
20426
20811
|
{
|
|
20427
20812
|
id: "auto-pause",
|
|
20428
20813
|
name: "Auto-pause",
|
|
20814
|
+
summary: "The game pauses when its tab is hidden or the window loses focus.",
|
|
20429
20815
|
adds: "The game pauses when its tab is hidden or the window loses focus.",
|
|
20430
20816
|
why: "Players who switch tabs for a moment don't come back to a lost game.",
|
|
20431
20817
|
detection: { kind: "declared" },
|
|
20432
|
-
status: "
|
|
20818
|
+
status: "available",
|
|
20819
|
+
recipe: "reference/auto-pause.md",
|
|
20820
|
+
task: "make the game pause by itself when its tab is hidden or the window loses focus",
|
|
20821
|
+
docs: "/docs/publish#auto-pause"
|
|
20433
20822
|
}
|
|
20434
20823
|
];
|
|
20435
20824
|
function gameFeature(id) {
|
|
@@ -20460,9 +20849,14 @@ function featureState(feature, input2) {
|
|
|
20460
20849
|
canAdd: languages.some((language) => !language.has)
|
|
20461
20850
|
};
|
|
20462
20851
|
}
|
|
20463
|
-
case "declared":
|
|
20852
|
+
case "declared": {
|
|
20853
|
+
const { input: inputKind } = feature.detection;
|
|
20854
|
+
if (inputKind && input2.input?.includes(inputKind)) {
|
|
20855
|
+
return { feature, status: "on", canAdd: false };
|
|
20856
|
+
}
|
|
20464
20857
|
if (input2.declared === null) return { feature, status: "unknown", canAdd: false };
|
|
20465
20858
|
return { feature, status: declared ? "on" : "off", canAdd: !declared };
|
|
20859
|
+
}
|
|
20466
20860
|
case "marker": {
|
|
20467
20861
|
if (input2.detected === null) return { feature, status: "unknown", canAdd: false };
|
|
20468
20862
|
const status = input2.detected.includes(feature.id) ? "on" : declared && input2.complete ? "missing" : declared ? "on" : "off";
|
|
@@ -21371,7 +21765,7 @@ var LIBRARY_BUILD_SHA256 = [
|
|
|
21371
21765
|
"06d9ef9823e743518793083c296d801e752db128cb1f519fbabe37e1259567ea",
|
|
21372
21766
|
"8c7c745f667a9b352574044d6ce8d8e76705a6932c79b6bcb53db34a5e22ea76",
|
|
21373
21767
|
"66257bc46776898bf8c54daaed402ed8f9ac109379c47b2dfa8aa048544d2953",
|
|
21374
|
-
// Babylon.js 8.0.0 to 9.
|
|
21768
|
+
// Babylon.js 8.0.0 to 9.35.0 (babylonjs)
|
|
21375
21769
|
"1bae68431a43a3cf19ffb331f409c468c6081279b6c56044201b7cfc1caf7b84",
|
|
21376
21770
|
"92b8d44ef55a5814cb4df2449d6441609c3122a2da21b0d6845474e51c89680c",
|
|
21377
21771
|
"cceac5f99c07499e6a964df37d25be2af0223ee38524c22715c7a88039ea7d4d",
|
|
@@ -21553,7 +21947,9 @@ var LIBRARY_BUILD_SHA256 = [
|
|
|
21553
21947
|
"58c486bececb6cde67b188e6410321e72d1d051ea7a9e5f23c560b6049ab37a5",
|
|
21554
21948
|
"205cf307e8e08e94ad7f2019ac355f25fd0f8b31e7de0945af359bc51582f6a8",
|
|
21555
21949
|
"43855891960ce3d0ab516e6311bc61d041a19ac6d3e7403daea4633f2bdd29e5",
|
|
21556
|
-
"
|
|
21950
|
+
"2ae6ffbd40907560bca527383cd3e17835d3d3d0a2a03ddc16457c3ff5f58dde",
|
|
21951
|
+
"03318b7abf244c774562c4f4677e23e5ee6aff333332930e9f2336ec62e0a1bc",
|
|
21952
|
+
"e7489b1ba1044cb296b6cad3a5732309cc18fdc6873fd009dc585de34e4388e2",
|
|
21557
21953
|
// PlayCanvas 2.0.0 to 2.23.3 (playcanvas)
|
|
21558
21954
|
"6d0ead85394726fbea661d014ab68951fa4eb5e4e1637f46aec33c72a1d15e14",
|
|
21559
21955
|
"771cdd978d4f3cb0a17645adfab8a4603af91f8db110ef7787907c5fe5a472ac",
|
|
@@ -21940,7 +22336,760 @@ var LIBRARY_BUILD_SHA256 = [
|
|
|
21940
22336
|
"29566790f4d4ebf4586c3d89c61f40388a0e9a2630e1c208af7b83d87571f206",
|
|
21941
22337
|
"81343a465947066ec1cd91a1ab88fe83591234159f4f55bcdf44073822c0bd9e",
|
|
21942
22338
|
"736c339444c88baad593e24afdf1d6e8f574019b4e37a110ecb453ff745ffd41",
|
|
21943
|
-
"e7b836445d8c44bddc99b7678fa336a9d5c5ede27cc709c5fae8b1748ba7431b"
|
|
22339
|
+
"e7b836445d8c44bddc99b7678fa336a9d5c5ede27cc709c5fae8b1748ba7431b",
|
|
22340
|
+
// LittleJS 1.9.0 to 1.29.1 (littlejsengine)
|
|
22341
|
+
"00cd40249c0fa04ccb7401b22858d07a111b0fed188621589b33abb3fbb2aac5",
|
|
22342
|
+
"73c79da863ab22b6dd8e998c87c9521b3a537a8786e1563dde6ca3b162f6d799",
|
|
22343
|
+
"ba28285aa34ae57564627ff5a3ffd21c9f9cad6c1f281df74e76637084bbcd87",
|
|
22344
|
+
"dd5ab2a075140e7ccff18f5d8946391f20a75ae64abc63d432a7d02e248cb636",
|
|
22345
|
+
"9aa25491fb2802affb67d972143d46635d286e4e640587cb7aad372efcd4456c",
|
|
22346
|
+
"57382fb3b8bd7a87f50927746ffa2fcd612fac4d744da4952aa97eadaf6c73c5",
|
|
22347
|
+
"42a576331fbe80ceb60f5a798df8d5e5d5f3c92dc6db6b556087a7555e184784",
|
|
22348
|
+
"6952b8cc94b30cfca6c833e42f1b838f9e72c04aa63144a3de20d0367c7752be",
|
|
22349
|
+
"86a4e8f952fb27effe642d65fa9f9e60404fa1ae7244b5edd67bee698dc81416",
|
|
22350
|
+
"11c45d283f19ebaf1850f41e83287a231ffc65a0e60dd67d5bd033fe4df1f60f",
|
|
22351
|
+
"809ef23477050f141971f13146595d2aca40b80db5f59990f9b91b8cfcb116c6",
|
|
22352
|
+
"b106fe6c0c14a813a5f90c607a457161543d952053ea17f3ccca0a038011c3cb",
|
|
22353
|
+
"6e239353e4a633f4af15487b67d9e801ffccbd3f2377dfe31f4387af7848b080",
|
|
22354
|
+
"7763cb085e9bc157ea5530e7d42fcb12675013af729d96876cd8281b8c170464",
|
|
22355
|
+
"288860611ff54d9278f2180616f18d45e3c111fff97e18f44f55a50836d0fbad",
|
|
22356
|
+
"2bf28983b7bfa76da140d9bf0f3b36bbd8fae0565f1c17fc6113fc02557ee669",
|
|
22357
|
+
"8fa49653dd958c90ed50d4d6dee85c7c0a0c0eb06afe2b346488319b68aaafb0",
|
|
22358
|
+
"bf8c776860bc8750c3268650ab9535f445834e7b38534a4fe540a1c4a0707d06",
|
|
22359
|
+
"b8786d593352f89b2d047c7b3d8bbadb8db20bfeeea91c87910b93d027569cc9",
|
|
22360
|
+
"20eb4da538f3e9e15277c2238ff607b3893f20363b46f46b305fdc6505993393",
|
|
22361
|
+
"cb170e74fd6e25ae493e1b8dc35c09c9dd228f48649b50d205cb9d77d5b0ebea",
|
|
22362
|
+
"914de13a49626e74da3279e874605059ed49dab3cf0e83caacd4944a617a0d15",
|
|
22363
|
+
"e18f9977ad616d30008c14d048ad740f831fd8bc88f8861630e44f7ad0536c7f",
|
|
22364
|
+
"7e971182d08820cf013accac0c6f0ed564cc32c932ca8ee53862d400d1a38f3a",
|
|
22365
|
+
"ab96e62b6476ff8c45ab75ad79d4ad49cc3250ef0266095eb1fc2563cd427ade",
|
|
22366
|
+
"f9caf97a27520e9501fb0cf2496dbfc1b02041c4d069559a4247a09184feb0fb",
|
|
22367
|
+
"3ced9a51576370413a0f293eb1be4dd8585d94d4c80632654b06b340284f3258",
|
|
22368
|
+
"44465002e9e15c483d0020436508ae342c3b4cba00d46400d4f6210cf16afa51",
|
|
22369
|
+
"c257eb35d445d117670bf3b581e58ac2e0e3a7b3b57c07f9db5939e62a3e3e63",
|
|
22370
|
+
"5c1cba1f87b64af4e5011fa8d8156a4269c699cfde975f8ab81d7412b6d9c624",
|
|
22371
|
+
"6972b85efff9acc51e6ffd5e3df2732029246b107e0c60b4659f679fa5fddfea",
|
|
22372
|
+
"5c532ba21bab104264d711851bc7669b5038cffc72c34d6833dfeb550d498b29",
|
|
22373
|
+
"fdc2f4b103f2e91c1775bd28e55db9f7d8fedb2d8cfe52840b58f94b0f59de09",
|
|
22374
|
+
"01464f975da25ed0b1e6316b797335a4c51e5d6a665052e5cbd58d7b66d69a8b",
|
|
22375
|
+
"a420db41469af2f5ef8266ab2d50a643a8d1cc3983fe825a0ffed46b6514935b",
|
|
22376
|
+
"2e5b3db739bc31d99e08a2272a8ce9d5e579ba883d40bccd0f9325887f8ab656",
|
|
22377
|
+
"026611e0082628f3c44dd1270932ff75d1b5d1b116418819541cea0d31a5253e",
|
|
22378
|
+
"a0ddff8f4925413bc50938f90b0e92db91fdda34916f18889447f23604782598",
|
|
22379
|
+
"d10b7ec283eeee9a39b9a5298ab2b2cc092f84ae53be392d75487dad9a9dd47f",
|
|
22380
|
+
"b7c41d65d3d77c80715698f12837eb5e3243e8ffc0ffde6003fe919be564fe16",
|
|
22381
|
+
"17ba0a8598dfaa94ce20ccb04358cb226069737c997153ffe0eceb60e43b332f",
|
|
22382
|
+
"2eb6f0df7d262589ed7c6aaa28a6d20e5a509b1bc7aece7709bdce20683db10e",
|
|
22383
|
+
"989447fdcf428a85282fcc822c1f9f3cbf59cc0002e2f9a2796f74ef8ffc921a",
|
|
22384
|
+
"87ea37450c31442d6ab3b3084f189dbf18ee7c63c8ff2098f772ae4beaf6a01d",
|
|
22385
|
+
"c9a56c5dd2b909c665f8fbabcb7d14e62f6ad156fda764c63c8689541891ab03",
|
|
22386
|
+
"aab4f49a6b3f100c7c4a516f5465b708c40049986a2f0f2854e2bea21158d311",
|
|
22387
|
+
"50435207ae7eef47f235e450b6b3d8d58d6e42341afb0107a6baeccfe3e07ee7",
|
|
22388
|
+
"474670bfc64879b841e1b45548b784d7e7a14bbf9ea6f1549a70da28e9e3d305",
|
|
22389
|
+
"156de7612e07a7df68810b4b5f26545b7968ead57e61b13ab5108d5ceb69756c",
|
|
22390
|
+
"112c05f9abb5944a97b8d206f1e1817b2597e57f71b2524d227a41c917c56549",
|
|
22391
|
+
"2a3b0c188e8681794f0d86c1f1c66ad9fcb7d90be7e0bb39243b13cd442cb8b2",
|
|
22392
|
+
"48eabc2e146a4279c6dea003eeb763c6ee2710dc72e83fa0da5e9e1802dc8a01",
|
|
22393
|
+
"13da65eafde7fb158a72c8441e606c0c5bf988b94a1ec6a9877038ce58c5619c",
|
|
22394
|
+
"9d5f684a3cf089101575145f4510a21f72d6f9d1f9c0af7e16b8fbfad7c0a239",
|
|
22395
|
+
"052141aa2b1e43360d992c934e2360b280bbc9ad6a2320525e03b3cfdfaa32cc",
|
|
22396
|
+
"d513974bb941e136323f42b508a0be2eda4700a7fd903661534bbbbefb9d8bb1",
|
|
22397
|
+
"ce126985daa0720478b194f22f4b227af5cdaa279aa6f81055014d7ba081b67d",
|
|
22398
|
+
"c4eafd8523d1f53bec2b021580b42e2282d366c350a4deebaf5489e74f98a7b4",
|
|
22399
|
+
"8abec922df287ab3ebb07387d322049174f7883b141de5f800c236ba469a4ee8",
|
|
22400
|
+
"66041478ca7e8860a471a07d25d10c0da926042a92b12504b42409e2d27fccd2",
|
|
22401
|
+
"75f1a2b22d63bf57e7f907c1897b45fa11367a2b3fed2d2711be6c8fee2f36de",
|
|
22402
|
+
"63ffd65332b68aa3b04195f9720c6242f34af0651fea6dbdc94181f3d4be557b",
|
|
22403
|
+
"9077b4a74d372270bf2af2a8fb8a5140b692cfcbcbcb6a8a364d3a138ef11473",
|
|
22404
|
+
"72aa431d963c1bbc927aacb24a6e34c9af2930275de50775a73288197637f9fa",
|
|
22405
|
+
"63492e6a104f19066967e256c8a6b88855bbf4a0976296f73a839daa8ae738e9",
|
|
22406
|
+
"319c7bbb26be588ead30963c9dd2541336f23442064d465b0e97e3f473b2b4db",
|
|
22407
|
+
"9eabb4f3c3cfec887ec65a8a11ef00607cb281d9e0b1ffb5f21f5d8d938eeec5",
|
|
22408
|
+
"175a0eed1d6df249e5f5f4c1d1f280533af5787eeaeac081284459ad2c58119f",
|
|
22409
|
+
"842a7011658b94f40544d9a51b0f89404696352f63eb1f1f470a7bf71a6dff6a",
|
|
22410
|
+
"b646bf20c3858a3e5ca2621202d4bbeb062d7ec9525809def37ba392ad46c75c",
|
|
22411
|
+
"bc8e0db89d6dd868ffb72a5f33d46046c1f1e3882a88bf0e5deea45e0f0039f5",
|
|
22412
|
+
"ceb4d57731fac77160dccbb5949f3f5043ec0150ebcd80e54c1ca7017863c6ef",
|
|
22413
|
+
"98db664285c47a3645d51cd6dd9b57d888b7eb78e9e6bb0f7e56c81701f4f572",
|
|
22414
|
+
"8cce03e808a643d46fa720ac9711999c1845cedc546473477f13b06ff3761b73",
|
|
22415
|
+
"d5c241b5bf22e37d77d4afb8c6b8dc0c61ab60b52ec229ed2165036bf0a1c1fd",
|
|
22416
|
+
"88d6bc907ecb9002c9c9882379db452509b67b467aace8d84ac2db6a8fca05a7",
|
|
22417
|
+
"62366405baec9d1fe648af4a5b0d0ab3b868d5c7d3dd763f129caa90e48df326",
|
|
22418
|
+
"c92fe3fbf17868b92de9f30d053351e29249f81a9537ea1a0c9643b98ce6477b",
|
|
22419
|
+
"bd5335b6421a20d95a7a0b6bf0407c3d5a8b134bf5b25e1d61f08159e6ada827",
|
|
22420
|
+
"d969de5a4fa5706108e3d33c24882a8ed4112a660ddfe9a057b1f4621bb9fbca",
|
|
22421
|
+
"4917b4acfcf87b07353c76165a2f26a82f1852f1a16ba7926600f09077d48f20",
|
|
22422
|
+
"d788c97aa13eb1d2ac8ec65210a88048482fc8613b0e2e7d7c89837086fd765c",
|
|
22423
|
+
"e8ee1118fc5a6b4e3939ace9cab36c9c5f3b2601ae1eb4f2e0d203449d1afcc3",
|
|
22424
|
+
"a6fee95c5202fbf16cc1bc41aaf541bbf2e656024b67e3d5d1b5643b0a721523",
|
|
22425
|
+
"642c167f0ca0c62dd9459589cae69cfa5c474035d3e533523dac9a5f154a755d",
|
|
22426
|
+
"bf6b6743e87522b571767b718cbe8886578b2340eea36ec10d2d74ce690251da",
|
|
22427
|
+
"5974f8859fd6f23ae332423aae8e02ebf3773de5ac997ab7079ea9a0d4043ea3",
|
|
22428
|
+
"35f6bdb965e31ebb29eecb62b92750f37e9ce4bbf8bf561f6eb75fd3653ceb14",
|
|
22429
|
+
"4d1eb2b06d7680465d304b26be4d15bd02b024c102eefa4c5b82afba68755ea7",
|
|
22430
|
+
"711410eb1472bb611010fadbe369675ed67c7c549e4cf6f9ad6cb476d862929b",
|
|
22431
|
+
"1f8aad327b788b386fe0b41045d532a973832356531b9ef2c88636934f523c1b",
|
|
22432
|
+
"51de9893cb7bd652a21db28de9db07344a51a1f884452b34d91dd61d54afe0de",
|
|
22433
|
+
"bd25b78d82aa605f2f48802e21d113d5824d25fbf916dfd570f4e9e212f257f7",
|
|
22434
|
+
"14a789f9f2500ed0c3817b82584b68083d8838fda6fe2c31569e44affb58143b",
|
|
22435
|
+
"e29ec2a7f182253bf843935b755ea520e3f6455c0299dee68dd301a84dc185eb",
|
|
22436
|
+
"a8425aeb23fb213f2a31feb3cdd6508f08b38b48ddf27fd370dd374b067d9935",
|
|
22437
|
+
"026911af9571fc29394dbba01d3b57a34addc3540b80e1ce95c014ef994c4c9d",
|
|
22438
|
+
"5963a34f70a94dacbcfd412e995e5b330e4ee99b724293c992352cfd3ba6b720",
|
|
22439
|
+
"436719eac9525bd02e0b65a8ac67c5db5f04f1d5fb71fdd8d031cf93cff285d0",
|
|
22440
|
+
"3a249402734e3050dcf4b48e75848947a1ddfa8b5b2b552d4a9eebeeb4dbf7c9",
|
|
22441
|
+
"abb799fbe5e43b7801980c5d428f19d3e3f06616cf6b0572e4c35cd0fca48540",
|
|
22442
|
+
"c656fede3ceba9ca686efbc8873db4d2dd4de79f385ec6ab88c3f29aedb40f14",
|
|
22443
|
+
"3f4c4468e4071068e79d7878ad0e49eb81332db3c5026069baebee36334599c5",
|
|
22444
|
+
"ac0600273f2b53de90b3f8918f2c404f85f76cf7c0b2f82f752450b471f91262",
|
|
22445
|
+
"67068a3203fcddef44276d00c9079536116d6acad70207fb06f345e765697e09",
|
|
22446
|
+
"3551043667b825dd48c6e0fa23441f386919e7658dd192df65a45b7ade3c6053",
|
|
22447
|
+
"da3b23255ddbfe1b3f461e389a5c4139f56337cb29ab6ac23338372d73a8eccf",
|
|
22448
|
+
"1893d5a94b2d6f4ee251aa9c9d8511fea6ab7d75a6edffca06282dd632a9c7d9",
|
|
22449
|
+
"3daf0d3692f38d1245e03cee5c4a5f2a337365f5eee1f829095bf5099c8ba10d",
|
|
22450
|
+
"729a4adb0995314d38bc7fad408f55322cd34ca2d069d244e13523a0d48b23d0",
|
|
22451
|
+
"be20a9d0240ef18dd64b926596fdbb185b359017083838effb90f200c3316fbb",
|
|
22452
|
+
"898afbb8c0020a7ee7ac2cc573667b1baa3ca76fbd6c0a75c4f858de88e8f8b0",
|
|
22453
|
+
"7f37f1851507d1802283769986bb2908ea558a259ba697ff860ac1c779f864c7",
|
|
22454
|
+
"0e25233a7ef8c84ba3551d4162bc11e45818a85420aa1734cce61bcf794a0cf0",
|
|
22455
|
+
"2eae5f52c0f532934cea2a43515207d212dd001dee86afad7187ca980c31e999",
|
|
22456
|
+
"f8eeee8185576f07c164516132d8db59abfb8b1d1f6bb4526e29c3940a442b85",
|
|
22457
|
+
"404e3951046f9a27ecd7c48d64213a8b7c2aeb7e24d3725bdcafe2653b095eb7",
|
|
22458
|
+
"efd601cbe4840811eb45db096bdbb9a93ca7a7d5decc509b679e27007e34b923",
|
|
22459
|
+
"060b510d99928e1ff46519f2339381fcda6d96df35109a0044ef3586ea14157d",
|
|
22460
|
+
"490c4a2d9fcbff9559f4aa28c3af3705f82b6e277e94ebe3a9045e445bbd31ea",
|
|
22461
|
+
"0c629ba6f3302f0f49dfa467120ba2dfa9886b7c3b8ebbd222c3630c6bdfe049",
|
|
22462
|
+
"4e197a29799adeb92846cd18fea67cc6c6fcedd9b039f9a69e972d71db9ae8af",
|
|
22463
|
+
"01b28bb65461c6c0f0aed852fae8c4432dad868652f779125332accdb245b2ae",
|
|
22464
|
+
"6a52b8e03bf513b60be1f914aff24fa5f38fa2bb92f0b99f5dcbc99d5c49137f",
|
|
22465
|
+
"c3a107c8ea2d4bf84b52ee1ece55e811624b680fe9974bf1c600f9153d071819",
|
|
22466
|
+
"7863aae6be78a0d212cc48c26331cd240234ea8c862b1867adec8d756871681c",
|
|
22467
|
+
"46c683a9d8b8ecaab68e0df2460c8e3a2777760530d088536ae2ae14cc325522",
|
|
22468
|
+
"409e4325a33213df3ec38d5a72e4369560ac0ca95db2dcb9d708ff2517770217",
|
|
22469
|
+
"9e629142c48c0fd6b99c3b4345644f46496358a848ead3eae48ef36c7eb20b60",
|
|
22470
|
+
"b42172cfade42db6f6536c37a88efb686635ad060c3b079d34b749055039a87a",
|
|
22471
|
+
"e45965302b6d82ea7435f954bb732804107ae8d3d7d1364e5fd2d83839485ee5",
|
|
22472
|
+
"76dbcfded570970979e41ed0316282e5ee39ca3e3acfed24ad290f812a6e5b9a",
|
|
22473
|
+
"1ff96a27ba13d533adcd9eb6303e4c615dda69ddfd329032f73388f351503b09",
|
|
22474
|
+
"7801aa01b4f584fbe0f613531269332a7a51db3f3e185c8f5fefe483ffec78a7",
|
|
22475
|
+
"a6df5625368730c9a761e2139a0043a414133c90fb60dda2672baafe781a56f6",
|
|
22476
|
+
"062182b526d1f67dc26a7cb0962a65ca880680e0cb975310e57b7bed528feb09",
|
|
22477
|
+
"10e43bb2b0b2d48be150de8f413ad37feb9fb2838fbc9eb6911cc564cbccd397",
|
|
22478
|
+
"26835d442eed33ef9003fa61e1f50120eb94b8e96b716b9a722aa221a9cb71ab",
|
|
22479
|
+
"88e5fec75b409ffcd4107eadc1cedbced43e649379e09343843c86ce999d3adb",
|
|
22480
|
+
"f88149b1fa601661c0e5f6b593eed3f27d03d7d9a33d83626c734efe52c44711",
|
|
22481
|
+
"d404f94abc57b232b54214b32837496cb4d46400225d2e30fd57b0a8b34a8d88",
|
|
22482
|
+
"5d3ea13e229c488bfe7d8fba8d63491f11c95a796ceb9dd7b5f7e06e53ae39e3",
|
|
22483
|
+
"8c8207521169cd92d0801d08a7577b2b0634ee04801f14c88114ae9ab25c4186",
|
|
22484
|
+
"d0303a8404f4648a6b09c8aa818868bd6a766eba1b9f0fa5a961c1fe583126d1",
|
|
22485
|
+
"84df46cfeeffb5a8fbded03a9a85b099b7c34bc7e10b0ddae3bb170058c10bf8",
|
|
22486
|
+
"7e85297fea071a15e5910424d789eb74ce366faf6a97b5e39dfd3de0357ef142",
|
|
22487
|
+
"f15d1b73de8d9436fdb1311af3150d8712d1906b2ef706d4948d2f6378e9e584",
|
|
22488
|
+
"f712047f7562a743d916c05c8485ec104be8979b4c176a6a063993319bc2d3d8",
|
|
22489
|
+
"69117669b640127e135574626729b9a7808cc3dfa53f7570d73c0e700bd4a2fa",
|
|
22490
|
+
"12d4949e5e8940ca62845ad2b9d1b1ad267120e38f888897413038881dc7030f",
|
|
22491
|
+
"0c4828a77fa07990933ecc57e446e955d86725666612f03bee2f844eaffa6806",
|
|
22492
|
+
"7b964625893587743a35ff312b98456ca8f61d409d2f7bb63fdbc5893a924cbc",
|
|
22493
|
+
"9053fd96bd8ae5f54c291565a6e5d2afc74758562938a1e8a037f0f4962a3c31",
|
|
22494
|
+
"20e43239f7c4c323ff35736c640f9a0fa16c69a95c1a97b81f4618a82e2dd635",
|
|
22495
|
+
"b62a163ae6c0ed706094478413da96519ae5ac743deaf225be022ad0a09ba7d4",
|
|
22496
|
+
"9b44fbfa7bafbc1fb4d5026d1dceb895399af84d538247cb15ee67667f3dd9d0",
|
|
22497
|
+
"71cd280937bae32a0d00d692286a3a6f0c57640287c2ee57eb52594e349843c2",
|
|
22498
|
+
"10e17924f7d11f1e665488b22cc775aec1d8ff663541fcda5b03f12fbd44b4d3",
|
|
22499
|
+
"c3cc545252f50953b333f588af82db76a8f029792fcf024cbea92dd09ca4e330",
|
|
22500
|
+
"d9be22ee13237db25a29004eefdd2d6e83080cf329d1bc286450fae7979a319b",
|
|
22501
|
+
"e32f659cfb09d80af19f895084179d3a483bc44a242cd01b0db90ec261c02180",
|
|
22502
|
+
"6f86608e3a1c16f777f237379ea7165a1058a4b361e19f0cf6a5bc92be719a6e",
|
|
22503
|
+
"d3e0646037015ea5cd05d2d65453f49d00a2709f4f9ecd6b8f4337236c268791",
|
|
22504
|
+
"7eb8ff9b3b5647f07f1c5266edb7f4cf53e7cee1c7399c5991c10ff6fe3ddb90",
|
|
22505
|
+
"5195fa0201b127aeee9ebb4e831118a67e03dd74f93ef78b4fc5afb040f23da1",
|
|
22506
|
+
"acb14ff88b7185b56092508c2208906ebc2a4c198dda1402f8c93c2c1cf0b242",
|
|
22507
|
+
"bc2959f65390d73947252c5b58cd970cc175e7d4d408b934c931b8dfd1a3d684",
|
|
22508
|
+
"53566128db4ab25efb87439cd56c61ccc9209ee24a1fb9b364b9aba9e1852c3a",
|
|
22509
|
+
"1cf6176914fc082d53ab717bc764a4c170dc47cc76a370de54a1c4fbc0e16def",
|
|
22510
|
+
"44b8d9d2598c1dc01dea8ead1f2fc309229461939f8c26845e0bf2d1b75a2957",
|
|
22511
|
+
"7b61391fa9cfee261e31176f2843868eb9189ba5611f489daf7f9ae7b06a25a7",
|
|
22512
|
+
"c6e67f6cde7a3f8a96e618c577d2aeb5d15dbfcc03d10a98e17edfc0bc35cfd4",
|
|
22513
|
+
"325ec9e8963ef1cbe15fa9cecd5f43fa04408f95bd1f1474bd709d858e5d5225",
|
|
22514
|
+
"31bc5b250ebdb1b922bbf0dd63fab96b4fb5134751212fda4d19bdd573f90847",
|
|
22515
|
+
"da89ec30e0785dd2ea178d04c594fb879390e4cb91a805438a3bc42790f18337",
|
|
22516
|
+
"442190ccdf0c12fd267ebd471042be260511c0d2d6db26da8803c790f3071db8",
|
|
22517
|
+
"9dbdd519ef25876fb5eb69dc02d504a2a9f94c60750c1c7d04eb7b1f952dfe10",
|
|
22518
|
+
"722215fd1da5ed26d907c7aba0f819a3898e2b76514b9fc89ad0d00b777b7a12",
|
|
22519
|
+
"f5996721dcec60929a7a64592932167c7dca680bd3bcd40034b345194ef01a47",
|
|
22520
|
+
"ca87af3ddfbeb358af3d9cfb094af06594b5f6791d2924ff557800eb3f1263ba",
|
|
22521
|
+
"3c480b678a8f025794753dc425ee581ef7de288484bf0458638507179f64e93c",
|
|
22522
|
+
// melonJS 15.0.0 to 20.13.0 (melonjs)
|
|
22523
|
+
"092f90df8320fa0bc951cf4c8ae0b097b185bc3b0b14ecd4287252c10fb2cbe5",
|
|
22524
|
+
"8222a30c3c33cff2bb59e1dbb4775ab96431a93c517f5b22f74e1b53a983940b",
|
|
22525
|
+
"8fdb7f3916cc1d39fdac409bae9fa4d46b5c5f59c6a7ac1de43e7b4cbd80d94d",
|
|
22526
|
+
"b5279bf1a102eb401f19fda4e51edddcd3c9d2a8a87713eeb8f47db5dc97ed4d",
|
|
22527
|
+
"082c8366a890209f2b6aac5d18857b83cf436c61acdfe5dfad7dbbdb35c67b6f",
|
|
22528
|
+
"fb34c53731411844d6ea82fe31801e65f0b7ebf4a1420674386ef23ba4620b20",
|
|
22529
|
+
"67091896fbf229ac5a563e07b80d38e7888245f2b1616f21be9c4a48fea8f4b1",
|
|
22530
|
+
"3616e71d4c36ceb7831635c64735aa32bd9441833c80e7031629781ec27861b4",
|
|
22531
|
+
"2a36e6058ef9a45bb52f04d44821cd88290377ece25571c00318a57582e9726e",
|
|
22532
|
+
"e1816fa57d16fa8ef9db7fc1cad11de762b73dd5e0837c4af636d4f2de1a45a2",
|
|
22533
|
+
"021c99d87e8e36146bd125b1b4196fa409a832b13f2edd410f8026b62872965a",
|
|
22534
|
+
"c54429115d6d458a223bb66b4f92322403a1cafda50ce07edf4965e4983495ea",
|
|
22535
|
+
"7a285a2603b7c3cb50b18c4ade766d57d44bf7faa18dc09f99dad1ce09ac77a5",
|
|
22536
|
+
"83539e47d45b8008413c19281696a17840a0e03b2257238034908f048d4d274e",
|
|
22537
|
+
"9c0fa2c2ac18134eddb550c26ebbc1eb37e826759ec77d6abb385e6fb9ba0094",
|
|
22538
|
+
"7acef656778f8627b8b0912afbf5d0d24444d323fc90884dbed11cc35a8dfbfb",
|
|
22539
|
+
"f769c54539ab5ddcc15552e58458bec7c8a1b09079c38d8d79ae050fe612e92f",
|
|
22540
|
+
"9027658a3e6b683c33fce8a64466dcc1873647134b1e6323f76cc6356a3dd423",
|
|
22541
|
+
"a3bb90452c6ede1d45b2df185ba7c7038508883ee0fcf5ede42ff8f69e5ecc99",
|
|
22542
|
+
"c8470ddb75df7a8dd7e0f3b10e82dd0a1840d7aa81b6a5523cc7008f39d4a200",
|
|
22543
|
+
"34f66aaa9fc48b597e8c4be04e2da78180192e7011f428b94c6f6c61f0968df6",
|
|
22544
|
+
"406c0aade5e240b0524f4310de9ec7720eb863736bb6f6e5d1dcfa519374b2bc",
|
|
22545
|
+
"fa4d12c582f37803809aa5d69e955d478f5b9beaef667ca63ccf91cc9631bf84",
|
|
22546
|
+
"29a7df2ac08ded680ec633e7d961d5c2ac65abba01a1151178581eaf9b852aed",
|
|
22547
|
+
"120d67feff4964e390b293f5897f823b9a8f3532c82830a3b3ca5856971495b4",
|
|
22548
|
+
"6c6bb52d7ff6b4312e259da7f9b15a54f4fc41a6f478f2c6d84ff555e862d8d6",
|
|
22549
|
+
"635d7e365378587b195fd276342c451f5aeb064809ea39d051a8b7508b386d13",
|
|
22550
|
+
"dccabd6749ccd9df9ee609cd451be79ddfb28a3bb0c82287aacf7b01244ce25d",
|
|
22551
|
+
"8bd040af1fb395fa793134026bb0c17e1d0df1ec05e2de744098818e622b4c23",
|
|
22552
|
+
"210fd9618b31ee4fb2d2336e205a45a2b988dc8ea3d60b1dd839290dfc082c7f",
|
|
22553
|
+
"a3be9450c98001000b044a35b269b74c17214592e18b72e02bace2342995808d",
|
|
22554
|
+
"a7e0448cc5f4907de4d2452f35b4990215d6f5111ca6a45377ea03aad3ac3215",
|
|
22555
|
+
"2013ef21003b5c047136e40051e9e9748417e39d5a415c872242b602e3fe5cf8",
|
|
22556
|
+
"97f2896df9488dcc4aea3a2735e36c20e1edd867e31827b9dd3cec874cb447cc",
|
|
22557
|
+
"7c4130353a09d38f24739343caa73cd283126d332b4baa25b9c4e126f5a385d3",
|
|
22558
|
+
"f9b254cdbe34c545aa5b575f5f18d8a4a67004766c316f38cf34b7e3d5beb4b6",
|
|
22559
|
+
"ae1cc026c1d331e901929060f4f648dc7f57b046e998830136327f24575de8ff",
|
|
22560
|
+
"bac6b50b4c1eebb9517845d972d0b89a7682a8911e0ac50c3b7314df0878f6d0",
|
|
22561
|
+
"31b7eb63e340c9989783ff853535f11ed21ed8c25c4c3c0c742f0c4c698f2e89",
|
|
22562
|
+
"c9bf78dd1ca4a823b3b5d351fd35914b577af422bd79052fc88b07c5c5dc41cb",
|
|
22563
|
+
"30005070dd6749e0b7796112b78df17cfaaa4b3c36385ab9788a718f640c4e39",
|
|
22564
|
+
"84f396a5be1dfcc81771d2a59507b06df38bf7f694ca189ad1c770459325c77a",
|
|
22565
|
+
"40cefb675119e3fc22edaa4b365d97db9fb366aff8bff82bc81179064640e93a",
|
|
22566
|
+
"7e1abc4257cd54bd3a6f0fa092b2a81ad9d4762fea9717f94c483492129bd163",
|
|
22567
|
+
"d72ac51d8d9332ade7c0dc83a94dde6de34a2fcc25b896f6a4570802d3be4458",
|
|
22568
|
+
"f42adb24f8f0b79868071d0adbd35a2652eb930355928282e71dd0a5eb92fad2",
|
|
22569
|
+
"5b92856bb2195087ffa925fe3c87d119de52c8fbf0fd49df253be57ddf07d2e8",
|
|
22570
|
+
"2fba3e68d11b9bcb5f4da56ecd2562c5990134527b5061c7ede9a00200ab6e1d",
|
|
22571
|
+
"ce337a9082a848b66b64030449554c27a554774f8c64dbdec35c269e4b1ec344",
|
|
22572
|
+
"6bd00b46d45d845b924e6160784a67db1d045197f2cea66b295cc447b807a4c2",
|
|
22573
|
+
"4e77a9dc8c777a93f71a969bd780224c73dcb2303c90e9f2b7be0aa743511e8c",
|
|
22574
|
+
"174b87324818c3ca735fffec4f1b64489be2ceaabdafdde80967b78ddb9a7b66",
|
|
22575
|
+
"7adc4c7eab671d1147c1376d083f5e10c6f538b1083f4325ab049ec3cdd93ee0",
|
|
22576
|
+
"3cda60f2d45193ffc2884fccf1a8638779f601f3a11aef3f3db50dbb1d952eae",
|
|
22577
|
+
"57f7758ca0e5ea7d2849572b01a583ab31b71b79de393c9e54cdb8f66cfd7bf5",
|
|
22578
|
+
"410259e03455f3694a9dd919489e709f09892c58d09cca752ea563c99be2256b",
|
|
22579
|
+
"39aea0820f6d425d3a1d0deeebf3e9f12493a73ae71dffdf146f96e2c2e98b65",
|
|
22580
|
+
"78a2f9b343692669fee367af8679d68c5065c2537daad234c48880ff0e82c89a",
|
|
22581
|
+
"40debe4cc6726d98c864a8dfd5add6e9b1ae0a1f834e523b7ec993938dad31ac",
|
|
22582
|
+
"f380e86c834f5ce03e5ad110137a90792126b288a12fc45f0635c5616a2f8640",
|
|
22583
|
+
"91035204f65a62f42c23e6b9ea866776e9d1533ceabcb64b093612129933ea99",
|
|
22584
|
+
// Defold 1.9.0 to 1.14.0 (engine JS from d.defold.com)
|
|
22585
|
+
"edd44656d3e316bf41dbd5354e4bed7e08a259a21d08814b48f46e5e18ff2995",
|
|
22586
|
+
"8137f1f3620383f9d7ce697993a91c2b977f8299ee205efebc302b2e7cea5f5a",
|
|
22587
|
+
"d56478ffdda92a00e09a7919477087d8690868ea01fee80bd75e4c83ae870c3b",
|
|
22588
|
+
"b2a55b69b7412706dc2874f942df9ac61008400fea33f76da6f442cd68f84b4e",
|
|
22589
|
+
"8d69b8e7aea8f1b5a36c7c61030c1d477e07b26ae53ea6cb0d9a54b38a501f8a",
|
|
22590
|
+
"dfb41896d6489f693be5f0ca979852011946cc2a6e5c3946a163ac209fc2cee2",
|
|
22591
|
+
"2428c586a065e36e102267526fa8faa3b34e2c423f8d4c76711a5fd125630322",
|
|
22592
|
+
"a93ba20101e2c447e55e03be4282f41813d863f63186c9d12df94a2b336f8a73",
|
|
22593
|
+
"ba39f8e2dab0d9ac3a35e44b0a835efa5ec0f20e9941e9e2a1d1a9f3f05c0726",
|
|
22594
|
+
"250549b4306b659d04fc8ab41e46da0c75933badf92eebc3f550516a3fb250d0",
|
|
22595
|
+
"4bff5481922fc999807ce5e547cbce04e3b79c837ed0c1de003d94791a126d89",
|
|
22596
|
+
"556cf399bbfc7929f43d9b17b1c883290ce6ca0b60e5f40748f9228acbacc821",
|
|
22597
|
+
"abcd8dd6f041b60a3614379658e7c4c025a07f742ed19e92694b18c47ab7f0f4",
|
|
22598
|
+
"2219b98a2b7f4f30a5d3651cbc1142a160ea41425e2ca80eadd4593e1655cb5b",
|
|
22599
|
+
"7c2d1fb4fdbb75566f21c86fe553754d149aa70697484d40ea5053c3eb8b9751",
|
|
22600
|
+
"69fb226300f6a079333375647c7d5b4e8a0293d66fb7f0520f9ce5a108616f32",
|
|
22601
|
+
"d73d56a9b2bea1ec1257a6db1db426872ee2d6a049248f193ad839935499dfae",
|
|
22602
|
+
"686bf02fa77c0fd819568bbd0f572abc61addbedd29972090cc42bf230f8f1eb",
|
|
22603
|
+
"43af18b1b736d76856d29b4c390c521518eef552e94aaa09042aeaa0042a5456",
|
|
22604
|
+
"e333f54b561d6b88d07224aec05875d6e5d4351bd3c482c15d32f0beeb0df871",
|
|
22605
|
+
"d3066196fcbb399b4491c713d50a4c5a24ee959bcc98aa7107320f29c522c8d5",
|
|
22606
|
+
"8487f30189e7be13178e27cab5047a2ceca6be73d30019abe12cfdbd1b6ac531",
|
|
22607
|
+
"a70979e5561ee35fea8a6307512595cfef928b6569fec9bcdb043e6e088648ef",
|
|
22608
|
+
"6ed2db84ee98f01890ebe85a3d9b4ed2fa44d4f953071db7824fc30345a274a6",
|
|
22609
|
+
"737bf371e87e6ea1c44ffed9c1d4cf2ff444877eb3d0c666790f25babbba25ad",
|
|
22610
|
+
"e30865a8ddcdb353f1420113e24561fb1f729145f6a90d3d2887aacd1af59990",
|
|
22611
|
+
"a7cf6d0e8851401dabbbd76d2802ef9412758b1de953ac2d86224b71847cbcfd",
|
|
22612
|
+
"0d3b2081144008db26827391e3ee9d95432234e51dde05f13dfef3bc48fb5ce1",
|
|
22613
|
+
"1903209df167a302acbe1b603fcaf0ddad2afc4b837f48561b7101766c4f7832",
|
|
22614
|
+
"5b589934f1e167d07f02008b29369774f450496e652bd5562f1be36a644697fe",
|
|
22615
|
+
"aa8c2a6498c2d59a88b02f9cde2d70b463dda6e68bb0fa5fc3f250c2a0eedba8",
|
|
22616
|
+
"af94aeee57bc0242d468f1a4803dc11abe8c332a2264f9e406432d31d8245d5c",
|
|
22617
|
+
"2211a3195d5fb9299a12d2788b299edf268c674c21fe1a9e79323694ddb4cb65",
|
|
22618
|
+
"e6e9a090444faa01f0b081651392272b587fa26b4b7a81348cd613030606d0eb",
|
|
22619
|
+
"074819a40296ce0088fa1ea696f6714b746c5abcfd4c1768770b4c27e98c4e0e",
|
|
22620
|
+
"8d1ca645f93e848fd55d5583a1e0b7afcb0fb0654760888677ba8e8ba29503f8",
|
|
22621
|
+
"1fd5e5210dc953067fa226aa8ae9ba2afae6f5aa9546b0b38c2216cae1ade8e9",
|
|
22622
|
+
"2200c03fb91b69cea8f4841812210a7d429d416bc1246804684c24e0e68215f1",
|
|
22623
|
+
"876eee7996b35d3b3e9831b42a93a085024172c2eae58f01f876172304022ee9",
|
|
22624
|
+
"eb39f5fb3b6552c7932c7a73445d167e2cebbd63e816e2e145c805ef1b8060c6",
|
|
22625
|
+
"906a12e081ce00e567bb32f919a433a174ec5e179509a2405dbb448aa567eadf",
|
|
22626
|
+
"f39f411c5d268937e9d17c8ddc07164024e213d6a3687345254901021c3754eb",
|
|
22627
|
+
"108eb924165fc2336ba452d2160e30080be467cf047bc8d21129e1652a30a26b",
|
|
22628
|
+
"44bb0094296077a0144daaaeed693e7cec014dd6355bc9f6b9b3bfc3b5ac5e74",
|
|
22629
|
+
"61a1a392195d3608b1a4cfe772552220b4919621bcbc0c7a6ecbe29cff7aed0a",
|
|
22630
|
+
"65126e2d460d071d0bce686ca42257a526e11f3b442ac9abb3a397f0ac4a6b35",
|
|
22631
|
+
"da0bd3d3ae885bebdd805da68a84e3fce11b68a86b591125991dca4c61f95655",
|
|
22632
|
+
"dcdb300b2e6ef37a5dc3de1c5714d56398ed41366705fc17e21c82192fad6418",
|
|
22633
|
+
"eb00b1172ace2e66059e557287db01daab116af2c4ff357f8d65e0ec2e4518b9",
|
|
22634
|
+
"84e71eb7b64b5bc71c5866c00f1fde4afb6a9e15e9a1abcfd04a520247c9e9f7",
|
|
22635
|
+
"c44bc99fdbbd2356a10270d6febbc94430e9df689bc422cc10c3b699f67380ab",
|
|
22636
|
+
"155986819f9e22d2cc6ce0361d38681d7f399a3e6a296c7fba30ab7b296dc55c",
|
|
22637
|
+
"9b24b6be6d735e8c2880c912657f909576286b777a0edc65a0054942b6b1691d",
|
|
22638
|
+
"d23979ede676bbf51b21a70ad9ae859ef5fec22f7c87c2eb0bb2a7603c8d2722",
|
|
22639
|
+
"f5b22c7b1c89b629924cf356e9bc984b0d11a9e63b623ab2b2fe4c8cf0c98561",
|
|
22640
|
+
"e60b3579a8b0985204f1b659fcd75a45c3dea1f4e84236834360affdae556982",
|
|
22641
|
+
"e4085df08a7203cb3d6f0c778aafdb9277c572864242970e3a107250c5f2769b",
|
|
22642
|
+
"36a5d09ffbc0bbec8327eb3afd4b8615c428593b0f653a8b3b774fe1ab21eb1b",
|
|
22643
|
+
"66906dfa3fbda081b0c5858af6a5d6e0cfc265804970ad3ee2cb7e7f5a8e8a8b",
|
|
22644
|
+
"6b019febae41b15f39b151035e702d5be6eb5653f3b34bf92aedd2cb07ce6434",
|
|
22645
|
+
"5b58cc5760878b60e46abd6108ee258c432c6f34f0f95886940d29b62d41ac45",
|
|
22646
|
+
"3700d424773de27ca402adf2cf5777f9bf8fd03c8ca8ed467e7c03c73beb8a6f",
|
|
22647
|
+
"bcf5b98705cc583199d60d5976406029d170620b61ce96b4e37a6bfac08256dc",
|
|
22648
|
+
"85ac338d0a7338804b1267d3eaf9751d2c52a25c094a9f107dc2fa71a231205a",
|
|
22649
|
+
"a49b06bd553b39da53936a43df97e62685b1af595aa290cd66bc425c4dfd3e58",
|
|
22650
|
+
"7c820e863e36b8c0d90e0dc55661c3cccd093608016aca30c3f1a5cba1e90640",
|
|
22651
|
+
"2343263a57e37498cf38e4e8804f835c171086cd12e8de0d682abc751e35fab3",
|
|
22652
|
+
"f57d0b616276f55c5b4c5760f3b8dd51776c81e4b859d295aad5ed6c30d2d5c0",
|
|
22653
|
+
"30cfa5982e474d16d6a72265cff42a3260b001f44c91489e7a6746deffe2970a",
|
|
22654
|
+
"2fe357838111f7383d94dd619e52e7f40602e53e96f76eb7e1e690ab4f8b3b22",
|
|
22655
|
+
"98b692a9ed556ff54ea05b598e470f655cdcc71f7875333b573000ad416a5464",
|
|
22656
|
+
"3f92ed639e7e73ba79b261181efa432184a5cfc919326457d76ba003c6f9e122",
|
|
22657
|
+
"7300eb15bc323463e16d23ddee431e97d207cf1402897551acee5b9a9fbfc279",
|
|
22658
|
+
"b8eda6da78425c8fc5ffaad4dac153152b1b60553632aa0db221a68891d8c217",
|
|
22659
|
+
"f5a8444b6c78cba3599ef8217732238a472fbc638b96f13eee40d4a8089171c7",
|
|
22660
|
+
"304b8af2563b44753d752f7c2ef9af92753ad0a4a5aba7b56c61d2bffe89fbc2",
|
|
22661
|
+
"7b78227f234990f0edd3a5772d03f18374c7b349e06732fcc082fd23e24dfac4",
|
|
22662
|
+
"7a2ebd593c302c14bfa4ec2a59398fad1a97a9136b817ac0a0b9dc0f9a89e1e0",
|
|
22663
|
+
"b6859e07f5959387472ac76e1bebc3ba8043d7ff76cc0f68187ed39740ac4194",
|
|
22664
|
+
"14d0681d89e99600b1fbcc694105cf0c26b0bc082a7acadd4fc753f1381dbdf7",
|
|
22665
|
+
"0aa565110d48fd9111f87c58a0d729eb11a25f3294a9708886a2240163f92818",
|
|
22666
|
+
"478d6bda00a51fb3b12f0bbe74ee68f050b434ca8765a6fec92f99b3a7eb75e4",
|
|
22667
|
+
"702b1c83940b627bd033969dc0d4cd4f9c00d91807706dec8f2c910557474e13",
|
|
22668
|
+
"a16b1c272b4d3ecd7b32baa87f0c72f19ab5ded76e1e8b4a30607bc102bd32a6",
|
|
22669
|
+
"f17a58898502562c964dffe61058a5edc8137028f0a0b8e5bc8dc5b0a4579442",
|
|
22670
|
+
"b9f13567648ca4bf2076b06cae2a5403dc8da42310be7209acd5e6809d3b7ebf",
|
|
22671
|
+
"93356413d4adaabb96207c908de5f5099a0094201a8221f5996606004508cd24",
|
|
22672
|
+
"6ec0e5e930b73565b1bdc091171c75f15c74aca32176ab9f8b34722cbf31fffc",
|
|
22673
|
+
"bb9160994c23ee2ee9b7bddb27a1156d93ba9a57c0f3846133ba216cd3e8564b",
|
|
22674
|
+
"58cad96e43066e1a533433dda5c4c142d6507f142dcfc1d15c6e163458d6f234",
|
|
22675
|
+
"7e5cf645ed66cc8bdfa148c2dbd84e480e8f2e6e4c1b1878a00a1d079e296167",
|
|
22676
|
+
"f20e43705afe39f8068d2cd6d941aec569608699488af7577d6cbe05d0136f53",
|
|
22677
|
+
"a0491cae78c7b7f8ede3c0fecc38e7ae3c2fb081b3a5e089a417764462f060d9",
|
|
22678
|
+
"8d909978cab7c906ef2ffcf85108aefaf07fa8fdda8f7d56b52933b246696987",
|
|
22679
|
+
"ab02032efe76e152531943c024bf90578d911fae0fdb1bfd6d9e58fdd9c4f4fc",
|
|
22680
|
+
"8746f538472d572fe051337582b06048bbe5adb2061dafc06f1ce6d8822a4718",
|
|
22681
|
+
"cff141e228d908b9b10413fdfd198d19d63c0122dc020bbe9c1e131d898bfa9e",
|
|
22682
|
+
"5303eec166e4122ab56c2a2d50d7efc5990719c4717fc32f558c1a262a02a715",
|
|
22683
|
+
"ac2ff0e57739d0cf58b241e5cd66c37f048b6a0d9cee761b925e4a2083eb07eb",
|
|
22684
|
+
"a2725505ee0ed7b92f1389e439323937d7710ef3c908899e4bfebfb22924efe1",
|
|
22685
|
+
"daf6bc62dcc2dc1a7024015ad22a977f4fbe39432e299f988c9fa11d9e1be6bb",
|
|
22686
|
+
"6b448f1b2b349bec7860995a9ef17fde808839565b0d994932b768d9d1c040ba",
|
|
22687
|
+
"ab43cc4b56aa5a9d92cc7773d01776b1e14a0ae99be47def9d98cae4a92fd7dd",
|
|
22688
|
+
"c48c14b05324b1efff762f204d3529bc512bfc017e10c93fb5d7878207a0bd30",
|
|
22689
|
+
"77e1bcd11a7d8b89f2f6b69f812e7b173313b75711ecef4f3690a1df7e54e567",
|
|
22690
|
+
"146e23f07aceeb2147749aeda4eafc7a13e84b1213b08f361f5ac9453e05c8f3",
|
|
22691
|
+
"bef5d6468951394613b32dec7374d48b812d24938af03edfd47fc2a28dfd7260",
|
|
22692
|
+
"e5ca8ef111fc85b2f373829bf0fee385e43ea4aece910af156c84719d59dc7ec",
|
|
22693
|
+
"d5c7f696b1639db3580f88e1f46e6b2e21473e40ba0ecafc2cca7c454559b39a",
|
|
22694
|
+
"029fdb48ed316def31ab777f6016caa7f4ec3bb395283747b47ddb6b02df7ddf",
|
|
22695
|
+
"be69528a54f49f670f92bc10006bb410ca727c659eddb2b59632ee21f8331282",
|
|
22696
|
+
"8b94b79a59b7a047768da2a251c13eba63bd3ebce4dab2cefc492ebdeefa4c1b",
|
|
22697
|
+
"f4ab63f7fc905956fca23910469b33e51c024a6d658861fb9a011c7be3d738b0",
|
|
22698
|
+
"d37c818899a3ec224732be77ae4458acb320a8349b1f1e6c10a0fbecdab12998",
|
|
22699
|
+
"b918e2adeef0ddec10def46d8eb09a5689bf2cc1989b8580ed978e65d6f886e7",
|
|
22700
|
+
"e0f3d314b99a19325457df91ef1fca8836263651fb4f6c9f4c4e8de271d646ac",
|
|
22701
|
+
"6109e1624d2312947ec18af1af936c64aac844e50a02c1bed01701234672989b",
|
|
22702
|
+
"276d3f97a51cd59d8697a4078b9e07161001064df5ac0f9a53eafcc5605da7e6",
|
|
22703
|
+
"17ff6f534d734d4131934fce09a672f35b3222890c7c638e8eabf07ea4f24cec",
|
|
22704
|
+
"c0aa223291261752c2aae0c7b44dd1404dd7c420b0b60e38d255b34e7b91bc6f",
|
|
22705
|
+
"16be05e181b665feece2148cdfe97666c76fc6ffcacb1d24227ba67f883f1a72",
|
|
22706
|
+
"cfb6b4951eebe733e8ea19214c60321a4ddcba77cd0e580a0ff22b0e82f44017",
|
|
22707
|
+
"14560184851fd042681032ea8763f87e0acabc0dbc90d91d96c02b313dbe3922",
|
|
22708
|
+
"d3580ac7e51c0739d55df69a8b2f994715518647c810cc1e5dc06ab3f7b6e38f",
|
|
22709
|
+
"a24026763c41e73e1f2bd8f226143e988876e3d6f8a56c8a6dc0702a576c3c91",
|
|
22710
|
+
"87842dc4e289ad1d00e96009d951a620c0d6c68a3be699efc07167b81627c28d",
|
|
22711
|
+
// GDevelop 5.6.270 to 5.6.287 (GDJS runtime from resources.gdevelop-app.com and the Windows app)
|
|
22712
|
+
"0cd0a70063afc3850f683aa725e7e39b3445a1169efd14413fa0e6f659245cb2",
|
|
22713
|
+
"5d1454a2b9bce580170737a0dd875e5d39ccbdaef6bb57833c2c6221bc2a31d8",
|
|
22714
|
+
"17e92b30573c4ce710d36df0a40a4334b47665c318a5fbbf4393729913bae5c5",
|
|
22715
|
+
"0b72b2afd60626c08fd672ce109e7f41a1f532c4e6b525f7bcb2ce6a99251f79",
|
|
22716
|
+
"ce9063df0c7ae8a49541114f4e67cd042c83dec01c52f3ae5ae579a42d0b2580",
|
|
22717
|
+
"c6bc6e278e17a73a6fad9f2b9731626b034432615f4ad0eb827f366a09229653",
|
|
22718
|
+
"5886e4aaa563baef7b2d036e12cbc5b24be9cf1d83618eb6bc6278755f91ebb3",
|
|
22719
|
+
"387bdea0edc91b1128d9d55648c2b62f67aa60266c0b3525193b7fcd30861a8c",
|
|
22720
|
+
"2aee67ba26d59bce043fbf447993a32d66812a3b6fab82921146fce4a6d2b092",
|
|
22721
|
+
"cd35c9205fcaab8e157219f4ca92d6274f5224ba714d76e2bb3b8a4513694496",
|
|
22722
|
+
"ce99cb6a9f905857c9d4f299141498e315bb379bc4092097d11169c838b5ebf1",
|
|
22723
|
+
"b975e31afce948f58d4d60168ab84f0b89eccf8e8deaeb03aa6764a34fbc62db",
|
|
22724
|
+
"79c86988f9e2107b266b32996cd76ed402e7974c504f9cd4dc1a7e7ddf287ae9",
|
|
22725
|
+
"09f8d67cec20e8a5593aedb6e072c9f9162738164417fe069347c34643250fc9",
|
|
22726
|
+
"76cf02415edea1d5a2c3434508c44c4aa9ebe5dee82d71322ef60132f5b137e9",
|
|
22727
|
+
"1579b696c0d1363f27a69d00a22e0543f99da51950ff14017ab52c63f713c57e",
|
|
22728
|
+
"ff1465559502d2d42b85328825473ed102fcdb665717d10888f9fb2d81f18980",
|
|
22729
|
+
"a16c4aed25d1669616be51ec00f2d9e69699d99cd5d782b4930b8c65f96cd873",
|
|
22730
|
+
"be55d31ad674b9ff9e2b6c72b935e64c8672aad0fff814d89598902048bc62b9",
|
|
22731
|
+
"f1211e9ba371b2cc73b3e0a71ae71ed2f81d97df1abcd57986b009a7ae96f1d3",
|
|
22732
|
+
"9497aadf8564af377a602c0bdfe5026cf099ecc6a24a96c5c7c38e423935dd75",
|
|
22733
|
+
"eb08039f646503016e8ba22d65d7ad53a2bca12fe7dbe8bcb21779aad91eac65",
|
|
22734
|
+
"3ffb20ad10f4c77d6176f49a474cdae8872ca6909e66d8b23951fc2ed516dfc4",
|
|
22735
|
+
"822ca789d57eb2380a994330ebd46daae64b6ac22fc3fa65b88ca77d7df6b955",
|
|
22736
|
+
"74132dbd7af0316f59b6c872eb9adab8ca4351d22cac73ac92c3fddb19952b46",
|
|
22737
|
+
"5ae60a53f44d6ce5d6c89da39d93c7d8c2d1e27e4d4a50584d908d1e63acfc13",
|
|
22738
|
+
"b26c7a3671cc32df417e7b44beccefe42c56e14ed17c86645c90d87b878d7c3e",
|
|
22739
|
+
"57dec925898f0c5c77d04253fe0513fbe10c170fa4c8c30bf26f8c1a0061a5ac",
|
|
22740
|
+
"8a7373ac5cc9ebade70cbb75865cfa5e0dfef79b4b645a33b590dd8a79cb0513",
|
|
22741
|
+
"489f7e3186b55db48f2b9fd2ad77209ae445ccb0c35a0d7c5d9637602ddb74b9",
|
|
22742
|
+
"eb26c07154aa23081896e01638cdb041b10abe79d73a486257f21b5d777c12f9",
|
|
22743
|
+
"34a8443939c25e41fdd77680e7b68a41cd302f65d9c7a40cf29a1f7629c8b840",
|
|
22744
|
+
"198df3e1399b06884328b882207df88ebd00fc6f65642f4c44a07bab5694c7ca",
|
|
22745
|
+
"21ac06b9629688827319d842b32bdc4750e6389e813a4424cb1370fd383ccbf7",
|
|
22746
|
+
"17e94adc50ecb29a9ff64a274d1f52ade4fb2481f8c55bc8724a2b257e19730a",
|
|
22747
|
+
"a520aae86cb48e9335f51d520728fc8c36f47a45dc5b4800af404ca831c098d8",
|
|
22748
|
+
"08b25d89fc34a13195b9af2400a0a68cce9c1b36ad8dca4b3ea312f6fd632844",
|
|
22749
|
+
"4b9a7fc8473b23c981e149f8a63aa3a11ea4034f9a5a7b18796c7e9df5ebf4cf",
|
|
22750
|
+
"0f616ca5e2b9984d487d5572d0c8de05ac6087301693cf8d185b9890e76e55ec",
|
|
22751
|
+
"fd456c68eba47644872eef0faa2556e9a439bc1bc1cf6aa723dd56fe13fa9d3c",
|
|
22752
|
+
"d44471f8b9b0bf9911f634ddf5b3bb40c74a98bcfcdb64b4c306c389a28a136b",
|
|
22753
|
+
"122fdc96f8664500195efd70e6fa0085039fd4f4749c7e10a5bd332add979f41",
|
|
22754
|
+
"fa2bfc9cb8fc5607c5335493813256b1dfa49834b7ad1a684e728a46ebc5b4aa",
|
|
22755
|
+
"fb6c5627fe8e92306a82330b8005af9d73695dea238d3995b693545afae9046d",
|
|
22756
|
+
"b64d76a2c7ee4f3900e43adadfaf21ce51253c9df808bf0cafdf2467a8126fb1",
|
|
22757
|
+
"d84a94e7e0bede70708c6e0d369a0ea7e25597d8de2b1241d3117aa2e8de4015",
|
|
22758
|
+
"262fe7cee09d8511f00167fc0c268b60dde16c08a5b259de974ec2b23712cf9c",
|
|
22759
|
+
"62e83ecd3f18147fa68ad280bfa4966dd90ab565f3459c3bb3119a2a0908bda5",
|
|
22760
|
+
"5c7b4afea22a20191b28c725ea9b303dc184c3878a34ed66823983fa787ebe5c",
|
|
22761
|
+
"a5ef3437a0377bf07f797061fd30d72cc4cb9dffd259fd770f584afffe313b98",
|
|
22762
|
+
"c6330441f664f18690eb32f7188e44da7f3eb9f763e3e3e29115ef48ac28850c",
|
|
22763
|
+
"c1a6bbfbd516db4dff111aaaf4e75cfdf5edddbfc86b48a4007d5d52cd60c555",
|
|
22764
|
+
"47237212ef385106b4f0e8d0bab3eda990a108a72c9da4b9e48126e2e428bfbc",
|
|
22765
|
+
"97be63301290499a83fa9c156717e66dca43f897f0d3ac31bd4b570c9add2f0c",
|
|
22766
|
+
"8bad63f7da66a2ada9b591b0224a700ec05e643210e5273e58a101ca9ec1e986",
|
|
22767
|
+
"c8f1e356fe88a56935669920e51961a3b7f410e4173ee49f59ebbb0e0efe4b99",
|
|
22768
|
+
"17b4f1bfd038c350da9afad202e4545ee47fab43b1233398c7737cc3e2797f93",
|
|
22769
|
+
"3408746b10b4b18dd1f786b9a1a7f816e564af59ceb6c709be5ca140c62d3980",
|
|
22770
|
+
"1e23de8c25dc28c2ddea7c4a3cf761cc0448594e948b8c3d7f60241f27584a92",
|
|
22771
|
+
"24a86f2b6fd81f72c5da062be89e309134808a3c04542e3ce64f47c78b9c22dd",
|
|
22772
|
+
"71ebd6aa2fa24c0185c6f124a0581e9d1395cb9b6c9c9a8fa82a24ad34f132d2",
|
|
22773
|
+
"3b005849e6624bfae51983e08bc2fa2dac17fd922b5c638f48e97195822d52cf",
|
|
22774
|
+
"a80698b73336cc777b9905e6fa85113bcb46dc79b877236eb0ec900b9a90f145",
|
|
22775
|
+
"d73d26ef4ba3fc39d758a0ac611b7ab54c64fb41099af8bedcf047f9a9f1bc56",
|
|
22776
|
+
"5502e9eb63d21f0a787ef7fb13e3d233501dcf09af98ef86b4b6dd23e333fcbb",
|
|
22777
|
+
"8994d932efb0c33d39d24130af5d0fc6af6e79cf94359c725c8983645fcf6d69",
|
|
22778
|
+
"e473a0723cb4d7b6b30e227383483685707b2c7314ad4ea3edab400b4378655f",
|
|
22779
|
+
"724efc1fc2de5bab9827fe480db3d430bb79df42a1cd8e2592f11fdeb222c768",
|
|
22780
|
+
"d616be8c04e0d35a5d608f1bafe14df7940f810350cc353431b47a0559c633d0",
|
|
22781
|
+
"5bb22add266a706c61e4a91f90b5a652769f00adcaad43dab466959a3e42a575",
|
|
22782
|
+
"986bb7cb04ac52474c27655c7c8096827163b4bcb4421b3c01c5df29623625c0",
|
|
22783
|
+
"3b432251da27e5b4d0f8c8e9801e970f7f9931a842503663dd26de779ac55f65",
|
|
22784
|
+
"264616f041ad12d4d5c5571b3b0dbc94097334009415b9bbfcbbceb9ebe0fce7",
|
|
22785
|
+
"01cb0f482d7794245057b6a4378cb315c0007dc2c92ef5435c78dbd4e777da63",
|
|
22786
|
+
"7239f07320ce68ee3ff7d352b8b9826cdd2a2180c99703d23642eb8c2c65153b",
|
|
22787
|
+
"c63cd71c4783e991729c2f920b732714d964cfffe6d01426448c52947fda47c7",
|
|
22788
|
+
"e33dddd930be137da26338cfde771eeeb549d1743b352008eac1bcb2be0b4538",
|
|
22789
|
+
"6bfdb1dea8978a16647eb71c24dc841ac9f9771ed20074900fce6ae9e2716ebd",
|
|
22790
|
+
"13a11a148cad94c11732aa86860d1c48af85fe5eee7d6394a3b492a331507dbd",
|
|
22791
|
+
"fcbc77888729e74b68d48619a7e50e65c1a5b0359fd2e239c59bccfb6d39ec48",
|
|
22792
|
+
"5bf60152d9f643d260765d9763c1963204987be8dbfacad93a8455da097bb761",
|
|
22793
|
+
"7fbd7bb3b1aa46b10a743fe2f8a7c3b0464562627f6a52e691819806b5cbc9f0",
|
|
22794
|
+
"bd72b1b878385ea472a75c0b6ab3fa3b00ce3f831dbcfccf677c8209b3ffd319",
|
|
22795
|
+
"66fbb6ffe7963873d96b8144cd68397aa253d55217dda597791a9f591e8c0122",
|
|
22796
|
+
"9b3f8fab06732fd15991c3086096cb3db2d1db01b6a1a3ac80dc05dcb3bc026a",
|
|
22797
|
+
"7a3e877c84ab8a33f677415b2222ad82055640f1255d2c4377c81da10b7fb846",
|
|
22798
|
+
"2baaafc67e517d6613be72aa082a4588713cd46adf7d8d0d8b7373f8124ea30b",
|
|
22799
|
+
"d2db841631063c8282c52853e6d2d11539dc804f914cf7b983589a42b26a29cd",
|
|
22800
|
+
"3783683ff0ef4d31250178456abdf77dbe31c4f096f71dc047d2342447a414a1",
|
|
22801
|
+
"fa2cf6ed61e91a80f46fd96e2b073bc41ec5937af37fcca94f40d538560b74b2",
|
|
22802
|
+
"3a859a9bc807f9bdca3d2643fa16a60b075357af540c67df9ff6194d8d067d01",
|
|
22803
|
+
"04c061b2d36511676f935f6c41bc8f1553e74d3854a60a606bcf6d3065911bcf",
|
|
22804
|
+
"6f6e941286d6cd4bc8bfdbeb63abd51cf6a9a9991851df24bae2d2802edcfb65",
|
|
22805
|
+
"e39bcb53d5228a2a168e1c896d6daf3eb9dd6b0ba7edcc5506497124268dd67c",
|
|
22806
|
+
"6a7d0202f88dc0a33e54966f203aa5c050db0f2cc1a530d60be2b28389a6ca89",
|
|
22807
|
+
"aec7bb227bba1158eec3506866d4a97a0f4026d551912e2e37d646034702850a",
|
|
22808
|
+
"5e100bab0ca6e79c1a857b5e9600fd12fbacdbe701e5b4ff66251c602a0dc1cb",
|
|
22809
|
+
"5a21574dd00194f668837a4f8a8e3f2b968082ac7a4d5b02a6496118880e7d33",
|
|
22810
|
+
"7d6d40cd4900dae95bb7b9cbe5df55e30069c0a6753502e56bed945a4c0ef287",
|
|
22811
|
+
"cf3e693f3a22aa42d4d3717db35f0495429d292fbd901fe943efb3bf37175bad",
|
|
22812
|
+
"32b744c4e26088225899d0c039849ab0e4c26f82a84c8e875319b3a65f161fdd",
|
|
22813
|
+
"43518fffd4b1c3a39f7570392f6c2db9516b9c9418968701f504aaa62c2c7c99",
|
|
22814
|
+
"3676d3d635da8639f89237f0a35e8754aaabbd0faa056a0a10bcba8de6d65de2",
|
|
22815
|
+
"144163f70bd8ef8233c89774529fb678e1fd3a825b87043718c0444e65bbee5a",
|
|
22816
|
+
"6fb05d02c87b38a4e8333626aaf8b7948f118adca4cc5bff8d62f86507e65e32",
|
|
22817
|
+
"5195637cf0666538762274dedc31e5c3cbd9fdf92ecaeed98f7308d90f2682e3",
|
|
22818
|
+
"ed927f13dc249a320546aa8a270923db94299f00ca06216141362560fa1862b9",
|
|
22819
|
+
"ac206f029ff9063a214ee137d38fdac49bb21661cc6fe1ffa82de60ef469734e",
|
|
22820
|
+
"695ad258f10df420c7ab07364981ce757bede545f9981f9f5146944d3e117a82",
|
|
22821
|
+
"9cf83ad1771f374ee52aa044655aee773d09bdfec0a64bc7dce555e50f6fbe9f",
|
|
22822
|
+
"7545a04e95b196cc8281552263ec890414192494cf6cc4ccc08a7d1398f9a61c",
|
|
22823
|
+
"cd40c41d8789eca7f8b1c3e8ffa6900d541525658b54b132fb059f16838263bc",
|
|
22824
|
+
"f552f00f066d5340eed0dca72f01380de274eb9eaea802c11e2e4a7e73a6ce44",
|
|
22825
|
+
"61c496f541794cca99668cc480f516a07b7c92ded33d9590064cbd6a8249806b",
|
|
22826
|
+
"51e9afe749e0a45972405ec128727d9cc8fe1a762b41d54e86da1dc779eb7d94",
|
|
22827
|
+
"66ad7d624cd9ef1cdd5429bb859639fa2f2e92ab96356f5cea4d686153a76539",
|
|
22828
|
+
"a688ef800e7c195214be975e2bd1c1d7fa24aa4ad67316cd8498210bbbe9f913",
|
|
22829
|
+
"5a7220c37cd24faa349cedfedafd36d62988acd913236e900b79c5279d45d1cb",
|
|
22830
|
+
"b1a85a97b4ff43b1eb213c23c9928c8b09e85953460bb00addd50d8666dc04c1",
|
|
22831
|
+
"7f2cc19d76732de0134a1c7bfcf0be280816c35fddb3b4fb837ad4d3a0c8f31e",
|
|
22832
|
+
"b4f710821a1bf832119ee1fd79bc46acd68d252419a1bf536b10568f63a3c203",
|
|
22833
|
+
"ec7424a9f9b1931cd60662fd628a231bb7aafcd2f1d50663fb07f38152d3dfe9",
|
|
22834
|
+
"48c4f9bc13e79b8693af15e4a4a6a05a40389d66643d2e0c420358df5fb38c6f",
|
|
22835
|
+
"832acdb544512d14f9fddb3fd8bc7208337fe2c76ab25014b40dc040f7a44f1d",
|
|
22836
|
+
"4a553732344ead0ed04da0d40b4c209beaa88cd72cf12ea398226475977f0b4d",
|
|
22837
|
+
"8cfec8f507365ba9bd19c51a8a9de1ef854f51f2de3e916f6711d92f1e0873b6",
|
|
22838
|
+
"e06fbac47a698aaeae8c5b5fa9d38ec5047f5703e329a8b36d53c317983037fc",
|
|
22839
|
+
"0ba64e6b3dee67f6453b6c390f3e68a75797217cfb35a57bc776fde881d0d14f",
|
|
22840
|
+
"5552c71d978d56499969a64c4e3f2e6f26218e4f7bf9d62d58cc9ff56a26d7c7",
|
|
22841
|
+
"fdf92c3a4efa8008c45c69c9748b0fc1c5b300237f34de2c64bd191d2a9b40ad",
|
|
22842
|
+
"ff19285de976732cf4c9aa5b94e780aa8216ab471916097ef5cfcfd284d7008a",
|
|
22843
|
+
"585bdc349d2eb31151e9a1029e50257570c8477ae6f00e7097e1f85b82694512",
|
|
22844
|
+
"ca743eaf4177ddc8ad91632564f962df26f21a06d6087ea1f83db1a32c3734d0",
|
|
22845
|
+
"2bafce2e789261738bf4bd91d5a34ccb63ebf948683d782b676fdd2c7b7b5114",
|
|
22846
|
+
"cee06b5b9839d24ccc9dcb3add76f061c6b5c035c2fdfa922ad5c3073db22554",
|
|
22847
|
+
"6d3eb2f0551c726b3ca4c15d174eccecd88d4f2785e3aea927f2a5a75125afb0",
|
|
22848
|
+
"6d917327c4a5fe325e61e36f232b02f2584108e55eb01937559b9d75c705c7b4",
|
|
22849
|
+
"2707ccc0684ae7e80ac1efaa2006a9fc67c4d779a145534a0308a4c81f28d9c5",
|
|
22850
|
+
"9c65c277e346842609c4b5d40bc9856a297865e13b2f11c55e7f989da66b0594",
|
|
22851
|
+
"673725e4a7a31b3cecb386da0c947bfaec1116811abbf5780343e990c68249e7",
|
|
22852
|
+
"48efb957a2f03c8c9e964d18bec700b45bd2318e24c880cc43ad32fc3ebd464b",
|
|
22853
|
+
"af82e38a4aaabfcbe2ac972a68c2c31e4abdfc464d9dd7a4b8672c6aaf9e41a4",
|
|
22854
|
+
"9e79b689c6c02438dbc8d5ba8d016eb45f759647efda5fc72c9a3fee5d7e429b",
|
|
22855
|
+
"8984d073869653780ce71a6cdf3c6f37d052985f61e7e292df37c8b7987c7534",
|
|
22856
|
+
"0962210e02d94f1a9d0b7ced945bc7a347943fe388513b102fe28c9e2dc8b15a",
|
|
22857
|
+
"5413e05cbd20669eee1bad63ef224661fe18ec918daadf5f7dfc3ab2034052bb",
|
|
22858
|
+
"5913a5f06904210e9e6f3a85e7b6e00348f92be23f34ff36c51446c013bea71e",
|
|
22859
|
+
"d9d4969e3347d6d1f0da8b7ff78d969dc5591d6e45e06c0594c7f8b06ac28035",
|
|
22860
|
+
"c0111de5a2db4b45f385802e166505799d66577a0f829acfc6d9d7572a457482",
|
|
22861
|
+
"4239359f031ab55261ae0e2e8d5523e748bdd7c1d6097244ac5e3e6733a546c1",
|
|
22862
|
+
"3fb5cfa6df66a275bf33d052dfd8259054308775cd9904d62ce1d613877b033a",
|
|
22863
|
+
"0bf4320dcd8dc3946776c8c5a169b765158c80b5054b3a3c4848623cafe0bff7",
|
|
22864
|
+
"11f5430f1f0bf3ef37eac1f13512f0adc81bac65ef27ff2c176e7d75cd8719b3",
|
|
22865
|
+
"abff7110d7e1a56073748346230166e84c7be07772dd8571bc3033e6cc4672ec",
|
|
22866
|
+
"3214ce83826fab9abe08d213dc0b5f8ec1fb23beb334657177482d572fc8409f",
|
|
22867
|
+
"c0f4d669c58c6f5421d78400b00fd952fc8018f1d6a0a5842f9ef9b84a75896d",
|
|
22868
|
+
"f8bff10f590341d795195e934bd830bbbf5071aefcc72d169a7443f9697326b1",
|
|
22869
|
+
"fa3fee1cd7481ede015c5cf8c7e4c48e333a269823c5371b8775fd9d241ee5f4",
|
|
22870
|
+
"f53f8b1dc4d0edceb4d44da20f093f2011d717f1c56eb85915690c23350870da",
|
|
22871
|
+
"4d62328cb2e42fbb30be0ddc2a0c5c6c9fe6a82d1e13013ee4cb62b100be6fd5",
|
|
22872
|
+
"b5c8e35ddb7260556f8458bd0db6a96e3ebdcdad6388867356cc46fb99ab7037",
|
|
22873
|
+
"4ef5572be79d1bc0715178a69c80824c57a8af4e0cf27ce78b9f85236d352ebb",
|
|
22874
|
+
"7977e6a8f9ae2bef3d8f2e46018c01995b88f5bfcb05960dbe75f8308a25f6ae",
|
|
22875
|
+
"0c6aa39162c9b53701c08430ed5ad8319de708d0dcf61a6b9599aa28b4148a51",
|
|
22876
|
+
"a4949b10435a59b9eb8cbef82c850de251d3a0b476c38a600d700fa3784ed1ed",
|
|
22877
|
+
"611f6225842be6de16368132ac58a6a6af3cde210da45587fe055d94ae1fb991",
|
|
22878
|
+
"ef1c3f902cf2c4013f826966d16177cc7473839774ec7782918da24a95a84cfe",
|
|
22879
|
+
"4bf6ba83d194091711dba102f30c68efb5fa2b94c9195d84d8a891b6bc7e32a0",
|
|
22880
|
+
"bb173437a735fa1efb3988f34ffb84a208b4a722e5d8ccbffef05e2481e637f9",
|
|
22881
|
+
"c5d1af730c2eabdfd3ab409019ba74a970a9c9701f0024a7a9e49cd84fa2e927",
|
|
22882
|
+
"37a1052b9eb2647bdd23ec66873e6c891a4c81ffd4b9168519789d50f7cab841",
|
|
22883
|
+
"055d51cc69ad79107e2677f941fb3e0aaf3bbfe7a3fee55fe679e6738512ae53",
|
|
22884
|
+
"2afe47d232a66dfde55e08043eeade63cf837c80f6a61d5687546aa400f825ef",
|
|
22885
|
+
"0af0740eec63783df99a0dca4baed7b6377cd009ad049b644073bf3ed6c0832f",
|
|
22886
|
+
"9a0770fbde33f28a072aff170c1efc140e14eeca5b29ba9b8ea90ae823250763",
|
|
22887
|
+
"2372109caf69e399aaeae297de8c4abbce201640fecd2f44e7fedf82c48f51df",
|
|
22888
|
+
"3b6b146d5ffe4e8a65baf773dcae0f5ce9ea960d5422308a54642e99a7aef922",
|
|
22889
|
+
"0c536a97913024e3852a6f374d5856364541e33f5715d4bb0acfd7443f2b79c0",
|
|
22890
|
+
"4afcabeba092f05c01bcf206fe4d67522123df76cfb88668047f328c25aadb54",
|
|
22891
|
+
"470805b5dc4346d82b5723069d7f936c461f8cabc4505529b1aa01d45a8825b3",
|
|
22892
|
+
"7b1706948c6c7df44c063d825095038f442996a15dffaa79def5da42e97ebdec",
|
|
22893
|
+
"133c5f3a89c8c6a384b8c078d204947c8eff2ab3054d4f0d6b4e7466dff5a0ca",
|
|
22894
|
+
"799ac0a4da2c38e8d26be7a6f7a119d456b5500cbd2074e937fff0a1bdd65acd",
|
|
22895
|
+
"d1b400c77ce9a7f1a0e5cbd70352f11b9f5ff0c9f3a5f3c1a81fa3444a74aad2",
|
|
22896
|
+
"097e91d8fe934098341c024c30c525ede526722b4ad99cc038d902344e490177",
|
|
22897
|
+
"0b97ca18afb5f34905b4cbc16f7cf0a65137ab563a9aa4f72f1a3945d40cd50d",
|
|
22898
|
+
"c7e680d3c0f07ffa371699b919e180b0bf265b0961f070fbf09afb5e1f03ad76",
|
|
22899
|
+
"3f1333f10dc61c0dd5857f56cc52100c65091ea12bde481f22bfe05e4af48229",
|
|
22900
|
+
"3bd539b6e9476fb2059b702af226c9c6922ea1dec064aa6c9d1c3426fe87ddfe",
|
|
22901
|
+
"d74c0d30ed0a818bfbeff7abea7e38d2e4c58bb8dd811c7b178d12fe8714fd5c",
|
|
22902
|
+
"63d6752bbb9be57a8f19b73bd0b89ce1f95e932d70b43b1434c406f0cc20ed23",
|
|
22903
|
+
"e025bb92081e07b7a56f537af53d77f55b9fb4d8af2e3dac50df812d7d092f05",
|
|
22904
|
+
"0a6eeb8765e9c09e86d2c32efa098e12ff3da4494cb7f307608ebb216317db7c",
|
|
22905
|
+
"ee3ed6926baa3c5c110d148d96f40035cf8d859ee306665f0d12e06948001644",
|
|
22906
|
+
"78c56d89474ce2b323a308d50066956b6027c4f8507655798a51a14bf6fe66c9",
|
|
22907
|
+
"ae6defd2c34f0b2f9b646a428840c958507aaf9e99cfa41004665d7940080acf",
|
|
22908
|
+
"b9307ecdd7c10bb909f496f926103fc9fd2e734e20cef1c9e1c0486f38b9f53b",
|
|
22909
|
+
"b419f5ed46d12ba61721ec48bf11393dde06b095874e0635f14c74d27a3150b0",
|
|
22910
|
+
"7ed0cbeac796e399223135b8987336c9aec7ce48bb1b907426ce40a8271fa1cf",
|
|
22911
|
+
"1c459e51ac80a7c21131e66e8274493973c9fd9c323133ee74747eb96c38daa0",
|
|
22912
|
+
"dcfe4638e6135149a6ca564e5001e505aa7babd059a707059a98a450a2521ed1",
|
|
22913
|
+
"96b20d9c1a28308dc5f9606cab9fac6640fdd9b1ca2917c4cddd85c8b735c85d",
|
|
22914
|
+
"d8dfa5dfbc98600696ce5f4a90bf7c93b20d2d908f737403654c39cda5ca6bb9",
|
|
22915
|
+
"02b9bf46ae7f134d2618f9d03bb7db2ecf4db0f74f5cae5f1d9bc9c6f857ac89",
|
|
22916
|
+
"b7747116a4b4599f26b3a118eb3a35511578b4f741bcd865db3f8614365518b7",
|
|
22917
|
+
"4b63bbf75dd33cbf0a614d60f84df9bc119c32b546b07069a2abd9d48100378a",
|
|
22918
|
+
"e32186226d4a6ac9def284033ff624f7e5ed7c66dd3c118b5ad074fedda1c44d",
|
|
22919
|
+
"8bb2952d2ba7d67e1414f8df819410cb0434a666be53f671fff75f68843d76f6",
|
|
22920
|
+
"f3ab54e2feabfe8bd37928b5f400bc10230dcc278c7e70bca5e025f63519d960",
|
|
22921
|
+
"bf7b014dfdb62e2ccab0e4017387b1c67043964d690a881dde09e1fa1ee4a002",
|
|
22922
|
+
"33162e88a46336dd87d2257ad2a8d98d4af9e370482d685dde69b712122ad86f",
|
|
22923
|
+
"704219c6665c56240d9895ead297e1bb7d7330beb4c02d65ceeb0766fd52cb26",
|
|
22924
|
+
"229d5ecd60381cf205b887c281cd6e3d7261f215b98d4388c6c90d0ed68b9fa6",
|
|
22925
|
+
"3ce17ddd4a6bb4ca590734e195d3c369aa9c0b95ecde86d87f27af9ba8b41847",
|
|
22926
|
+
"53569cd70e3780db8f39c90ef49d77141e297f5b7e1cdb5a8bd14338680ca869",
|
|
22927
|
+
"17bd929af38df753994ca76e77d901c27f5114c5ed55962cf11ad38406fbbde8",
|
|
22928
|
+
"98a67ae5813ccb9444ac7923a59dc23b5b402985ad62dcf38e543f6c9359ab80",
|
|
22929
|
+
"a37cf557ce51f29fe8ed83ac40173cd85d82617fdfdbc188054b1743c502f460",
|
|
22930
|
+
"9dfa15cbb7ba74ee239eabd5b4828f429d0c75192453cf93393214ee0d387817",
|
|
22931
|
+
"13767d37502d7b7b72296eac9bc699d083743de85b7ba17557f6842fe789b857",
|
|
22932
|
+
"56887a9d698999dd6b98c1d97857e6705e0f73a7c2f086c442ee841bbbb3fd04",
|
|
22933
|
+
"1518f6ba2d7b9060801824e085a7b5c57ecfb7d11ccf3c64a4ae915d0eda16f8",
|
|
22934
|
+
"46e93b6c10a3c131a7606e4cc2c1669ff8a675eb5f6359fed9902f19f90ed1d7",
|
|
22935
|
+
"27b607e147b83d8ab48942faaa63a34bd68ceec46885735d7006d081727900d5",
|
|
22936
|
+
"4b44506664d08e41c2e97ee06a97ba021dac3c85702ea0d48aaff8f39b9467eb",
|
|
22937
|
+
"2c8d1cf7a022efd74cbab9bf1805076a360f9fdef56d2e5eda296ba3480e1927",
|
|
22938
|
+
"0c736ac3890192d7d1426eab0272a30453f8b357cecac35deb9576ad21a3a4ca",
|
|
22939
|
+
"4e08dc60e8d337caf0db108e06002fe27751850592f1cd1a8ff6e9753fad4de5",
|
|
22940
|
+
"6563be4b9e43622774cc3c3c7035e6ea17727ff9ad02e46dc2758d5dd6c4863a",
|
|
22941
|
+
"20152e64008b4709fc5b8ff0709027579a23af888823943cf16c13b023aca384",
|
|
22942
|
+
"9d18bb872a05c9d88245a1bdd04eeb4ca8d9b400cf563bf10c2995d83b03a8ff",
|
|
22943
|
+
"a9a5ea707e04f984c74c7ca3bd7c6292b4cc39323e9c5bc0ca73ff41a95ada63",
|
|
22944
|
+
"530dfc5cf2f1a1f704a8b315b814c73803a4acc9718c027e38e5c5cacd0a2eb2",
|
|
22945
|
+
"df549d1a636bbc3ad97267b75c7168271ebd8d8f799bee6a70de3f066d89615c",
|
|
22946
|
+
"5416fa5799c240c6a911303a9b8fde5b2da7b5add078e10f5dec3972b3c51807",
|
|
22947
|
+
"778eb50aa7e6d7edadd7222228120e2ea3e4bb287dab338afc1055bd3cb70527",
|
|
22948
|
+
"897418a8efc514bfd466e365bfebfbacba681eced8b54f23dc84de2653939f68",
|
|
22949
|
+
"9bd67a2f138ddfef980d4ba1292927166ef0f739f06202e9c0ab14b050c83951",
|
|
22950
|
+
"6b33b3942246b2c1d3de8485dec0ae3000b20fb22635b38d4560c4dd41e46958",
|
|
22951
|
+
"9bed86a3bd9a84eaf0a4de6f4012c56dc6ab707056c37046a43e58b9aaf76e6e",
|
|
22952
|
+
"5542509c7c290f2c54519c71aba51ca508dabeb7ca92d6ed0e3fb246fcdf4478",
|
|
22953
|
+
"24f667daadb0c4129badbea810955e1a776b24a2316225301f1f2698f80cd983",
|
|
22954
|
+
"d1733e2ac8b8d495fd8e948b96eb49c3cda3cd047bc2eb2889c9174be1dc88a3",
|
|
22955
|
+
"674a50fb97afad0aca14e80a37ac51aec0596cb4d9d8016ddf7c9c382282df88",
|
|
22956
|
+
"998ce0578bd5bcc0087d4730a2e754ac536d254c2b206b822433a1d664dab093",
|
|
22957
|
+
"05535108be03c4e156b47168dcff2da851a0c643e0b34bc8bc5337989c6ee566",
|
|
22958
|
+
"a482b76bb9fc7107a79d792a82da29820c5dee7ce67b0437d47972a91804972e",
|
|
22959
|
+
"3a201270550692d3c18c2392c79caeb10b69ceba70f3b38e0691192e05262d51",
|
|
22960
|
+
"c876df4745e1dded98b7039fdf9dc7687890ea538011c1beac881c4f91476014",
|
|
22961
|
+
"b97936088dd82c7bcdb75ec3566a168eb311528a65de3c74853f234c9d235f70",
|
|
22962
|
+
"d205e87e54d68a2684a744dacb598874e04dc6405b57df0c049007dddff3e3c7",
|
|
22963
|
+
"0649f9e12d463c7797a464e5d979d3cc0adf62cef5bcb4ecb335ecdec63a89bb",
|
|
22964
|
+
"4e40ddedfaee8016aadf091ab571ee9bb16954f72d2e0cee5693abb21c17646f",
|
|
22965
|
+
"7b99a984678b1c763a8b8b66e49da58d76f6227280e7b8f302d99b22c2e65758",
|
|
22966
|
+
"04cce362692d01b721c422ecaf918105c4c27c44114bc29247969f5828fe021e",
|
|
22967
|
+
"be03554646a41397fab9061b3e764f1f41399af7b9f49146b43eb5a17f41bed7",
|
|
22968
|
+
"153321c5de03d425bb174e9e82b1b815ad14be7578501b1ae9d1f5cdaecbbd85",
|
|
22969
|
+
"c9f2e932806fdd96c936803a5cd288004bb5cd70953b0f5ec893989d7a9eecd8",
|
|
22970
|
+
"e631dc9b09bdf13d3f4d9d23a1d6bb60750ab84fa445afd857b9e1c0aa3b9038",
|
|
22971
|
+
"1ead081c0d6f95070579d6e3c8b606cb2fb95073e5cee4ab4bf2f44a8f95d3f4",
|
|
22972
|
+
"b133997943d221dc87e6d5d14bb1991dab244313194d7eed9f3d48706aa15e20",
|
|
22973
|
+
"7f315b1b527ecfdd3c36da865910e326f9cbe6043a815bfff43b5c92842cb5c8",
|
|
22974
|
+
"b6a39bcbd75edb38f7491e1d2da9a8a7033218dda0961065afc4ae0215e65ebb",
|
|
22975
|
+
"17159bfbf209d3a6bb6d305201d6b5beaf3705dd30e245c346bb2f9a748b7e75",
|
|
22976
|
+
"56f715a7f641d9c53e18358a594245edfd68dd0355c9daa02095960b8cf561f6",
|
|
22977
|
+
"c1117f5bdcbc5d47a43b50af02167b9dc282208d192e492ae49d1b6fdcad3cb4",
|
|
22978
|
+
"556895a92b4e5f48713cb5c66ad0f4e60a39db6f6dadd69a324413b8c21e8a4b",
|
|
22979
|
+
"27628c828f263f66683b3a138d36c5692b5b52b5e42ccec3bae2b0640ef7f2d9",
|
|
22980
|
+
"5ab5ff0f2a5bcd82eceba9d0b4e5a9f0cddab2a02c789769cb4e3a3e89a575cd",
|
|
22981
|
+
"5f98965051fa41d8e0336ec5273fe17daa73147abc0bd3e8a18e0baaca7e1cdf",
|
|
22982
|
+
"74feafa90269c82ea79f17a789c6bec0f5ca184b0605e2bd87e153ead1a572f3",
|
|
22983
|
+
"09462d3b2cb6a875efaa0949a061654ade93354e1fa4ff84146ff72f74fddba9",
|
|
22984
|
+
"635f205ac8685257aa44af18323a4ad4b0f03eac8bb3031786a7dffec7af99ed",
|
|
22985
|
+
"b62c632ade5a67d30d9ece16a39e813ec5217f0a453a07d850c16a0f58b03a4e",
|
|
22986
|
+
"15ad33f5f06f30d5242db6c9cbd8cad31c4639a9e33ceb3bbc26c2eac3017a46",
|
|
22987
|
+
"302eb9f2b6f27ad848b782dbc113a84da85184ad4d43cb2a7e43927ca4d738b7",
|
|
22988
|
+
"e3b376c2307ba6a88984cfce65fc1c1f2dc3463843080869a04cfb1c61c28637",
|
|
22989
|
+
"53a91836eb9e9af7f2e678cab6b828eeb7f10ea7cda1ada9cbe2da66a9042f77",
|
|
22990
|
+
"e5e592e6a1afac9d47eb9649b0c76ae16a3ad1d7c9017a8c9f602b0c843c280f",
|
|
22991
|
+
"092aa78c27828d2e55a825c299eb797b53b513f0495b07e89deddda3044b3a0b",
|
|
22992
|
+
"cc8c684f7194c87bd86729f6592f666daf15eb0293566ff488a50802e311dbcd",
|
|
22993
|
+
"a0ffd7f84a075473d0749cfdd05d4321d2d4ee3ea4f3aa8931e245b1d0440b60",
|
|
22994
|
+
"2722487ec276b79829cf5f4655dd0a12d8821d6eaf47f590c7d2d1dbe16adeb8",
|
|
22995
|
+
"91d6970c88eebf95112538da9655f8ff22e386f9df3cc259ca87e2995b2b90ed",
|
|
22996
|
+
"0caca23374870e39c365f2e065bf93c2754dd4ad617ce0c4002f6ae35f9019e2",
|
|
22997
|
+
"1cc723bc914216d17edb359a71135333a237b87abf77fd901d4873fc78fe1f50",
|
|
22998
|
+
"e88ea02c41bfbe55f2bbdb8e9be0ca4f69452213b6c4951a86254c3f7780ac90",
|
|
22999
|
+
"e5156b68cc7723a70be6d500e6d3324aee3d274ef62dab3f190d4c48333a63bc",
|
|
23000
|
+
"354dbd65f692bdf1708c672f0e4df3a13afa3dcb161f6f0c38862b0b308acf8d",
|
|
23001
|
+
"e4883c6f9cf74d1e5e780e15f9e65a9b470cb99908aa12479d4ecfc9a1adf622",
|
|
23002
|
+
"abc33bfe4bbdf03f20434faa794df006b4e4cfe5eaec65e515c20725e88b0a53",
|
|
23003
|
+
"265d19bc516daf0858eac156e5e59f86f5c1e9966b3845578bef96aee8106e13",
|
|
23004
|
+
"92af8490589b55d3b7da03a81d3c9e9bdaf84b3d0ca9dd32a5af92edf0b7b59e",
|
|
23005
|
+
"52c01625e7202984ab83c835d9ce9303742695cd5b9334915dfc701dd8a46575",
|
|
23006
|
+
"ab26f786418dd8f4e7684baf036f37a2e45683aa22cfdaa6cc3af7e2b948391c",
|
|
23007
|
+
"f04ab062134e7793741388152fd0c50b346e3ebcf60c00f0aad34f352a4d6ba8",
|
|
23008
|
+
"836cb4e941fe10efb65dedad1aad51b7f2bade495ee7ec1a56f85abe9004f5b1",
|
|
23009
|
+
"82f8e1a7039ff2bc8cb2d987e586838ba3f960b3b45c962cda151b1af3206aff",
|
|
23010
|
+
"250d4fff7fee08c8e18bc561176dc403689c1c60d7babae094ecc2442febca4e",
|
|
23011
|
+
"a3997e2b30078d991aaf969dcfdc8e82d02a20c46239eda09516cc1e0c03aa41",
|
|
23012
|
+
"92c1cef7690447ec044a2401aeaba247ef801dfeef660ae400144c0db66a62ea",
|
|
23013
|
+
"9e593929787b6da15685b9a7707a203ffc3c18da1b96e2d980354a05f7125808",
|
|
23014
|
+
"246e59fe074d9de9b7d8010112123baf7831f496c5d0522de6fe4532319b9e30",
|
|
23015
|
+
"59d121ab6a43b9b87cf3afb85c81c64abd75ac13620882be734c82d000f92172",
|
|
23016
|
+
"19ba54b7471e34e605a047b08e7ffe8f0df4ea6956041ffb7fdbc1773fc34a19",
|
|
23017
|
+
"49a7a56f21075548ae17a00e6523f4ca1652c402774f0f9f610a0dd0d14a4a37",
|
|
23018
|
+
"de17c860ab3be55f237b9cb3777baa52085da5262c8abb28f027832160a6b76e",
|
|
23019
|
+
"6622032033e34709db4f216b5f1bf27db671db6338148afa0330e8d9cc7affc2",
|
|
23020
|
+
"3afec3488c9968096a705262f1096c71c5538a7250041777350405d956d04753",
|
|
23021
|
+
"a9ce78dcb828edba75648aede49d043ddd49aead28a82f31b3ba329c505b9209",
|
|
23022
|
+
"a4a838aacf9003fd90b92cdc5d2ace40bd3d2ff89915d6a3490aa0791a19020a",
|
|
23023
|
+
"a409491dbefb304542ff87c1d320809fe1d404798fe8b1c31a706bce3b1ba393",
|
|
23024
|
+
"8dd6bb5cacfe6ecf2327942bb7336b8021f3b3d8ecd4e25646a4e985e810f961",
|
|
23025
|
+
"67836f9985e28d6e8e577b6b3224952accd1d49584cf6cc94ee498c28ede1e7e",
|
|
23026
|
+
"40ac8bd227ed627f45e5d99a30b14d00ca287a1b4b2dc976f232c8f592b3c37d",
|
|
23027
|
+
"17e245390643f62a1e8237b837a1573cdfc30ce7a5160a1087bc00189054354e",
|
|
23028
|
+
"9081f7dfecb110927c74be6bba5ce445a52cbbc475c95369e17af79f27183e23",
|
|
23029
|
+
"e1e24ac7f42a26b12d4997f7385dc4cf5f535fb94ca0783a40f0889c4e27e0fb",
|
|
23030
|
+
"28cb300d373361dcc91587118422e76c6a28ff1f53341dcd082e7784cf45d4c9",
|
|
23031
|
+
"a64c978eba1f6b93c26988211081818800e01f1efebb6b78a861f0cd2d48e8c0",
|
|
23032
|
+
"1ac7dd217be6532e044d547731118ee761cca1f919dd309bb66b6a4cb41acaef",
|
|
23033
|
+
"70346155677df60dbedb457935cde033b817fe937ebb2635e3d05a5d9e6beb50",
|
|
23034
|
+
"8c1fc88c94eb46e4206147e56507e676c821211f7418e92edfdb1bec50ce60ae",
|
|
23035
|
+
"11cb053ca3f562c3ff3e54e5df542dfd5a8435cf7f06c7f95afdc304a4e8b7fb",
|
|
23036
|
+
"2456c8eeb3af8412b814621d9c779a496721f70112beddf8dcf80ba8e591d286",
|
|
23037
|
+
"5bc52c3884093f884ac16dd9e4a9fe3309dfac7731b1f0ba1f9f65903cad339f",
|
|
23038
|
+
"753ca0cfb0b2917d0d1ceaa000bd3b644563eb34004c92ba211c436e98b240c0",
|
|
23039
|
+
"f7c9d3d40fcbaca85eb8eb4bada281489ab8fc2c9f742162c8cfeeac81a4727a",
|
|
23040
|
+
"c76a7148d318d866938f027f8f0b515b213f1a85738e29ea5649f3485c2753e8",
|
|
23041
|
+
"c227cb725621b7ab7f7d366540f7c30e93da9002f4e55dc67fa40143e72b0a99",
|
|
23042
|
+
"e0fe1c69b09c4666107b2a10a12a21ff07dc974d0813492be75cdf35f9213245",
|
|
23043
|
+
"9bff443c020e0b807f7fd3b79913396f1fc316ac36a9c81010a05ef5179af9c7",
|
|
23044
|
+
"5d25dd117ca28fa1e2da7ba4d053a9dd348ea7bfd26f81b8d7a265a39de64dd9",
|
|
23045
|
+
"4a8d40ea7a1f22a23faa7c4c13cb936f4f0911a2a4b876bc2d4217c75f556a06",
|
|
23046
|
+
"951113dad1d7e002c3f7450d9381cec60ed6848807638e584b504517c927655e",
|
|
23047
|
+
"24a29a09251898ae3ff5681d8b32f9385eb5345b2684964ecc83d22cf4bd49c5",
|
|
23048
|
+
"aaf66a0ae371933cc1036e1957d1263d11abf8a4fe72cca255aa8b115ff67ae3",
|
|
23049
|
+
"7e803a171adf8e8018a4a982d0d2ba60a51e0386c9b43644e8b1d7471ae69ae8",
|
|
23050
|
+
"d69181a4df75929f8e6a10a79a87a9848a013fe732fbbea9be1e62f2342fd630",
|
|
23051
|
+
"6626f4aff5394729258a13c64fe12809fa20b41dec81071b6f1b94237a71d7af",
|
|
23052
|
+
"f772a72a5bad1d838d932aa720bccb960c1ac2f39a77a1cbe2e1c60c05d24109",
|
|
23053
|
+
"032e29b15f2fd2751a9bbd466c01aea0539711ab379af0f096ec91f87db5e8fc",
|
|
23054
|
+
"f9ab6b1458c217680d2acc51bf9e6cb874349ed42566e3118d3ca759770b0282",
|
|
23055
|
+
"35e37605494490091db0659462c5c6078c02fc528c3539adc0f3b3a4c06f0514",
|
|
23056
|
+
"9a287fc9d0b9036c8edaec3b9ac763d4257603eca80ee76a44913bfb0fded4ad",
|
|
23057
|
+
"a317e62d441499cc85ef0ac392aa5e7ca15b13f0730c1427b90f3fdeb500149f",
|
|
23058
|
+
"7844bb13a521faf52a45679dd8ac62e8268dd717755de6ee09659a52e473a8b1",
|
|
23059
|
+
"091d9024c3308b455f521525fbe41f1550e50ca03947d74487e6f88c85d42af3",
|
|
23060
|
+
"2a3d85896c5489cc53db3071512ef2deeb316bd462e67b405a5e5cf9b903154d",
|
|
23061
|
+
"63ef25642616c6dc4d72cbdf4c4f08c953797b3b15686e1cdf676e8e6624dee5",
|
|
23062
|
+
"846bb468a7dbe511c4f907a70e1f214e309abcad8217ff161743768158d53336",
|
|
23063
|
+
"ca5719554d2f60990682231e799dce7e64273175ed8eb088a7476a61deecc70b",
|
|
23064
|
+
"68dd8bfc9755fee980d5fc53bb3254af58bff9c0bdf9633008b3a37b1de19eb1",
|
|
23065
|
+
"4cd7e7a801c52c6dc09cfe3666105977dbc0b99e5eec2df4308db8964653d704",
|
|
23066
|
+
"b647fad1ec129e3c96919984785d60e23bc895a175c023fab4be3d7dbd02c3d4",
|
|
23067
|
+
"9fcab59583842ea3272684116ecbc2b4c606bee5229b11e67c1b4328dae20098",
|
|
23068
|
+
"9de4dd67e51696e3633f8e00b16adb291ee6743abe3a679ea810a9bbde61d17f",
|
|
23069
|
+
"511e936632505e2dc6fd0c5ad89bc70fb8a268aae19b3ab311878caa7f9b8b7c",
|
|
23070
|
+
"3e0b238b119c24e379b64b8dc2ce67053d45be13a34e3fcc2aed74c8f2bd52e0",
|
|
23071
|
+
"5e5a8754017a06eca205e5a536159b52f000d49695fe9e9862225e27f5e42a23",
|
|
23072
|
+
"4aad21981830666bb9a60d70b27e7051d761d76fe7bb8fb51417834f1f3e18e9",
|
|
23073
|
+
"39abb9304286ef59e523ca897a73daae92a063b620033243129205a88bd34d15",
|
|
23074
|
+
"daf07b1eda14733561bfb07409f683027717410dfc16293af3c80f89689d8730",
|
|
23075
|
+
"3602909b08cd681c4559826e41e51f359cfc5b6e6e0744e0bcc70faa158d265a",
|
|
23076
|
+
"8d09b0afefe00937b531acb058b61cc7a51e0734afe849e2925f1576939fea4f",
|
|
23077
|
+
"df7b9089f53eb539f31ee5ee1a014a99decaa47db7be001ab6cf1c4e3dc3f249",
|
|
23078
|
+
"d9f9148ba3bf5fa28f64f93d7d4f6f1ced35f1989c958d49338126970e3af305",
|
|
23079
|
+
"9bac18e8e5ad9f16842408733272e0176ada2d88f82a4d4c0efd86ace2af1f0c",
|
|
23080
|
+
"b4ae91a3126c217f10c75648859fd451e55b7001d60cb5d310ebc594de332b17",
|
|
23081
|
+
"348058dd9e87894c72590f6d053a5bcdd9e528eca023cc33a43c8f49842e6668",
|
|
23082
|
+
"d98afbfab194bcd0a63755cbb1a465bd3150cb7f12e074ad07b672f8ad6500c0",
|
|
23083
|
+
"262ce0d56102047cce2d3af2fc41455239407a3325085049660e0b6ccab110e4",
|
|
23084
|
+
"f891796e9696fe3b3c27a5b749d62aab532710c98ac4de16cf72646b350f3a3a",
|
|
23085
|
+
"1c883a27aaedd35e514ea097a5397d441f7c2897a426f725b3abb59f52d67dc5",
|
|
23086
|
+
"87a7af344ad074bc928540708f57ad325fc823806480629c1752d4fd74f26008",
|
|
23087
|
+
"c411223759e274ed9f9bedff87773d879a474fbf9b27ecddae84c425119f3e6c",
|
|
23088
|
+
"cec9f945d729b447cbb3528fa086e96560d81f520a0df48e5a09a15352c47e86",
|
|
23089
|
+
"cdce5b49edad8743a2e069869ca2b0710ef4b06c87ea979c6ada8f1300c42a84",
|
|
23090
|
+
"c220487c68068bfd08abae2d3ee7aaaf98c9d85e944023eeb9d47f1774f35bcb",
|
|
23091
|
+
"fb9f9d0d9566423267fc6d5e0f2fee25c750de2e014ae2190f2dc9fab1aa2d10",
|
|
23092
|
+
"c312ddfd61d3901076d8ea65d2c29f973099dcf19746a69a341ac3a3b583aaa3"
|
|
21944
23093
|
];
|
|
21945
23094
|
|
|
21946
23095
|
// ../shared/src/requirements.ts
|
|
@@ -22379,7 +23528,7 @@ function checkGameFiles(files, entry) {
|
|
|
22379
23528
|
return findings;
|
|
22380
23529
|
}
|
|
22381
23530
|
var KEY_MESSAGE = (what) => (found2) => `contains what looks like ${what} (${found2}). Every player can read a game's files: remove it, and revoke the key`;
|
|
22382
|
-
var
|
|
23531
|
+
var CONTENT_RULES2 = [
|
|
22383
23532
|
{
|
|
22384
23533
|
rule: "secret-key",
|
|
22385
23534
|
severity: "error",
|
|
@@ -22481,7 +23630,7 @@ function checkFileContent(path2, text2) {
|
|
|
22481
23630
|
const extension = extensionOf2(withoutEncoding(path2).path);
|
|
22482
23631
|
const findings = [];
|
|
22483
23632
|
const reported = /* @__PURE__ */ new Set();
|
|
22484
|
-
for (const rule of
|
|
23633
|
+
for (const rule of CONTENT_RULES2) {
|
|
22485
23634
|
if (rule.only && !rule.only.includes(extension)) continue;
|
|
22486
23635
|
const key = `${rule.rule}:${rule.pattern.source}`;
|
|
22487
23636
|
if (reported.has(key)) continue;
|
|
@@ -22843,6 +23992,12 @@ function titleLetters(title) {
|
|
|
22843
23992
|
var ERROR_STATUS = {
|
|
22844
23993
|
UNAUTHORIZED: 401,
|
|
22845
23994
|
FORBIDDEN: 403,
|
|
23995
|
+
/**
|
|
23996
|
+
* The token is publish-only (D104): it can start and finalize versions and list games and
|
|
23997
|
+
* versions, nothing else. Use `juicyjuicy login`, or a full token from /settings/tokens. CLIs up
|
|
23998
|
+
* to 0.14.0 get FORBIDDEN with the same message; 0.15.0 knows it (`NEWER_ERROR_CODES`).
|
|
23999
|
+
*/
|
|
24000
|
+
INSUFFICIENT_SCOPE: 403,
|
|
22846
24001
|
NOT_FOUND: 404,
|
|
22847
24002
|
VALIDATION_FAILED: 400,
|
|
22848
24003
|
INVALID_MANIFEST: 400,
|
|
@@ -22857,12 +24012,14 @@ var ERROR_STATUS = {
|
|
|
22857
24012
|
NOT_REMIXABLE: 403,
|
|
22858
24013
|
/**
|
|
22859
24014
|
* juicy.json's `id` is one of the creator's games, but its `slug` names another game or a new one
|
|
22860
|
-
* (D65): the slug was changed, or the folder was copied. Nothing was created.
|
|
24015
|
+
* (D65): the slug was changed, or the folder was copied. Nothing was created. CLI 0.11.0 is the
|
|
24016
|
+
* first that knows it; older ones get VALIDATION_FAILED (`NEWER_ERROR_CODES`).
|
|
22861
24017
|
*/
|
|
22862
24018
|
SLUG_CHANGED: 409,
|
|
22863
24019
|
/**
|
|
22864
24020
|
* The version can never be made live: an admin rejected it (D69). The game keeps its live
|
|
22865
24021
|
* version; publish a new one. The admin's comment, if any, is in the message and the versions list.
|
|
24022
|
+
* CLI 0.12.0 is the first that knows it, as with the next two; older ones get VALIDATION_FAILED.
|
|
22866
24023
|
*/
|
|
22867
24024
|
VERSION_REJECTED: 409,
|
|
22868
24025
|
/**
|
|
@@ -22887,7 +24044,8 @@ var ERROR_STATUS = {
|
|
|
22887
24044
|
/**
|
|
22888
24045
|
* The upload budget (D70) is used up: the member uploaded too many files in the last 24 hours
|
|
22889
24046
|
* (`details.retryAfterSeconds` says when enough frees up), or the whole site did, which also
|
|
22890
|
-
* pauses publishing until an admin looks. Retry later, never in a loop.
|
|
24047
|
+
* pauses publishing until an admin looks. Retry later, never in a loop. CLI 0.12.0 is the first
|
|
24048
|
+
* that knows it; older ones get RATE_LIMITED (`NEWER_ERROR_CODES`).
|
|
22891
24049
|
*/
|
|
22892
24050
|
UPLOAD_BUDGET_REACHED: 429,
|
|
22893
24051
|
/**
|
|
@@ -22897,6 +24055,13 @@ var ERROR_STATUS = {
|
|
|
22897
24055
|
* CLI 0.13.0 is the first that knows it; 0.12.0 and older get RATE_LIMITED (`NEWER_ERROR_CODES`).
|
|
22898
24056
|
*/
|
|
22899
24057
|
PUBLISH_LIMIT_REACHED: 429,
|
|
24058
|
+
/**
|
|
24059
|
+
* The creator's versions used up this month's share of the AI review budget (D99).
|
|
24060
|
+
* `details.nextAt` says when publishing is possible again (the first of next month, UTC, or when
|
|
24061
|
+
* the account's first week ends). Published games keep playing. Don't retry before then; test
|
|
24062
|
+
* locally and publish fewer, bigger updates. CLIs up to 0.13.0 get RATE_LIMITED; 0.14.0 knows it (`NEWER_ERROR_CODES`).
|
|
24063
|
+
*/
|
|
24064
|
+
REVIEW_ALLOWANCE_REACHED: 429,
|
|
22900
24065
|
/** An admin paused all publishing (PUBLISHING_PAUSED, the incident switch). Retry later. */
|
|
22901
24066
|
PUBLISHING_PAUSED: 503,
|
|
22902
24067
|
/** An admin paused this kind of action for now (comments, reports, likes and votes). */
|
|
@@ -22960,6 +24125,11 @@ var paramSchemas = {
|
|
|
22960
24125
|
}
|
|
22961
24126
|
})
|
|
22962
24127
|
),
|
|
24128
|
+
genre: external_exports.string().transform((value) => [
|
|
24129
|
+
...new Set(
|
|
24130
|
+
value.toLowerCase().split(",").map((id) => id.trim())
|
|
24131
|
+
)
|
|
24132
|
+
]).pipe(external_exports.array(genreSchema).max(MAX_GENRES, `use at most ${MAX_GENRES} genres`)),
|
|
22963
24133
|
lang: languageSchema,
|
|
22964
24134
|
q: external_exports.string().max(MAX_GAME_SEARCH_LENGTH),
|
|
22965
24135
|
remixes: external_exports.enum(["0", "1"]),
|
|
@@ -22975,20 +24145,27 @@ var gameListRequestSchema = external_exports.object({
|
|
|
22975
24145
|
sort: paramSchemas.sort.default(DEFAULT_GAME_LIST_QUERY.sort),
|
|
22976
24146
|
period: paramSchemas.period.default(DEFAULT_GAME_LIST_QUERY.period),
|
|
22977
24147
|
engine: paramSchemas.engine.optional(),
|
|
24148
|
+
genre: paramSchemas.genre.optional(),
|
|
22978
24149
|
tag: paramSchemas.tag.optional(),
|
|
22979
24150
|
lang: paramSchemas.lang.optional(),
|
|
22980
24151
|
q: paramSchemas.q.optional(),
|
|
22981
24152
|
remixes: paramSchemas.remixes.optional(),
|
|
22982
24153
|
multiplayer: paramSchemas.feature.optional(),
|
|
22983
24154
|
highscores: paramSchemas.feature.optional(),
|
|
24155
|
+
touch: paramSchemas.feature.optional(),
|
|
24156
|
+
remixable: paramSchemas.feature.optional(),
|
|
22984
24157
|
list: paramSchemas.list.optional(),
|
|
22985
24158
|
page: paramSchemas.page.default(DEFAULT_GAME_LIST_QUERY.page)
|
|
22986
|
-
}).transform(({ remixes, tag, ...rest }) => ({
|
|
24159
|
+
}).transform(({ remixes, tag, genre, ...rest }) => ({
|
|
22987
24160
|
...rest,
|
|
24161
|
+
...genre ? { genres: genre } : {},
|
|
22988
24162
|
...tag ? { tags: tag } : {},
|
|
22989
24163
|
remixes: remixFilter(remixes)
|
|
22990
24164
|
}));
|
|
22991
24165
|
|
|
24166
|
+
// ../shared/src/profile.ts
|
|
24167
|
+
var AVATAR_MAX_BYTES = 512 * 1024;
|
|
24168
|
+
|
|
22992
24169
|
// ../shared/src/publish-limits.ts
|
|
22993
24170
|
function isPublishLimitDetails(value) {
|
|
22994
24171
|
if (typeof value !== "object" || value === null) return false;
|
|
@@ -23056,6 +24233,34 @@ var ROOM_CODE_ALPHABET = "ABCDEFGHJKMNPQRSTUVWXYZ23456789";
|
|
|
23056
24233
|
var ROOM_CODE_LENGTH = 6;
|
|
23057
24234
|
var ROOM_CODE_PATTERN = new RegExp(`^[${ROOM_CODE_ALPHABET}]{${ROOM_CODE_LENGTH}}$`);
|
|
23058
24235
|
|
|
24236
|
+
// ../shared/src/review-allowance.ts
|
|
24237
|
+
function isReviewAllowanceDetails(value) {
|
|
24238
|
+
if (typeof value !== "object" || value === null) return false;
|
|
24239
|
+
const { usedUsd, limitUsd, nextAt } = value;
|
|
24240
|
+
return typeof usedUsd === "number" && typeof limitUsd === "number" && typeof nextAt === "string" && !Number.isNaN(Date.parse(nextAt));
|
|
24241
|
+
}
|
|
24242
|
+
function reviewAllowanceMessage(details, { now = /* @__PURE__ */ new Date(), timeZone } = {}) {
|
|
24243
|
+
const next = new Date(details.nextAt);
|
|
24244
|
+
const when = new Intl.DateTimeFormat("en-US", {
|
|
24245
|
+
month: "short",
|
|
24246
|
+
day: "numeric",
|
|
24247
|
+
hour: "2-digit",
|
|
24248
|
+
minute: "2-digit",
|
|
24249
|
+
hourCycle: "h23",
|
|
24250
|
+
timeZoneName: "short",
|
|
24251
|
+
timeZone
|
|
24252
|
+
}).format(next);
|
|
24253
|
+
return `Your versions have used this month's share of JuicyJuicy's automatic safety checks, so you can't publish until ${when} (${inTime2(next.getTime() - now.getTime())}). Your published games keep playing meanwhile. Test the game locally in dev and publish fewer, bigger updates.`;
|
|
24254
|
+
}
|
|
24255
|
+
function inTime2(ms) {
|
|
24256
|
+
const minutes = Math.max(1, Math.ceil(ms / 6e4));
|
|
24257
|
+
const count = (n2, unit) => `in ${n2} ${unit}${n2 === 1 ? "" : "s"}`;
|
|
24258
|
+
if (minutes < 60) return count(minutes, "minute");
|
|
24259
|
+
const hours = Math.ceil(minutes / 60);
|
|
24260
|
+
if (hours < 48) return count(hours, "hour");
|
|
24261
|
+
return count(Math.ceil(hours / 24), "day");
|
|
24262
|
+
}
|
|
24263
|
+
|
|
23059
24264
|
// ../shared/src/scores.ts
|
|
23060
24265
|
var MAX_SCORE_BOARDS = LIMITS.maxScoreBoardsPerGame;
|
|
23061
24266
|
var points = new Intl.NumberFormat("en-US");
|
|
@@ -26587,7 +27792,7 @@ var program = new Command();
|
|
|
26587
27792
|
// package.json
|
|
26588
27793
|
var package_default = {
|
|
26589
27794
|
name: "juicyjuicy",
|
|
26590
|
-
version: "0.
|
|
27795
|
+
version: "0.15.0",
|
|
26591
27796
|
description: "Publish AI-made browser games to juicyjuicy.games",
|
|
26592
27797
|
type: "module",
|
|
26593
27798
|
license: "MIT",
|
|
@@ -26661,6 +27866,22 @@ It's unlisted (it still plays by link) until an admin lists it again. Fix what t
|
|
|
26661
27866
|
case "member_warning":
|
|
26662
27867
|
return `A warning from JuicyJuicy's moderators${note.game ? ` about ${note.game}` : ""}:${quoted(note.comment)}
|
|
26663
27868
|
It shows on the site until you dismiss it there.`;
|
|
27869
|
+
// The rest aren't sent with a publish, but the site shows them and a newer server may list them.
|
|
27870
|
+
case "game_removed":
|
|
27871
|
+
return `JuicyJuicy's moderators removed ${game}:${quoted(note.comment)}
|
|
27872
|
+
It doesn't play until an admin restores it. The game's dashboard page says why and how to contest it.`;
|
|
27873
|
+
case "member_banned":
|
|
27874
|
+
return `JuicyJuicy's moderators suspended this account:${quoted(note.comment)}
|
|
27875
|
+
The sign-in page says why and how to contest it.`;
|
|
27876
|
+
case "comment_removed":
|
|
27877
|
+
return `JuicyJuicy's moderators deleted a comment of yours${note.game ? ` on ${note.game}` : ""}:${quoted(note.comment)}`;
|
|
27878
|
+
case "proposal_removed":
|
|
27879
|
+
return `JuicyJuicy's moderators deleted a proposal of yours:${quoted(note.comment)}`;
|
|
27880
|
+
case "thumbnail_rejected":
|
|
27881
|
+
return `JuicyJuicy's moderators rejected the new thumbnail of ${game}:${quoted(note.comment)}
|
|
27882
|
+
It won't be shown. Upload a different image to replace it.`;
|
|
27883
|
+
case "profile_moderated":
|
|
27884
|
+
return `JuicyJuicy's moderators removed ${note.subject ?? "something from your profile"}:${quoted(note.comment)}`;
|
|
26664
27885
|
}
|
|
26665
27886
|
}
|
|
26666
27887
|
function noteMessages(moderation, warnings, slug) {
|
|
@@ -27662,7 +28883,12 @@ ${i2}
|
|
|
27662
28883
|
|
|
27663
28884
|
// src/output.ts
|
|
27664
28885
|
var EXIT = { ok: 0, validation: 1, auth: 2, network: 3 };
|
|
27665
|
-
var AUTH_CODES = /* @__PURE__ */ new Set([
|
|
28886
|
+
var AUTH_CODES = /* @__PURE__ */ new Set([
|
|
28887
|
+
"UNAUTHORIZED",
|
|
28888
|
+
"EXPIRED_TOKEN",
|
|
28889
|
+
"ACCESS_DENIED",
|
|
28890
|
+
"INSUFFICIENT_SCOPE"
|
|
28891
|
+
]);
|
|
27666
28892
|
var NETWORK_CODES = /* @__PURE__ */ new Set([
|
|
27667
28893
|
"NETWORK_ERROR",
|
|
27668
28894
|
"NETWORK_BLOCKED",
|
|
@@ -27811,8 +29037,8 @@ var ApiClient = class {
|
|
|
27811
29037
|
}
|
|
27812
29038
|
if (isApiErrorBody(data)) {
|
|
27813
29039
|
const { code, message, details } = data.error;
|
|
27814
|
-
const text3 = code === "PUBLISH_LIMIT_REACHED" && isPublishLimitDetails(details) ? publishLimitMessage(details) : message;
|
|
27815
|
-
throw new CliError(code, text3, { details, hint: moderationHint(code) });
|
|
29040
|
+
const text3 = code === "PUBLISH_LIMIT_REACHED" && isPublishLimitDetails(details) ? publishLimitMessage(details) : code === "REVIEW_ALLOWANCE_REACHED" && isReviewAllowanceDetails(details) ? reviewAllowanceMessage(details) : message;
|
|
29041
|
+
throw new CliError(code, text3, { details, hint: moderationHint(code) ?? scopeHint(code) });
|
|
27816
29042
|
}
|
|
27817
29043
|
if (!response.ok) {
|
|
27818
29044
|
if (looksBlocked(response.status, text2)) {
|
|
@@ -27823,6 +29049,9 @@ var ApiClient = class {
|
|
|
27823
29049
|
return data;
|
|
27824
29050
|
}
|
|
27825
29051
|
};
|
|
29052
|
+
function scopeHint(code) {
|
|
29053
|
+
return code === "INSUFFICIENT_SCOPE" ? "Publish-only tokens are for CI. For this command, unset JUICY_TOKEN and run `juicyjuicy login`, or use a full token from https://juicyjuicy.games/settings/tokens." : void 0;
|
|
29054
|
+
}
|
|
27826
29055
|
function networkError(baseUrl, error62) {
|
|
27827
29056
|
const cause = describeCause(error62);
|
|
27828
29057
|
if (!TLS_ERRORS.test(cause) && isBlockedCause(baseUrl, cause)) {
|
|
@@ -28301,6 +29530,19 @@ async function checkProject(dir, options = {}) {
|
|
|
28301
29530
|
});
|
|
28302
29531
|
}
|
|
28303
29532
|
check3.issues.push(...englishIssues(manifest));
|
|
29533
|
+
if (!manifest.genres) {
|
|
29534
|
+
check3.issues.push({
|
|
29535
|
+
code: "INVALID_MANIFEST",
|
|
29536
|
+
message: `juicy.json needs "genres": 1 to ${MAX_GENRES} from JuicyJuicy's list: ${GENRE_IDS.join(", ")} (e.g. ${cliCommand("init --genres puzzle,arcade")})`,
|
|
29537
|
+
path: "genres"
|
|
29538
|
+
});
|
|
29539
|
+
}
|
|
29540
|
+
const themes = normalizeTags(manifest.tags).tags;
|
|
29541
|
+
if (themes.join() !== manifest.tags.join()) {
|
|
29542
|
+
check3.warnings.push(
|
|
29543
|
+
`JuicyJuicy keeps tags as themes, the setting or subject (D103): these tags will be saved as [${themes.join(", ")}]. Genre words belong in "genres"; "multiplayer" is kept for a game players play together, other features show by themselves.`
|
|
29544
|
+
);
|
|
29545
|
+
}
|
|
28304
29546
|
const letters2 = titleNotEnglish(manifest.title) ? null : titleLetters(manifest.title);
|
|
28305
29547
|
if (letters2) {
|
|
28306
29548
|
check3.warnings.push(
|
|
@@ -28556,7 +29798,9 @@ var KEY_ORDER = [
|
|
|
28556
29798
|
"entry",
|
|
28557
29799
|
"engine",
|
|
28558
29800
|
"madeWith",
|
|
29801
|
+
"genres",
|
|
28559
29802
|
"tags",
|
|
29803
|
+
"ageRating",
|
|
28560
29804
|
"languages",
|
|
28561
29805
|
"features",
|
|
28562
29806
|
"input",
|
|
@@ -28588,6 +29832,8 @@ async function buildManifest(dir, flags, ask) {
|
|
|
28588
29832
|
};
|
|
28589
29833
|
const thumbnail = pick2("thumbnail", detected.thumbnail);
|
|
28590
29834
|
if (thumbnail) values.thumbnail = thumbnail;
|
|
29835
|
+
if (flags.genres) values.genres = flags.genres;
|
|
29836
|
+
if (flags.ageRating) values.ageRating = flags.ageRating;
|
|
28591
29837
|
delete values.howItWasMade;
|
|
28592
29838
|
if (flags.sourceUrl) values.sourceUrl = flags.sourceUrl;
|
|
28593
29839
|
const fieldSchema = manifestSchema.shape;
|
|
@@ -28644,6 +29890,18 @@ function withGameId(manifest, id) {
|
|
|
28644
29890
|
}
|
|
28645
29891
|
return "id" in ordered ? ordered : { ...ordered, id };
|
|
28646
29892
|
}
|
|
29893
|
+
function withField(manifest, key, value) {
|
|
29894
|
+
if (key in manifest) return { ...manifest, [key]: value };
|
|
29895
|
+
const rank = KEY_ORDER.indexOf(key);
|
|
29896
|
+
const ordered = {};
|
|
29897
|
+
for (const [name, existing] of Object.entries(manifest)) {
|
|
29898
|
+
const after = KEY_ORDER.indexOf(name);
|
|
29899
|
+
if (!(key in ordered) && rank !== -1 && after > rank) ordered[key] = value;
|
|
29900
|
+
ordered[name] = existing;
|
|
29901
|
+
}
|
|
29902
|
+
if (!(key in ordered)) ordered[key] = value;
|
|
29903
|
+
return ordered;
|
|
29904
|
+
}
|
|
28647
29905
|
function splitList(value) {
|
|
28648
29906
|
return value.split(",").map((item) => item.trim()).filter(Boolean);
|
|
28649
29907
|
}
|
|
@@ -29284,6 +30542,34 @@ async function saveGameId(out, root, publicId) {
|
|
|
29284
30542
|
);
|
|
29285
30543
|
}
|
|
29286
30544
|
}
|
|
30545
|
+
async function syncAgeRating(out, root, declared, game) {
|
|
30546
|
+
const { ageRating: rating } = game;
|
|
30547
|
+
if (rating === void 0) return;
|
|
30548
|
+
if (rating === null) {
|
|
30549
|
+
out.warn(
|
|
30550
|
+
`${game.slug} has no age rating yet: set it on the game's dashboard, or add "ageRating" to juicy.json (everyone, 12+ or 16+, from the game's content) for its next update.`
|
|
30551
|
+
);
|
|
30552
|
+
return;
|
|
30553
|
+
}
|
|
30554
|
+
if (declared === rating) return;
|
|
30555
|
+
if (game.ageRatingLocked && declared) {
|
|
30556
|
+
out.warn(
|
|
30557
|
+
`JuicyJuicy's moderators set ${game.slug}'s age rating to ${rating}, so juicy.json's ${declared} doesn't apply; only an admin can change it.`
|
|
30558
|
+
);
|
|
30559
|
+
}
|
|
30560
|
+
try {
|
|
30561
|
+
const raw = await readRawManifest(root);
|
|
30562
|
+
if (!raw) return;
|
|
30563
|
+
await writeManifest(root, withField(raw, "ageRating", rating));
|
|
30564
|
+
out.info(
|
|
30565
|
+
`Saved the game's age rating (${rating}${game.ageRatingLocked ? ", set by JuicyJuicy's moderators" : ""}) in juicy.json.`
|
|
30566
|
+
);
|
|
30567
|
+
} catch (error62) {
|
|
30568
|
+
out.warn(
|
|
30569
|
+
`couldn't save the game's age rating in juicy.json (${error62 instanceof Error ? error62.message : String(error62)}); the publish goes on`
|
|
30570
|
+
);
|
|
30571
|
+
}
|
|
30572
|
+
}
|
|
29287
30573
|
async function publish(out, dir, options) {
|
|
29288
30574
|
const root = resolve4(dir);
|
|
29289
30575
|
if (out.interactive && !await readRawManifest(root)) {
|
|
@@ -29330,6 +30616,11 @@ async function publish(out, dir, options) {
|
|
|
29330
30616
|
);
|
|
29331
30617
|
}
|
|
29332
30618
|
await saveGameId(out, root, started.game.publicId);
|
|
30619
|
+
await syncAgeRating(out, root, manifest.ageRating, started.game);
|
|
30620
|
+
const rated = started.game.ageRating === void 0 ? {} : {
|
|
30621
|
+
ageRating: started.game.ageRating,
|
|
30622
|
+
...started.game.ageRatingLocked ? { ageRatingLocked: true } : {}
|
|
30623
|
+
};
|
|
29333
30624
|
out.event("version_started", {
|
|
29334
30625
|
slug: started.game.slug,
|
|
29335
30626
|
version: started.version,
|
|
@@ -29371,6 +30662,9 @@ async function publish(out, dir, options) {
|
|
|
29371
30662
|
if (started.keptDashboardThumbnail) {
|
|
29372
30663
|
out.info("Kept the thumbnail set on the game's dashboard; the screenshot wasn't used.");
|
|
29373
30664
|
}
|
|
30665
|
+
for (const warning of serverOnlyWarnings(checked.findings, finalized.findings)) {
|
|
30666
|
+
out.warn(warning);
|
|
30667
|
+
}
|
|
29374
30668
|
const done = started.keptDashboardThumbnail ? { ...finalized, keptDashboardThumbnail: true } : thumbnail?.auto ? { ...finalized, thumbnailAuto: true } : finalized;
|
|
29375
30669
|
let moderation = done.moderation;
|
|
29376
30670
|
const report = (data2, message) => {
|
|
@@ -29379,6 +30673,7 @@ async function publish(out, dir, options) {
|
|
|
29379
30673
|
out.result(
|
|
29380
30674
|
{
|
|
29381
30675
|
...data2,
|
|
30676
|
+
...rated,
|
|
29382
30677
|
...moderation ? { moderation } : {},
|
|
29383
30678
|
...notes.length > 0 ? { moderationNotice: MODERATION_NOTICE } : {}
|
|
29384
30679
|
},
|
|
@@ -29434,6 +30729,13 @@ async function publish(out, dir, options) {
|
|
|
29434
30729
|
);
|
|
29435
30730
|
report(data, `${manifest.title} v${done.version} is uploaded: ${done.gameUrl}`);
|
|
29436
30731
|
}
|
|
30732
|
+
function serverOnlyWarnings(local, server) {
|
|
30733
|
+
const key = (finding) => `${finding.rule}
|
|
30734
|
+
${finding.path ?? ""}
|
|
30735
|
+
${finding.message}`;
|
|
30736
|
+
const printed = new Set(local.map(key));
|
|
30737
|
+
return (server ?? []).filter((finding) => finding.severity === "warning" && !printed.has(key(finding))).map((finding) => `${finding.path ? `${finding.path}: ` : ""}${finding.message}`);
|
|
30738
|
+
}
|
|
29437
30739
|
async function waitForReview(api, slug, version2, {
|
|
29438
30740
|
timeoutMs = 45e3,
|
|
29439
30741
|
intervalMs = 2e3,
|
|
@@ -29461,6 +30763,7 @@ var LIST_FILTERS = [
|
|
|
29461
30763
|
"sort",
|
|
29462
30764
|
"period",
|
|
29463
30765
|
"engine",
|
|
30766
|
+
"genre",
|
|
29464
30767
|
"tag",
|
|
29465
30768
|
"search",
|
|
29466
30769
|
"remixes",
|
|
@@ -29474,6 +30777,7 @@ function listParams(options) {
|
|
|
29474
30777
|
["sort", options.sort],
|
|
29475
30778
|
["period", options.period],
|
|
29476
30779
|
["engine", options.engine],
|
|
30780
|
+
["genre", options.genre],
|
|
29477
30781
|
["tag", options.tag],
|
|
29478
30782
|
["q", options.search],
|
|
29479
30783
|
["remixes", options.remixes ? "1" : void 0],
|
|
@@ -29527,12 +30831,25 @@ ${note}`)
|
|
|
29527
30831
|
games.length === 0 ? mine && !filtered ? "No games yet. Publish one with `npx juicyjuicy publish`." : "No games match." : [
|
|
29528
30832
|
heading,
|
|
29529
30833
|
...games.map(
|
|
29530
|
-
(game) => ` ${game.slug.padEnd(24)} ${(game.version ? `v${game.version}` : "-").padEnd(5)} ${(options.all ? `@${game.owner}` : game.status).padEnd(9)} ${game.gameUrl}`
|
|
30834
|
+
(game) => ` ${game.slug.padEnd(24)} ${(game.version ? `v${game.version}` : "-").padEnd(5)} ${(options.all ? `@${game.owner}` : game.status).padEnd(9)} ${game.gameUrl}${needsUpdateNote(game)}`
|
|
29531
30835
|
),
|
|
29532
|
-
...nextPage ? [`More: add --page ${nextPage}.`] : []
|
|
30836
|
+
...nextPage ? [`More: add --page ${nextPage}.`] : [],
|
|
30837
|
+
...games.some((game) => game.needsUpdate?.length) ? [
|
|
30838
|
+
`Some need a required update: ${cliCommand("check-games")} settles what it can and says what each still needs.`
|
|
30839
|
+
] : []
|
|
29533
30840
|
].join("\n")
|
|
29534
30841
|
);
|
|
29535
30842
|
}
|
|
30843
|
+
function needsUpdateNote(game) {
|
|
30844
|
+
const needs = game.needsUpdate ?? [];
|
|
30845
|
+
if (needs.length === 0) return "";
|
|
30846
|
+
const titles = needs.map((need) => need.title).join(", ");
|
|
30847
|
+
if (game.status === "published" && needs.some((need) => need.phase === "enforced")) {
|
|
30848
|
+
return ` needs update (${titles}): out of the public lists until updated`;
|
|
30849
|
+
}
|
|
30850
|
+
const deadline = needs.filter((need) => need.phase === "grace").map((need) => need.deadline).sort()[0];
|
|
30851
|
+
return ` needs update (${titles})${deadline ? ` by ${deadline.slice(0, 10)}` : ""}`;
|
|
30852
|
+
}
|
|
29536
30853
|
function versionLine(v) {
|
|
29537
30854
|
const state = v.live ? "live" : v.rejected ? "rejected" : v.changesRequested ? "changes" : v.inReview ? "held" : v.draft && v.status === "ready" ? "draft" : v.status;
|
|
29538
30855
|
const why = v.rejected ? " (rejected by an admin; it can never go live)" : v.changesRequested ? ` (an admin asked for changes${v.changesRequested.resolvedAt ? "; a later version settled them" : ""}; it can't go live)` : v.inReview ? ` (waiting for an admin's review: ${v.heldReason ?? "it needs a person to look at it"})` : "";
|
|
@@ -30102,7 +31419,13 @@ function createProgram() {
|
|
|
30102
31419
|
"--made-with <list>",
|
|
30103
31420
|
'models and tools, e.g. "Claude Opus 5.5, Claude Code"',
|
|
30104
31421
|
splitList
|
|
30105
|
-
).option("--
|
|
31422
|
+
).option("--genres <list>", `1 to ${MAX_GENRES} of: ${GENRE_IDS.join(", ")}`, splitList).option(
|
|
31423
|
+
"--tags <list>",
|
|
31424
|
+
"up to 3 themes, the setting or subject, e.g. space,pirates",
|
|
31425
|
+
splitList
|
|
31426
|
+
).addOption(
|
|
31427
|
+
new Option("--age-rating <rating>", "who it's for, from its content").choices(AGE_RATINGS)
|
|
31428
|
+
).option(
|
|
30106
31429
|
"--languages <list>",
|
|
30107
31430
|
"language codes players can pick, the default first, e.g. en,pl",
|
|
30108
31431
|
splitList
|
|
@@ -30133,7 +31456,10 @@ ${REMIX_LICENSE_NAME} (--remixable): ${REMIX_LICENSE}`
|
|
|
30133
31456
|
"--period <period>",
|
|
30134
31457
|
"window for the upvoted/downvoted/played sorts (default all)"
|
|
30135
31458
|
).choices(GAME_PERIODS)
|
|
30136
|
-
).addOption(new Option("--engine <engine>", "only this engine").choices(ENGINES)).option("--
|
|
31459
|
+
).addOption(new Option("--engine <engine>", "only this engine").choices(ENGINES)).option("--genre <genre>", "only games in this genre, or any of several: puzzle,arcade").option(
|
|
31460
|
+
"--tag <tag>",
|
|
31461
|
+
"only games with this theme, e.g. space, or any of several: space,pirates"
|
|
31462
|
+
).option(
|
|
30137
31463
|
"--search <text>",
|
|
30138
31464
|
"only games with this text in the title, description, creator, tags or made-with"
|
|
30139
31465
|
).option("--remixes", "only remixes").option("--multiplayer", "only games with multiplayer rooms").option("--highscores", "only games with global highscores (leaderboards)").option("--page <n>", "page of --all to show (default 1)").addHelpText(
|