diff --git a/backend/api/controllers/config.js b/backend/api/controllers/config.ts similarity index 79% rename from backend/api/controllers/config.js rename to backend/api/controllers/config.ts index 6e2bc95f0..3de4e30f8 100644 --- a/backend/api/controllers/config.js +++ b/backend/api/controllers/config.ts @@ -3,14 +3,14 @@ import { validateConfig } from "../../handlers/validation"; import { MonkeyResponse } from "../../handlers/monkey-response"; class ConfigController { - static async getConfig(req, _res) { + static async getConfig(req: MonkeyTypes.Request): Promise { const { uid } = req.ctx.decodedToken; const data = await ConfigDAO.getConfig(uid); return new MonkeyResponse("Configuration retrieved", data); } - static async saveConfig(req, _res) { + static async saveConfig(req: MonkeyTypes.Request): Promise { const { config } = req.body; const { uid } = req.ctx.decodedToken; diff --git a/backend/api/controllers/leaderboards.js b/backend/api/controllers/leaderboards.ts similarity index 75% rename from backend/api/controllers/leaderboards.js rename to backend/api/controllers/leaderboards.ts index 06166e58c..b0344562e 100644 --- a/backend/api/controllers/leaderboards.js +++ b/backend/api/controllers/leaderboards.ts @@ -1,18 +1,18 @@ -import { MonkeyResponse } from "../../handlers/monkey-response"; import _ from "lodash"; +import { MonkeyResponse } from "../../handlers/monkey-response"; import LeaderboardsDAO from "../../dao/leaderboards"; class LeaderboardsController { - static async get(req, _res) { - const { language, mode, mode2, skip, limit } = req.query; + static async get(req: MonkeyTypes.Request): Promise { + const { language, mode, mode2, skip, limit = 50 } = req.query; const { uid } = req.ctx.decodedToken; const leaderboard = await LeaderboardsDAO.get( mode, mode2, language, - skip, - limit + parseInt(skip as string), + parseInt(limit as string) ); const normalizedLeaderboard = _.map(leaderboard, (entry) => { @@ -24,10 +24,12 @@ class LeaderboardsController { return new MonkeyResponse("Leaderboard retrieved", normalizedLeaderboard); } - static async getRank(req, _res) { + static async getRank(req: MonkeyTypes.Request): Promise { const { language, mode, mode2 } = req.query; const { uid } = req.ctx.decodedToken; + const data = await LeaderboardsDAO.getRank(mode, mode2, language, uid); + return new MonkeyResponse("Rank retrieved", data); } } diff --git a/backend/api/controllers/preset.js b/backend/api/controllers/preset.ts similarity index 74% rename from backend/api/controllers/preset.js rename to backend/api/controllers/preset.ts index c3c614732..094f09c5d 100644 --- a/backend/api/controllers/preset.js +++ b/backend/api/controllers/preset.ts @@ -2,14 +2,14 @@ import PresetDAO from "../../dao/preset"; import { MonkeyResponse } from "../../handlers/monkey-response"; class PresetController { - static async getPresets(req, _res) { + static async getPresets(req: MonkeyTypes.Request): Promise { const { uid } = req.ctx.decodedToken; const data = await PresetDAO.getPresets(uid); return new MonkeyResponse("Preset retrieved", data); } - static async addPreset(req, _res) { + static async addPreset(req: MonkeyTypes.Request): Promise { const { name, config } = req.body; const { uid } = req.ctx.decodedToken; @@ -18,7 +18,7 @@ class PresetController { return new MonkeyResponse("Preset created", data); } - static async editPreset(req, _res) { + static async editPreset(req: MonkeyTypes.Request): Promise { const { _id, name, config } = req.body; const { uid } = req.ctx.decodedToken; @@ -27,7 +27,7 @@ class PresetController { return new MonkeyResponse("Preset updated"); } - static async removePreset(req, _res) { + static async removePreset(req: MonkeyTypes.Request): Promise { const { presetId } = req.params; const { uid } = req.ctx.decodedToken; diff --git a/backend/api/controllers/psa.js b/backend/api/controllers/psa.ts similarity index 66% rename from backend/api/controllers/psa.js rename to backend/api/controllers/psa.ts index 2dad56e07..8fb60ea18 100644 --- a/backend/api/controllers/psa.js +++ b/backend/api/controllers/psa.ts @@ -2,8 +2,8 @@ import PsaDAO from "../../dao/psa"; import { MonkeyResponse } from "../../handlers/monkey-response"; class PsaController { - static async get(_req, _res) { - let data = await PsaDAO.get(); + static async get(_req: MonkeyTypes.Request): Promise { + const data = await PsaDAO.get(); return new MonkeyResponse("PSAs retrieved", data); } } diff --git a/backend/api/controllers/quotes.js b/backend/api/controllers/quotes.ts similarity index 82% rename from backend/api/controllers/quotes.js rename to backend/api/controllers/quotes.ts index f30e7e3d7..db2609852 100644 --- a/backend/api/controllers/quotes.js +++ b/backend/api/controllers/quotes.ts @@ -7,8 +7,11 @@ import Logger from "../../handlers/logger"; import { MonkeyResponse } from "../../handlers/monkey-response"; class QuotesController { - static async reportQuote(req, _res) { + static async reportQuote(req: MonkeyTypes.Request): Promise { const { uid } = req.ctx.decodedToken; + const { + quoteReport: { maxReports, contentReportLimit }, + } = req.ctx.configuration; const user = await UsersDAO.getUser(uid); if (user.cannotReport) { @@ -33,7 +36,7 @@ class QuotesController { }, }; - await ReportDAO.createReport(newReport); + await ReportDAO.createReport(newReport, maxReports, contentReportLimit); Logger.log("report_created", { type: newReport.type, diff --git a/backend/dao/report.js b/backend/dao/report.js index 63501ae9f..339887118 100644 --- a/backend/dao/report.js +++ b/backend/dao/report.js @@ -1,25 +1,21 @@ import MonkeyError from "../handlers/error"; import db from "../init/db"; - -const MAX_REPORTS = 1000; -const CONTENT_REPORT_LIMIT = 5; - class ReportDAO { - static async createReport(report) { + static async createReport(report, maxReports, contentReportLimit) { const reports = await db.collection("reports").find().toArray(); - if (reports.length >= MAX_REPORTS) { + if (reports.length >= maxReports) { throw new MonkeyError( 503, "Reports are not being accepted at this time. Please try again later." ); } - const reportAlreadyExists = reports.filter((existingReport) => { + const sameReports = reports.filter((existingReport) => { return existingReport.details.contentId === report.details.contentId; }); - if (reportAlreadyExists.length >= CONTENT_REPORT_LIMIT) { + if (sameReports.length >= contentReportLimit) { throw new MonkeyError( 409, "A report limit for this content has been reached." diff --git a/backend/middlewares/api-utils.ts b/backend/middlewares/api-utils.ts index 6137d8535..a729afbac 100644 --- a/backend/middlewares/api-utils.ts +++ b/backend/middlewares/api-utils.ts @@ -38,7 +38,7 @@ function validateConfiguration( type AsyncHandler = ( req: MonkeyTypes.Request, - res: Response + res?: Response ) => Promise; /** diff --git a/frontend/static/languages/_groups.json b/frontend/static/languages/_groups.json index ea5085d40..a0870557d 100644 --- a/frontend/static/languages/_groups.json +++ b/frontend/static/languages/_groups.json @@ -290,7 +290,8 @@ "code_swift", "code_bash", "code_lua", - "code_luau" + "code_luau", + "code_matlab" ] }, { diff --git a/frontend/static/languages/_list.json b/frontend/static/languages/_list.json index bf533a50e..f18c1d55d 100644 --- a/frontend/static/languages/_list.json +++ b/frontend/static/languages/_list.json @@ -157,6 +157,7 @@ ,"code_bash" ,"code_lua" ,"code_luau" + ,"code_matlab" ,"hindi" ,"hindi_1k" ,"macedonian" diff --git a/frontend/static/languages/code_matlab.json b/frontend/static/languages/code_matlab.json new file mode 100644 index 000000000..aa9ce5b7e --- /dev/null +++ b/frontend/static/languages/code_matlab.json @@ -0,0 +1,72 @@ +{ + "name": "code_matlab", + "leftToRight": true, + "noLazyMode": true, + "words": [ + "x", + "X", + ".^", + "plot", + "plot3", + "contour", + "contour3", + "y", + "Y", + "function[]", + "for", + "end", + "meshgrid", + "a:0.1:b", + "cos()", + "sin()", + "cosh()", + "sinh()", + "cos()", + "tan()", + "log()", + "sqrt()", + "exp()", + "@(x)", + "i=0", + "i++", + "~=", + "&&", + "==", + "linspace", + "ans", + "pi", + "nan", + "eps", + "real()", + "angle()", + "ceil", + "longspace", + "abs", + "floor", + "hold", + "figure", + "factorial()", + "round()", + "table()", + "surf()", + "scatter()", + "quiver()", + "f(x)", + "sign()", + "%comment", + "else", + "curl()", + "integral()", + "break", + "continue", + "roots()", + "normalize()", + "sort()", + "table()", + "text()", + "label()", + "zeros()", + "ones()", + "||" + ] +} diff --git a/frontend/static/languages/french_10k.json b/frontend/static/languages/french_10k.json index 1dc6b31e7..84f1193f6 100644 --- a/frontend/static/languages/french_10k.json +++ b/frontend/static/languages/french_10k.json @@ -2176,7 +2176,6 @@ "tend", "salades", "assassins", - "sommaires", "catégorique", "cerisier", "plages", @@ -2258,7 +2257,6 @@ "voire", "gouaille", "parfaite", - "rattachés", "consciente", "stranguler", "cruciale", @@ -2268,7 +2266,6 @@ "atteindra", "fluidité", "spéculation", - "rampante", "bureaucrate", "torride", "verbal", @@ -2309,9 +2306,7 @@ "stipule", "dialogues", "carré", - "littéraire", "dite", - "adjonction", "abîme", "décorer", "welter", @@ -2463,7 +2458,6 @@ "valait", "sortait", "patriotique", - "inopportun", "insertion", "coiffeur", "baser", @@ -2472,7 +2466,6 @@ "assortie", "vit", "netteté", - "estimer", "cendrier", "trempette", "strate", @@ -2485,7 +2478,6 @@ "pronom", "sculptures", "retenu", - "pub", "paillettes", "beuverie", "noms", @@ -2514,7 +2506,6 @@ "universités", "diamant", "équateur", - "chope", "comblé", "incroyable", "chah", @@ -2548,7 +2539,6 @@ "directrice", "monotonie", "hanneton", - "quantité", "bavure", "journées", "virginité", @@ -2612,7 +2602,6 @@ "barrique", "inhérent", "unilatérale", - "proposée", "brutes", "records", "squatters", @@ -2663,11 +2652,9 @@ "télé", "née", "compagnons", - "interviews", "étrier", "famine", "imprimerie", - "décidées", "kurdes", "nègre", "décerné", @@ -2728,11 +2715,9 @@ "sophistiqué", "bishop", "épineux", - "dite", "copyright", "priori", "impudent", - "familier", "écale", "façonner", "accéder", @@ -2757,11 +2742,9 @@ "atlantes", "formateurs", "coton", - "presse", "évolue", "anémie", "langage", - "diète", "fortunes", "tirage", "remparts", @@ -2803,10 +2786,7 @@ "prenaient", "parasol", "hétéroclite", - "cribler", - "nain", "gaullistes", - "bol", "lie", "puisse", "régaler", @@ -2816,7 +2796,6 @@ "théorique", "volets", "étui", - "maillon", "trochile", "frappé", "willy", @@ -2835,7 +2814,6 @@ "acteurs", "retrouvent", "acceptable", - "décroître", "styles", "prophète", "incarcéré", @@ -2846,14 +2824,11 @@ "émouvante", "emballer", "gaffe", - "gosse", "réduire en", "dépuceler", "recevront", "patriotisme", "fourrure", - "maintenu", - "acacia", "psychose", "incarner", "vacant", @@ -2883,7 +2858,6 @@ "sperme", "challenger", "livrés", - "tablette", "suspense", "négative", "évêques", @@ -2900,10 +2874,8 @@ "fiscales", "formes", "levier", - "annoncent", "rendant", "patronyme", - "invalidité", "assouvir", "bûcheur", "avitaminose", @@ -2921,7 +2893,6 @@ "hôpital", "assurant", "ajoutons", - "appareil", "londonien", "méconnus", "combiné", @@ -2935,11 +2906,9 @@ "piocher", "écoles", "grandissant", - "rupin", "assujettir", "détester", "transmuer", - "guidon", "rengaine", "café", "renouer", @@ -2958,8 +2927,6 @@ "conformisme", "rodomontade", "littérature", - "élocution", - "fossiliser", "stupéfiants", "minutie", "sortes", @@ -2982,7 +2949,6 @@ "marchais", "litres", "dégoûté par", - "autodafé", "consultants", "consultant", "astreintes", @@ -3016,7 +2982,6 @@ "leadership", "endurer", "abaissement", - "colombe", "telles", "bassin", "redevenu", @@ -3034,7 +2999,6 @@ "enlevés", "auditrice", "conférence", - "active", "bombe", "batterie", "phoque", @@ -3247,7 +3211,6 @@ "lancé", "carnassier", "détenir", - "accoucheuse", "cuisinière", "répété", "désabusé", @@ -3280,7 +3243,6 @@ "pôles", "contrefaçon", "considérée", - "moustachu", "extrait", "cruelle", "gronder", @@ -3323,7 +3285,6 @@ "hôte", "palme", "articulé", - "emmerder", "italiennes", "trimestre", "record", @@ -3389,7 +3350,6 @@ "don", "peintre", "éternelle", - "once", "ajourner", "descente", "aval", @@ -3436,7 +3396,6 @@ "frégates", "prétentieux", "globaux", - "prévoyant", "puche", "génome", "condensé", @@ -3501,7 +3460,6 @@ "revues", "croûte", "freluquet", - "suggéré", "yen", "collaborer", "opinions", @@ -3511,7 +3469,6 @@ "gracieuseté", "briquet", "occidental", - "péjoratif", "visée", "élus", "papillon", @@ -3604,7 +3561,6 @@ "ébouriffé", "transferts", "casquette", - "irrationnel", "dévisager", "dépit", "intimes", @@ -3618,7 +3574,6 @@ "annulation", "accepte", "espacé", - "gigoter", "escroquer", "auberge", "living-room", @@ -3722,7 +3677,6 @@ "céleri", "concasser", "balancer", - "coloniale", "jute", "pêcheur", "eau-de-vie", @@ -3753,13 +3707,10 @@ "bourrer", "plaisanter", "localité", - "carnassier", "satisfait", "envisagées", - "folles", "jumelle", "reçu", - "oppresser", "mousse", "bercer", "archaïsme", @@ -3782,17 +3733,13 @@ "dépenses", "orteil", "préface", - "prétendue", "arabes", "inimitié", - "slogan", "antichambre", "bénévoles", - "stand", "poivrot", "adminicule", "bridge", - "répétition", "arrêtés", "surgi", "impoli", @@ -3817,13 +3764,11 @@ "répercuter", "divergence", "chansons", - "conserve", "caressant", "leurre", "émulation", "érudit", "conçue", - "effectué", "gèrent", "malgré tout", "persistante", @@ -3878,7 +3823,6 @@ "majoritaire", "freiner", "portrait", - "entrent", "portés", "mécanismes", "gril", @@ -3887,7 +3831,6 @@ "performance", "refusent", "ignore", - "uvrer", "figue", "capital", "déshabiller", @@ -3902,7 +3845,6 @@ "omnipotent", "biologistes", "management", - "archevêque", "shopping", "convient", "éternuer", @@ -4044,7 +3986,6 @@ "souhaitait", "nourrissant", "remorquer", - "uvrer", "torcher", "ourse", "nonne", @@ -4096,7 +4037,6 @@ "essaient", "tonitruant", "héréditaire", - "globalement", "disparition", "clairs", "indicateur", @@ -4244,7 +4184,6 @@ "transgression", "condamnation", "propriété", - "dévaluer", "connut", "sénatorial", "chanteurs", @@ -4334,10 +4273,8 @@ "tuerie", "idéale", "eurent", - "présentés", "interrogées", "importées", - "opinion", "acajou", "motion", "gousse", @@ -4363,7 +4300,6 @@ "enchanteur", "nippons", "s'ensuivre", - "enculer", "concrétion", "passoire", "préconise", @@ -4373,7 +4309,6 @@ "synonyme", "stick", "actifs", - "oscillation", "adopte", "fureter", "fraudeur", @@ -4438,7 +4373,6 @@ "feuillets", "abats", "mûrs", - "rais", "cataclysme", "arrogance", "casernes", @@ -4455,7 +4389,6 @@ "pie", "réacteur", "oppressant", - "balourd", "évaluée", "blocage", "astronaute", @@ -4511,7 +4444,6 @@ "signaux", "alpes", "alléguer", - "finie", "clôture", "orange", "incident", @@ -4549,7 +4481,6 @@ "retrouvait", "débrancher", "sondage", - "adhérent", "allumé", "drogman", "mères", @@ -4572,7 +4503,6 @@ "directive", "contraster", "triompher", - "quiétude", "recette", "florissant", "brandebourg", @@ -4618,7 +4548,6 @@ "sous-marin", "alpin", "prenante", - "insolite", "contenu", "andorran", "balbutier", @@ -4639,7 +4568,6 @@ "néanmoins", "gigots", "aboyer", - "fairways", "jurer", "conçoit", "louange", @@ -4655,7 +4583,6 @@ "commis", "poussent", "marques", - "balivernes", "jubilation", "nos jours", "chapelle", @@ -4696,7 +4623,6 @@ "talentueux", "salami", "autorisées", - "allumé", "prépositif", "subalterne", "bouffon", @@ -4712,7 +4638,6 @@ "profondeur", "jean", "balance", - "pléiade", "biaiser", "conçus", "ours", @@ -4823,7 +4748,6 @@ "bail", "conformes", "constant", - "sentiments", "quartiers", "infliger", "neutralité", @@ -4874,7 +4798,6 @@ "lézarde", "augmenter", "stellionat", - "verts", "écroué", "portugais", "revêtement", @@ -5088,7 +5011,6 @@ "dirigeante", "fléchir", "clientes", - "territoires", "normales", "compacts", "laïc", @@ -5197,7 +5119,6 @@ "pesanteurs", "cacahouète", "viril", - "amidon", "couvert de", "wagons", "déconcerter", @@ -5221,7 +5142,6 @@ "cognitif", "compétences", "vraies", - "déformé", "irradier", "entrés", "géochimie", @@ -5261,7 +5181,6 @@ "bananier", "voisines", "autorisée", - "voyages", "boiter", "répression", "péninsule", @@ -5332,7 +5251,6 @@ "volontés", "unanimité", "ballerine", - "goitre", "roulement", "incessant", "subtilité", @@ -5361,7 +5279,6 @@ "inattentif", "engrais", "violon", - "baragouin", "désaccord", "brouillard", "rescapés", @@ -5387,25 +5304,19 @@ "dégage", "pommette", "acétone", - "licite", "ta", "tension", "prélèvement", - "esclaves", - "voisines", "division", "fesses", - "communiqués", "douces", "gamelle", - "bail", "désengorger", "pratiquées", "sélective", "ressemblent", "faits divers", "imposées", - "assourdir", "physiologie", "mule", "historiens", @@ -5418,8 +5329,6 @@ "échangés", "discutée", "horreur", - "glander", - "minet", "voisine", "ores", "approprié", @@ -5430,7 +5339,6 @@ "inventorier", "chaussette", "files", - "hébergement", "affermage", "interstice", "prochaine", @@ -5468,12 +5376,10 @@ "réunissent", "ordinal", "flâner", - "parties", "contre-pied", "complique", "répondu", "mésintelligence", - "dote", "tribu", "commente", "bienséance", @@ -5585,7 +5491,6 @@ "euromarché", "opérations", "greffer", - "emmerdeur", "ravisseurs", "dilater", "couteau", @@ -5629,7 +5534,6 @@ "longitude", "achèvement", "routes", - "sucre", "équilibres", "disposés", "oral", @@ -5771,7 +5675,6 @@ "contribuant", "cessation", "bouquin", - "enfoiré", "brise", "filigrane", "auxquels", @@ -5787,7 +5690,6 @@ "similaire", "cailler", "attribuer", - "resterait", "teinter", "dialecte", "défense", @@ -5797,7 +5699,6 @@ "brûlé", "aux", "talents", - "consternation", "considérés", "injurieux", "replacer", @@ -5888,7 +5789,6 @@ "champions", "barbu", "assentiment", - "exténuation", "illicite", "traînent", "altérer", @@ -5944,7 +5844,6 @@ "multimédias", "sanctifié", "paris", - "frénésie", "ulcère", "mlle", "angliciste", @@ -5969,7 +5868,6 @@ "sud", "aime", "leçon", - "ravisseurs", "facilement", "brillamment", "protester", @@ -6039,7 +5937,6 @@ "criminel", "erreurs", "tourne", - "météorites", "continuant", "tentera", "jugeaient", @@ -6079,7 +5976,6 @@ "blême", "situé", "musées", - "judicieux", "turbulent", "raffiné", "dis", @@ -6133,8 +6029,6 @@ "motrice", "entités", "métrages", - "ténacité", - "réelles", "panama", "souillon", "savais", @@ -6167,8 +6061,6 @@ "boutanche", "congelé", "porté", - "indéfini", - "dialecte", "justes", "artésien", "pénale", @@ -6201,7 +6093,6 @@ "souligne", "néphrite", "ensemencer", - "servir de", "pavé", "marquent", "empiler", @@ -6225,7 +6116,6 @@ "alligator", "intacte", "usurpateur", - "caca", "adapté", "routiers", "éclatante", @@ -6236,7 +6126,6 @@ "bougent", "lanciner", "décelant", - "refrains", "baobab", "solidement", "primer", @@ -6301,7 +6190,6 @@ "koweïtiens", "passages", "limite", - "fainéanter", "fanatisme", "dérange", "rouspéter", @@ -6346,7 +6234,6 @@ "inclus", "top", "fourguer", - "rouspéter", "enthousiastes", "fourrier", "libère", @@ -6535,12 +6422,10 @@ "interrompu", "bistrot", "infection", - "distinction", "prédominance", "organise", "titan", "taquinerie", - "narcissisme", "exercent", "gamin", "complètent", @@ -6549,9 +6434,7 @@ "alléger", "préparant", "espionner", - "lacté", "éditorial", - "manuels", "pressant", "enrayer", "causés", @@ -6634,7 +6517,6 @@ "amnésie", "questionner", "bonhomme", - "soudoyer", "austral", "reproché", "partagé", @@ -6694,16 +6576,13 @@ "appellent", "tronc arbre", "couramment", - "redoubler", "végéter", "maquisards", "campus", "ignorant", "paniquer", "eurotunnel", - "taquinerie", "saline", - "peinture", "parvenait", "antan", "relancer", @@ -6737,7 +6616,6 @@ "asphaltage", "mouton", "désintérêt", - "transvider", "contempler", "préretraite", "aborder", @@ -6798,7 +6676,6 @@ "mondiale", "composée", "confortable", - "chambrer", "faucon", "connaissait", "escorté", @@ -6807,7 +6684,6 @@ "délateur", "dégagés", "volumineux", - "promoteur", "correspond", "saisons", "obstiné", @@ -6815,7 +6691,6 @@ "bafouiller", "veinard", "tain", - "chromosome", "tranchet", "attrayant", "inopiné", @@ -6827,16 +6702,13 @@ "masculins", "honoraires", "clos", - "libère", "vise", "inventeur", - "asphyxie", "proclamait", "tissé", "urbanisme", "cils", "grand-père", - "fabrication", "cheikh", "billes", "charmes", @@ -6844,7 +6716,6 @@ "escomptés", "footballeur", "pratiquant", - "posait", "hymne", "rouiller", "défilent", @@ -6881,7 +6752,6 @@ "humecté", "jan", "prospection", - "cognac", "mouloud", "salubre", "brouhaha", @@ -6902,7 +6772,6 @@ "africaines", "commandes", "contribuera", - "micros", "empoté", "statistiques", "munir", @@ -6940,11 +6809,9 @@ "seller", "envieux", "compacité", - "comprends", "agit", "mouchard", "fureur", - "dépense", "entreprises", "appesantir", "cohue", @@ -6953,7 +6820,6 @@ "approuver", "payait", "régional", - "drogue", "ramène", "marmot", "opposés", @@ -7059,7 +6925,6 @@ "comptant", "humer", "précautions", - "respectifs", "égotique", "perpétrés", "agi", @@ -7216,7 +7081,6 @@ "scandinaves", "grossièreté", "guide", - "quinzaine", "imperméable", "dividendes", "bougies", @@ -7235,7 +7099,6 @@ "attendrir", "roulotte", "commenté", - "somnoler", "antisémites", "précepte", "ravis", @@ -7253,7 +7116,6 @@ "monnaie", "fidéliser", "ceux-ci", - "brisé", "doués", "gauchère", "entraide", @@ -7271,14 +7133,12 @@ "boston", "dispute", "tare", - "obstétrical", "effleurer", "consensus", "icône", "signatures", "engendre", "vigueur", - "reins", "maillet", "blanche", "courroux", @@ -7447,7 +7307,6 @@ "inauguré", "croche-pied", "navrer", - "jaseuse", "clarification", "sillon", "décidé", @@ -7516,7 +7375,6 @@ "utérus", "metteur", "passaient", - "adhérents", "délicate", "publiant", "devenues", @@ -7537,12 +7395,10 @@ "définit", "entrepôts", "oxyde", - "échantillon", "coopérer", "défendant", "raviner", "destin", - "obstacle", "deviendrait", "située", "opéré", @@ -7566,15 +7422,12 @@ "courtes", "ultimes", "mésaventure", - "doré", "démunis", "coriace", "pronominal", "fabriquent", "fondé", "réfère", - "masculinité", - "plant", "agglomérat", "iraniens", "feuilleter", @@ -7589,7 +7442,6 @@ "faction", "broc broche", "diffamer", - "inauguré", "écluser", "mec", "éclaté", @@ -7663,7 +7515,6 @@ "protection", "plomb", "principale", - "chantier", "moto", "symptôme", "pilule", @@ -7735,7 +7586,6 @@ "gréco-latin", "cheminots", "lettré", - "travailleur", "amodiataire", "malhabile", "saper", @@ -7756,7 +7606,6 @@ "rangé", "modo", "séparé", - "limitant", "chypre", "essayé", "monastique", @@ -7811,7 +7660,6 @@ "rincer ", "punissable", "rénovateur", - "gardien", "cols", "marquera", "warning", @@ -7827,7 +7675,6 @@ "attendu", "data", "serbes", - "géodésie", "sert", "toits", "protège", @@ -7879,7 +7726,6 @@ "antagoniste", "abécédaire", "connotation", - "persifler", "disciples", "entamée", "menant", @@ -7908,9 +7754,7 @@ "enlevé", "rachats", "régurgiter", - "parfait", "perdait", - "hermès", "fiançailles", "emportement", "attendue", @@ -7970,9 +7814,7 @@ "prenons", "consolidé", "expose", - "limitant", "vécu", - "planque", "occurrence", "motif", "arbitrage", @@ -8027,7 +7869,6 @@ "employés", "nager", "préoccupés", - "asservir", "racines", "carmélites", "crachat", @@ -8069,8 +7910,6 @@ "ployer", "adventiste", "agencer", - "ménage", - "plaisante", "mortuaire", "estrade", "industries", @@ -8098,7 +7937,6 @@ "potes", "demi-lune", "singulier", - "amie", "blasphémer", "droiture", "quelconque", @@ -8114,7 +7952,6 @@ "congélateur", "créole", "prolongé", - "métropoles", "fiables", "grillade", "crever", @@ -8144,7 +7981,6 @@ "gigantesque", "herbage", "administrer", - "géodésie", "fréquences", "gilets", "refusaient", @@ -8201,12 +8037,9 @@ "pelisse", "soubrette", "arranger", - "merveilleux", "larges", - "examens", "côtoient", "tasser", - "recrues", "rendements", "mise", "demi-finale", @@ -8333,7 +8166,6 @@ "ricaner", "vécue", "marchande", - "consultés", "février", "mensonges", "logiciel", @@ -8369,7 +8201,6 @@ "phrénologie", "physiques", "enlèvement", - "consultés", "certifier", "informée", "tricoter", @@ -8389,7 +8220,6 @@ "reportée", "métayer", "revienne", - "revienne", "proposait", "expresse", "immiscer", @@ -8439,7 +8269,6 @@ "orale", "impropre", "regardé", - "happer", "télex", "parkings", "cotée", @@ -8501,7 +8330,6 @@ "carreau", "obstruer", "rime", - "bulletin", "réitéré", "actuels", "exécutif", @@ -8534,7 +8362,6 @@ "dédain", "toilettes", "emblave", - "pâturage", "mêlant", "attrait", "abstraite", @@ -8546,7 +8373,6 @@ "ébranler", "javelot", "biologique", - "couturière", "bouillir", "justifié", "marathon", @@ -8559,7 +8385,6 @@ "expéditeur", "coupé", "préhistoire", - "actuels", "ablation", "roumaines", "chiffonner", @@ -8594,7 +8419,6 @@ "anticipées", "crevé", "laïcité", - "façons", "antiquaire", "ignorance", "rétribution", @@ -8620,7 +8444,6 @@ "inventeurs", "mutuelle", "continue", - "connais", "instruction", "surchauffer", "démodés", @@ -8660,7 +8483,6 @@ "maints", "échangé", "agences", - "informée", "état-major", "formel", "alchimique", @@ -8682,7 +8504,6 @@ "arboriculture", "plates", "buisson", - "insiste", "apogée", "accus", "bravement", @@ -8701,7 +8522,6 @@ "semblait", "instruire", "ait", - "expresse", "arrêté", "cornu", "acrobatie", @@ -8717,7 +8537,6 @@ "reçus", "tchador", "renvoyé", - "décorateur", "quêter", "dissoute", "sommation", @@ -8787,7 +8606,6 @@ "moabite", "tempéré", "mandarine", - "entendent", "rapides", "droitier", "surplus", @@ -8796,7 +8614,6 @@ "dru", "résolus", "blessés", - "abortif", "dépôts", "transporter", "profonds", @@ -8812,7 +8629,6 @@ "mil", "pérennité", "fuyant", - "nôtre", "employeur", "chauffe-eau", "conducteur", @@ -8820,7 +8636,6 @@ "palier", "obligeant", "derniers", - "actif", "dégaine", "jura", "miroir", @@ -8832,9 +8647,7 @@ "rolliers", "trouvent", "majeurs", - "dépendre de", "illimitée", - "bébête", "sombres", "stupeur", "tannique", @@ -8889,9 +8702,7 @@ "tolérer", "crédible", "anonyme", - "demandait", "franchise", - "obligé", "avant-garde", "bocal", "barcarolle", @@ -8987,7 +8798,6 @@ "carioca", "opulent", "ancre", - "franchise", "cités", "sauraient", "entreposer", @@ -9066,7 +8876,6 @@ "légitimes", "locution", "abonnements", - "industriels", "bâiller", "glaise", "auspices", @@ -9146,7 +8955,6 @@ "exploiter", "rameau", "appliqués", - "trombe", "toréador", "races", "croisement", @@ -9167,7 +8975,6 @@ "sultanat", "pacifique", "régiment", - "avant-garde", "minotier", "marchands", "renom", @@ -9191,9 +8998,7 @@ "révélations", "retrouvée", "dessinée", - "fabiusiens", "fonds", - "apportent", "totalitaire", "qualifier", "sensualité", @@ -9206,7 +9011,6 @@ "asocial", "compagnies", "paru", - "allégement", "averti", "essais", "lamentable", @@ -9238,8 +9042,6 @@ "fut", "palestinien", "fausser", - "dessinée", - "mesurer", "revenant", "désigne", "critiquer", @@ -9304,7 +9106,6 @@ "lecteurs", "diane", "cédé", - "minotier", "panaméennes", "magouille", "déplaisant", @@ -9318,7 +9119,6 @@ "Ève", "enchanté de", "odorat", - "fiacre", "écrivain", "battants", "constats", @@ -9346,19 +9146,15 @@ "gouailleur", "autorisé", "assure", - "secs", "immobiliers", "dernière", "options", "finis", "coût", - "tramer", "joujou", "bottin", - "condamnant", "prioritaire", "troubles", - "bobonne", "civilement", "fruits", "contiennent", @@ -9518,7 +9314,6 @@ "assiste", "favorables", "ascenseur", - "civiles", "respects", "humour", "estomac", @@ -9543,7 +9338,6 @@ "aisée", "abrégée", "levain", - "placent", "chimique", "distraire", "passa", @@ -9564,7 +9358,6 @@ "dévouement", "dam", "décès", - "passa", "prises", "inaction", "marteler", @@ -9668,7 +9461,6 @@ "virulente", "recul", "ignorait", - "kanak", "éditions", "répartie", "finira", @@ -9694,7 +9486,6 @@ "entourée", "méritait", "ouvrant", - "surprises", "atchoum", "accords", "extorqueur", @@ -9731,7 +9522,6 @@ "coma", "cellules", "précédentes", - "sidérurgie", "naît", "rune", "réaffirme", @@ -9757,7 +9547,6 @@ "désunir", "maintenus", "paysanne", - "triple", "écologie", "publia", "chaudes", @@ -9768,7 +9557,6 @@ "jospinistes", "ovule", "conne", - "candeur", "soient", "royaume", "évidemment", @@ -9811,8 +9599,6 @@ "prévoyance", "sortent", "laiteux", - "niquer", - "vade-mecum", "couvertures", "méridien", "modifiés", @@ -9834,7 +9620,6 @@ "orientale", "bonne", "conception", - "tirant", "grosso", "saurait", "chuter", @@ -9912,13 +9697,11 @@ "détournés", "bavarder", "hutte", - "modifiés", "oblige", "aimée", "farouche", "guides", "saisis", - "charpente", "pharaons", "poireauter", "ébullition", @@ -9934,7 +9717,6 @@ "mettait", "plate", "sonné", - "monstrueux", "analogues", "explosé", "polygame", @@ -9942,7 +9724,6 @@ "ambulance", "aloès", "sauvetage", - "vu", "emprisonné", "faner", "notice", @@ -9989,7 +9770,6 @@ "crois", "réservées", "urbains", - "rancurs", "crabe", "causes", "insensibles", @@ -10173,7 +9953,6 @@ "folâtre", "joua", "sincèrement", - "bancaire", "placé", "limoger", "concédé", @@ -10199,11 +9978,9 @@ "écheveau", "managers", "couloir", - "ouvrait", "présenté", "mètres", "troupes", - "évite", "tournant", "ouragan", "renfermé", @@ -10235,7 +10012,6 @@ "recharger", "concrètes", "repères", - "assouvi", "république", "référant", "présidium", @@ -10250,7 +10026,6 @@ "humanisme", "jouant", "for", - "riper", "azimut", "syndicaux", "cajoleur", @@ -10285,7 +10060,6 @@ "étançonner", "musarder", "perpétuer", - "épousé", "forum", "taciturne", "couperet", @@ -10321,8 +10095,6 @@ "apéritif", "cochon", "noyau", - "plaider", - "couvre-chef", "séjours", "huissiers", "risquait", @@ -10342,7 +10114,6 @@ "éléments", "noyer", "coloris", - "jarousse", "deutsche", "nécessités", "ethniques", @@ -10356,7 +10127,6 @@ "taquiner", "arias", "sangle", - "morceaux", "micro-", "moissonneur", "commise", @@ -10399,7 +10169,6 @@ "lancement", "libéralisme", "satisfaites", - "tristounet", "exalter", "traitants", "concis", @@ -10419,7 +10188,6 @@ "délinquants", "agraire", "iront", - "enfler", "médaille", "concierge", "ligue",