{
  "geometry": "32x8",
  "width": 32,
  "height": 8,
  "version": "4fe2a4b1265e",
  "commit": "b4002c749f84608e66ff71132b2c65d175279a2e",
  "engine": {
    "file": "wled-animations.js",
    "sha256": "4fe2a4b1265e17d40c3e4015ae83d16cb487b868f15d50c6998a3d57b64a409c",
    "size": 191661
  },
  "gif": {
    "fps": 25,
    "colors": 128
  },
  "categories": [
    {
      "id": "f1",
      "name": "F1 / Red Bull"
    },
    {
      "id": "f1-pilotes",
      "name": "F1 2026 · Pilotes"
    },
    {
      "id": "f1-ecuries",
      "name": "F1 2026 · Écuries"
    },
    {
      "id": "top14",
      "name": "Top 14 & Europe"
    },
    {
      "id": "rugby",
      "name": "Rugby / Stade Toulousain"
    },
    {
      "id": "iron-man",
      "name": "Iron Man"
    },
    {
      "id": "super-heros",
      "name": "Super-héros"
    },
    {
      "id": "deadpool",
      "name": "Deadpool"
    },
    {
      "id": "jeu-video",
      "name": "Jeu vidéo"
    },
    {
      "id": "home-assistant",
      "name": "Maison & notifications"
    },
    {
      "id": "meteo",
      "name": "Météo"
    },
    {
      "id": "matrix",
      "name": "Matrix"
    },
    {
      "id": "manga",
      "name": "Manga"
    },
    {
      "id": "fetes",
      "name": "Saisons et fêtes"
    },
    {
      "id": "utilitaires",
      "name": "Utilitaires"
    },
    {
      "id": "ambiance",
      "name": "Ambiance et abstrait"
    }
  ],
  "animations": [
    {
      "id": "f1lights",
      "name": "Feux de départ F1",
      "tag": "LIGHTS OUT",
      "category": "f1",
      "desc": "Les 5 feux rouges s'allument un par un, tiennent la tension, puis extinction — et les traînées de vitesse partent. Le classique absolu, parfaitement lisible sur 8 lignes.",
      "fx": "Séquence + extinction + traînées",
      "speed": "Cycle 7,6 s",
      "cols": [
        [
          "#ff1410",
          "Rouge feu"
        ],
        [
          "#ffb0a0",
          "Cœur chaud"
        ],
        [
          "#ffffff",
          "Traînées"
        ]
      ],
      "gif": {
        "file": "gif/f1lights.gif",
        "sha256": "658b2cba9bfdd5e643a3134ee6ce5e1beb991c862b40959ad5404f9449aa480e",
        "size": 17937,
        "frames": 190,
        "seconds": 7.6,
        "exact": true
      }
    },
    {
      "id": "max",
      "name": "Max Verstappen",
      "tag": "RED BULL RACING",
      "category": "f1",
      "desc": "Numéro géant en 5×7 avec halo rouge Red Bull qui pulse, nom qui défile, et un balayage damier qui traverse la dalle à chaque tour de boucle.",
      "fx": "Pulse + défilement + wipe damier",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#0e1f4a",
          "Navy RBR"
        ],
        [
          "#ffffff",
          "Chiffre"
        ],
        [
          "#e10600",
          "Halo rouge"
        ]
      ],
      "opt": {
        "key": "num",
        "label": "N°",
        "values": [
          "3",
          "33",
          "1"
        ],
        "def": "3"
      },
      "gif": {
        "file": "gif/max.gif",
        "sha256": "69fceac82c5d789677db5a0a0f01a24b9c5a6ca4f3a5700688101943fa607756",
        "size": 48553,
        "frames": 269,
        "seconds": 10.75,
        "exact": false
      }
    },
    {
      "id": "rbr",
      "name": "Red Bull Racing",
      "tag": "F1 CAR",
      "category": "f1",
      "desc": "La monoplace traverse la dalle à pleine vitesse avec traînées, étincelles de fond plat et ligne de piste qui défile — puis le nom de l'écurie prend le relais.",
      "fx": "Sprite animé + traînées + étincelles",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#2048b4",
          "Carrosserie"
        ],
        [
          "#e10600",
          "Rouge RBR"
        ],
        [
          "#ffc400",
          "Jaune casque"
        ]
      ],
      "gif": {
        "file": "gif/rbr.gif",
        "sha256": "00413a13d51a1fea90a87c273fbd497ccf8c49f64ebbb0b533c4ed784c07928a",
        "size": 33117,
        "frames": 275,
        "seconds": 11,
        "exact": false
      }
    },
    {
      "id": "matrix",
      "name": "Matrix — pluie digitale",
      "tag": "DIGITAL RAIN",
      "category": "matrix",
      "desc": "Vraie pluie de code : chaque colonne a sa vitesse et sa longueur de traîne, tête blanc-vert et dégradé exponentiel. Toutes les 9 s la pluie se fige sur le mot MATRIX.",
      "fx": "Colonnes indépendantes + révélation",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#c8ffd0",
          "Tête"
        ],
        [
          "#00ff41",
          "Traîne"
        ],
        [
          "#003b12",
          "Queue"
        ]
      ],
      "gif": {
        "file": "gif/matrix.gif",
        "sha256": "b724b6ce6957362e7f02abfc4da6684c73d3c88c1214c1f1d2d7856cb6d728a4",
        "size": 31966,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "deadpool",
      "name": "Deadpool",
      "tag": "MAXIMUM EFFORT",
      "category": "deadpool",
      "desc": "Le masque tient toute la hauteur à gauche, les yeux plissent régulièrement, et un coup de katana blanc traverse la dalle en diagonale toutes les 5 s pendant que le texte défile.",
      "fx": "Masque + clignement + slash katana",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#be0c14",
          "Rouge masque"
        ],
        [
          "#f5f5fa",
          "Yeux"
        ],
        [
          "#ffffff",
          "Katana"
        ]
      ],
      "gif": {
        "file": "gif/deadpool.gif",
        "sha256": "f663bb8ffdb09b2eca7c5afe56ee1637b1d3bc9d9cecda79689713bd364550a5",
        "size": 38084,
        "frames": 300,
        "seconds": 12,
        "exact": false
      }
    },
    {
      "id": "overwatch",
      "name": "Overwatch",
      "tag": "ORANGE GLOW",
      "category": "jeu-video",
      "desc": "Le logo pulse en orange saturé avec un cœur blanc et un bloom net, une ligne de scan cyan balaye la dalle, et le nom défile sur fond ardoise.",
      "fx": "Pulse + scan + défilement",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#f99e1a",
          "Orange OW"
        ],
        [
          "#ffffff",
          "Cœur"
        ],
        [
          "#43d8ff",
          "Scan"
        ]
      ],
      "gif": {
        "file": "gif/overwatch.gif",
        "sha256": "eac9c82da517d700c973d38470e85afb20cd08243cac566a4ff2252819bc0871",
        "size": 24992,
        "frames": 219,
        "seconds": 8.75,
        "exact": false
      }
    },
    {
      "id": "stade",
      "name": "Stade Toulousain",
      "tag": "ROUGE ET NOIR",
      "category": "rugby",
      "desc": "Monogramme ST qui pulse avec onde rouge concentrique, puis liseré rouge/noir animé haut et bas façon maillot pendant que le nom du club défile.",
      "fx": "Monogramme + onde + liseré",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#d20a1e",
          "Rouge ST"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#000000",
          "Noir"
        ]
      ],
      "gif": {
        "file": "gif/stade.gif",
        "sha256": "781d0d82e245c83e361a5e8f1108de179cf615fe218436394d39e6c55a3977c1",
        "size": 41003,
        "frames": 285,
        "seconds": 11.4,
        "exact": false
      }
    },
    {
      "id": "manga",
      "name": "Yeux manga",
      "tag": "ANIME EYES",
      "category": "manga",
      "desc": "Deux yeux dessinés en sous-pixel (bords adoucis par alpha), iris qui change de teinte, regard qui balaye, clignement toutes les 3 s et étincelle brillante.",
      "fx": "Rendu procédural + clignement",
      "speed": "Cycle 3,2 s",
      "cols": [
        [
          "#eef2ff",
          "Sclère"
        ],
        [
          "#3c8cff",
          "Iris"
        ],
        [
          "#ffffff",
          "Éclat"
        ]
      ],
      "gif": {
        "file": "gif/manga.gif",
        "sha256": "04ab92523e150ab7a3e6e268095b0e41d3714aa5292787ab7dd4e7c40f3d04c9",
        "size": 44459,
        "frames": 320,
        "seconds": 12.8,
        "exact": false
      }
    },
    {
      "id": "marvel",
      "name": "Marvel",
      "tag": "STUDIOS INTRO",
      "category": "super-heros",
      "desc": "Reprise de l'intro Marvel Studios : défilement rapide de bandes sur le rouge signature, puis le logo se fige en blanc et un reflet spéculaire le traverse.",
      "fx": "Bandes rapides + spéculaire",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ec1d24",
          "Rouge Marvel"
        ],
        [
          "#ffffff",
          "Logo"
        ],
        [
          "#ff9c9c",
          "Reflet"
        ]
      ],
      "gif": {
        "file": "gif/marvel.gif",
        "sha256": "88e7147481027fae6b4b71586552d19b4f6acbcf2177aeeb74b30ed9eb8f8a5c",
        "size": 21309,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "drs",
      "name": "DRS activé",
      "tag": "F1",
      "category": "f1",
      "desc": "Fond vert qui pulse, chevrons qui filent vers la droite et « DRS ENABLED » qui traverse la dalle en entier.",
      "fx": "Pulse + chevrons + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#00c853",
          "Vert DRS"
        ],
        [
          "#7bffb0",
          "Chevrons"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/drs.gif",
        "sha256": "09b7393be3dc412a2958d55b69fdca5b91642f833baa3eb7f760fecbc7413302",
        "size": 19457,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "pitstop",
      "name": "Arrêt au stand",
      "tag": "BOX BOX",
      "category": "f1",
      "desc": "« BOX BOX BOX » traverse la dalle, puis le chrono d'arrêt grimpe en gros chiffres pendant que les roues clignotent.",
      "fx": "Défilement + chrono + roues",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#ffd400",
          "Jaune stand"
        ],
        [
          "#ffffff",
          "Chrono"
        ],
        [
          "#e10600",
          "Roues"
        ]
      ],
      "gif": {
        "file": "gif/pitstop.gif",
        "sha256": "4b29a55835681aec71b7d29c23fcd93922a9e384fefaefe1eddd3c7ccc35a48d",
        "size": 23094,
        "frames": 250,
        "seconds": 10,
        "exact": false
      }
    },
    {
      "id": "podium",
      "name": "Podium",
      "tag": "P1 P2 P3",
      "category": "f1",
      "desc": "Les trois marches montent l'une après l'autre avec leur numéro, puis les confettis tombent sur le vainqueur.",
      "fx": "Barres + confettis",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffd700",
          "Or"
        ],
        [
          "#c0c0c0",
          "Argent"
        ],
        [
          "#cd7f32",
          "Bronze"
        ]
      ],
      "gif": {
        "file": "gif/podium.gif",
        "sha256": "008842c4165b385f58f121fa6e6743239613c9ba1cd3255c716ce9ddc5feac08",
        "size": 26691,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "tyres",
      "name": "Gommes",
      "tag": "COMPOUND",
      "category": "f1",
      "desc": "Les trois composés défilent : anneau rouge tendre, jaune medium, blanc dur, avec le nom à côté et l'anneau qui tourne.",
      "fx": "Anneaux + libellés",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#e10600",
          "Tendre"
        ],
        [
          "#ffd400",
          "Medium"
        ],
        [
          "#f0f0f0",
          "Dur"
        ]
      ],
      "gif": {
        "file": "gif/tyres.gif",
        "sha256": "39a68d35b3496cf953fd905a980023fc39b4d76167d535e4e41009defd359ae4",
        "size": 28971,
        "frames": 225,
        "seconds": 9,
        "exact": true
      }
    },
    {
      "id": "sectors",
      "name": "Secteurs",
      "tag": "TIMING",
      "category": "f1",
      "desc": "Les trois secteurs se remplissent l'un après l'autre et virent au violet, vert ou jaune une fois bouclés.",
      "fx": "Barres de progression",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#b026ff",
          "Violet"
        ],
        [
          "#00e676",
          "Vert"
        ],
        [
          "#ffd400",
          "Jaune"
        ]
      ],
      "gif": {
        "file": "gif/sectors.gif",
        "sha256": "cd12b6e9d5306dea41ea6eba4ce309b48041fe2c7492a08305733e1bab55c33b",
        "size": 16861,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "lightsout",
      "name": "Lights out",
      "tag": "AWAY WE GO",
      "category": "f1",
      "desc": "La réplique culte du départ défile en entier sur un damier sombre qui glisse en sens inverse.",
      "fx": "Damier + défilement",
      "speed": "Cycle 12 s",
      "cols": [
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#2a2a30",
          "Damier"
        ],
        [
          "#0a0a0c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/lightsout.gif",
        "sha256": "7a142a1be711b68b2e61f048a7d90757fe4c23dde00747998506a4586433270b",
        "size": 30860,
        "frames": 300,
        "seconds": 12,
        "exact": true
      }
    },
    {
      "id": "teamradio",
      "name": "Radio équipe",
      "tag": "RADIO",
      "category": "f1",
      "desc": "Les barres d'égaliseur réagissent en bas pendant que le message radio défile intégralement au-dessus.",
      "fx": "Égaliseur + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#00d1ff",
          "Barres"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#0a2540",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/teamradio.gif",
        "sha256": "a2125f9d56d5af08ae961637b4dd9531e9b8e7d9cd0a6e7e96c888541d88bae0",
        "size": 21311,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "champion",
      "name": "Champion du monde",
      "tag": "TITLE",
      "category": "f1",
      "desc": "La coupe scintille à gauche pendant que « WORLD CHAMPION » traverse entièrement la dalle.",
      "fx": "Sprite + défilement + étincelles",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffd700",
          "Or"
        ],
        [
          "#fff3b0",
          "Éclat"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/champion.gif",
        "sha256": "0a8df087d7a48a3ee208f5439cdf438f43cb90840725d0ff573541a02c3a07c2",
        "size": 19451,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "wakeup",
      "name": "Wake up Neo",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "Le message s'écrit lettre par lettre avec un curseur clignotant, glisse pour rester lisible, puis s'efface.",
      "fx": "Machine à écrire",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#00ff41",
          "Vert"
        ],
        [
          "#c8ffd0",
          "Curseur"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/wakeup.gif",
        "sha256": "dda53343383f0d63b582013f9c33b2ee7f67a24c607775a05f37c374ef52298d",
        "size": 19776,
        "frames": 250,
        "seconds": 10,
        "exact": true
      }
    },
    {
      "id": "pills",
      "name": "Pilule rouge ou bleue",
      "tag": "CHOICE",
      "category": "matrix",
      "desc": "Les deux pilules pulsent tour à tour, celle qui s'illumine projette sa lueur sur toute la dalle.",
      "fx": "Alternance + lueur",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff2b2b",
          "Rouge"
        ],
        [
          "#2b8bff",
          "Bleue"
        ],
        [
          "#101018",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/pills.gif",
        "sha256": "f16678393502dc891528938717a79dec51ec14a25212e95fded8dd9f92ea34e3",
        "size": 18600,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "glitch",
      "name": "Glitch numérique",
      "tag": "CORRUPT",
      "category": "matrix",
      "desc": "Des bandes horizontales se décalent brutalement et les couches rouge et cyan se séparent, façon signal corrompu.",
      "fx": "Décalage de bandes + séparation RVB",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff0040",
          "Canal R"
        ],
        [
          "#00fff0",
          "Canal C"
        ],
        [
          "#00ff41",
          "Base"
        ]
      ],
      "gif": {
        "file": "gif/glitch.gif",
        "sha256": "f7b1e721bf34252ed107fe41c9f52f3499292c70305ed5da999da4b6de7e7bf4",
        "size": 19030,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "sharingan",
      "name": "Sharingan",
      "tag": "ANIME",
      "category": "manga",
      "desc": "L'œil rouge occupe le centre, trois tomoe tournent autour de la pupille et l'iris se contracte par à-coups.",
      "fx": "Rotation + contraction",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#e00020",
          "Iris"
        ],
        [
          "#000000",
          "Pupille"
        ],
        [
          "#ff6a7a",
          "Halo"
        ]
      ],
      "gif": {
        "file": "gif/sharingan.gif",
        "sha256": "df62ddca96a13b2adcb9c8c26f0bb3f6cb66858762c56b595bc9593dd4c09c2e",
        "size": 28973,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "kamehameha",
      "name": "Kamehameha",
      "tag": "ANIME",
      "category": "manga",
      "desc": "L'énergie se concentre à gauche en une boule qui grossit, puis le rayon traverse la dalle et s'éteint.",
      "fx": "Charge + rayon",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#7fdcff",
          "Cœur"
        ],
        [
          "#0080ff",
          "Aura"
        ],
        [
          "#ffffff",
          "Rayon"
        ]
      ],
      "gif": {
        "file": "gif/kamehameha.gif",
        "sha256": "60b65f4b800a91cfd906f822c4f0e3f65e443eb2681fdade2901b9311fab0fb8",
        "size": 14730,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "speedlines",
      "name": "Lignes de vitesse",
      "tag": "MANGA",
      "category": "manga",
      "desc": "Les lignes convergent vers le centre à toute vitesse, un impact jaune éclate, puis tout repart.",
      "fx": "Lignes radiales + impact",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ffffff",
          "Lignes"
        ],
        [
          "#ffe14d",
          "Impact"
        ],
        [
          "#101014",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/speedlines.gif",
        "sha256": "00ecfdc14fb2e0516ce08bd944c8b4c56907297c3d8c553e0704c633e6e67356",
        "size": 14854,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "powerup",
      "name": "Montée de puissance",
      "tag": "ANIME",
      "category": "manga",
      "desc": "L'aura monte du sol en particules dorées, des arcs électriques claquent et la dalle sature au pic.",
      "fx": "Particules + arcs",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffcc00",
          "Aura"
        ],
        [
          "#fff6c0",
          "Arcs"
        ],
        [
          "#3a1d00",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/powerup.gif",
        "sha256": "5d333bbb2f3c8c0d63dd6de141df0032f6b99386d171781770d920e220f39343",
        "size": 19174,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "chibi",
      "name": "Chibi rebondissant",
      "tag": "KAWAII",
      "category": "manga",
      "desc": "Une petite tête traverse la dalle en rebondissant et change d'expression au fil des sauts.",
      "fx": "Sprite + rebond + expressions",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffd9a0",
          "Peau"
        ],
        [
          "#2a1a10",
          "Traits"
        ],
        [
          "#ff6b9d",
          "Joues"
        ]
      ],
      "gif": {
        "file": "gif/chibi.gif",
        "sha256": "628829f004a59c320337f901a70c380e8a7cdc1ac031532eb7bf4e9ec64aaf25",
        "size": 16067,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "arcreactor",
      "name": "Réacteur Arc",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Le réacteur pulse au centre, ses anneaux tournent et la lumière bleue se diffuse sur toute la dalle.",
      "fx": "Anneaux + pulsation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#7fe9ff",
          "Cœur"
        ],
        [
          "#0aa6d6",
          "Anneaux"
        ],
        [
          "#ffffff",
          "Éclat"
        ]
      ],
      "gif": {
        "file": "gif/arcreactor.gif",
        "sha256": "13192137d999dee3e91eb478c374fbd1f5f5c399c6d8d3a0c41d58d23cd19445",
        "size": 22863,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "thor",
      "name": "Foudre",
      "tag": "MARVEL",
      "category": "super-heros",
      "desc": "Les nuages roulent, un éclair ramifié frappe la dalle et le flash blanc sature tout l'affichage.",
      "fx": "Éclairs ramifiés + flash",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ffffff",
          "Éclair"
        ],
        [
          "#9ec9ff",
          "Halo"
        ],
        [
          "#161a28",
          "Nuages"
        ]
      ],
      "gif": {
        "file": "gif/thor.gif",
        "sha256": "c99028a566078ebacd0dc276fc610c2c4aeb57735a9d0b7077b5d5bf8592d921",
        "size": 19420,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "spidey",
      "name": "Toile",
      "tag": "MARVEL",
      "category": "super-heros",
      "desc": "La toile se tisse rayon par rayon depuis le coin, puis le symbole araignée apparaît à droite.",
      "fx": "Tissage progressif",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#e8e8f0",
          "Toile"
        ],
        [
          "#d40000",
          "Rouge"
        ],
        [
          "#0b1020",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/spidey.gif",
        "sha256": "ffc968e4b6772fd5db96ecbc26ad562d10a0e37fe05a87935d6e1089f1564a66",
        "size": 27879,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "chimichanga",
      "name": "Chimichanga",
      "tag": "DEADPOOL",
      "category": "deadpool",
      "desc": "Le masque mâchouille à gauche pendant que « CHIMICHANGA » traverse la dalle en entier.",
      "fx": "Sprite animé + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#c40c16",
          "Masque"
        ],
        [
          "#ffd400",
          "Texte"
        ],
        [
          "#1a0204",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/chimichanga.gif",
        "sha256": "40ac64983b923b568c90054eef37d58b257276bb4c7cfa987a7aab494348045f",
        "size": 19383,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "regen",
      "name": "Régénération",
      "tag": "DEADPOOL",
      "category": "deadpool",
      "desc": "La dalle se crible de trous noirs, puis une vague de guérison la reconstitue pixel par pixel.",
      "fx": "Destruction + vague de soin",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#c40c16",
          "Rouge"
        ],
        [
          "#ff7a86",
          "Vague"
        ],
        [
          "#000000",
          "Trous"
        ]
      ],
      "gif": {
        "file": "gif/regen.gif",
        "sha256": "cc12a5b7c69c563dfe403c7347e17a31ac858973bb78a3fe5013298a0fad02b3",
        "size": 34046,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "payload",
      "name": "Convoi",
      "tag": "OVERWATCH",
      "category": "jeu-video",
      "desc": "Le convoi avance le long du trajet, franchit ses points de contrôle et le pourcentage grimpe jusqu'à cent.",
      "fx": "Progression + points de contrôle",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#f99e1a",
          "Convoi"
        ],
        [
          "#43d8ff",
          "Trajet"
        ],
        [
          "#ffffff",
          "Score"
        ]
      ],
      "gif": {
        "file": "gif/payload.gif",
        "sha256": "896e9d5b70c4f569c041c8b822b030b327984c7d6250e0692fcbd94998ee3112",
        "size": 25993,
        "frames": 250,
        "seconds": 10,
        "exact": false
      }
    },
    {
      "id": "ultimate",
      "name": "Ultime prête",
      "tag": "OVERWATCH",
      "category": "jeu-video",
      "desc": "La jauge se remplit jusqu'à cent pour cent, puis le Q clignote au centre dans une onde orange.",
      "fx": "Jauge + flash",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#f99e1a",
          "Jauge"
        ],
        [
          "#ffffff",
          "Q"
        ],
        [
          "#141824",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/ultimate.gif",
        "sha256": "510faa795f9f9440784e00c2f2e06661258796f3542473695ac2834087e50ea5",
        "size": 20697,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "essai",
      "name": "Essai",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le ballon décrit sa chandelle, franchit la ligne d'en-but, et « ESSAI » éclate sur fond rouge.",
      "fx": "Trajectoire + éclat",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Ballon"
        ],
        [
          "#d20a1e",
          "Rouge ST"
        ],
        [
          "#0a0a0a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/essai.gif",
        "sha256": "2081f8cae2b6f596baf059474f5d903375886d1b1c71f9d09598c8b847cfda57",
        "size": 18186,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "scoreboard",
      "name": "Tableau d'affichage",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le score s'affiche entre les liserés rouge et noir, et les points montent quand l'équipe marque.",
      "fx": "Score + liseré animé",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#d20a1e",
          "Rouge ST"
        ],
        [
          "#ffffff",
          "Score"
        ],
        [
          "#000000",
          "Noir"
        ]
      ],
      "gif": {
        "file": "gif/scoreboard.gif",
        "sha256": "bd293205ef2ce41cdf6d31963d046d328707868d8817c41f5122008197e2abd2",
        "size": 21123,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "countdown",
      "name": "Compte à rebours",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "Cinq à un en gros chiffres, chacun cerné d'un anneau qui se vide, puis GO en vert.",
      "fx": "Chiffres + anneau",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffffff",
          "Chiffres"
        ],
        [
          "#00e676",
          "GO"
        ],
        [
          "#ff3b30",
          "Anneau"
        ]
      ],
      "gif": {
        "file": "gif/countdown.gif",
        "sha256": "6b162f0c6798875a190ff0c7c9bf6a6c7612e61244b8d2f5881963149c926159",
        "size": 15507,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "vumeter",
      "name": "Vu-mètre",
      "tag": "AUDIO",
      "category": "utilitaires",
      "desc": "Les barres montent et retombent avec un témoin de crête qui redescend lentement, du vert au rouge.",
      "fx": "Barres + maintien de crête",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#00e676",
          "Bas"
        ],
        [
          "#ffd400",
          "Milieu"
        ],
        [
          "#ff3b30",
          "Crête"
        ]
      ],
      "gif": {
        "file": "gif/vumeter.gif",
        "sha256": "4a48ce7b0f233e79db4e337955cb0ebd6ff788893f25964d61bc1a19cfaa1bd0",
        "size": 22738,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "fire",
      "name": "Flammes",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Simulation de feu par propagation de chaleur, du noir au blanc incandescent. Superbe sur huit lignes.",
      "fx": "Propagation de chaleur",
      "speed": "Continu",
      "cols": [
        [
          "#ff2200",
          "Braises"
        ],
        [
          "#ffaa00",
          "Flammes"
        ],
        [
          "#fff6c0",
          "Cœur"
        ]
      ],
      "gif": {
        "file": "gif/fire.gif",
        "sha256": "9f419a5c0f0f914c78c3028d77a9a3e6b771f6f8f04b4d7cec946a24885637be",
        "size": 40646,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "plasma",
      "name": "Plasma",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Champ de couleurs continu obtenu par interférence de sinusoïdes, teintes qui dérivent sans fin.",
      "fx": "Interférences + teinte",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ff00aa",
          "Magenta"
        ],
        [
          "#00d5ff",
          "Cyan"
        ],
        [
          "#ffe600",
          "Jaune"
        ]
      ],
      "gif": {
        "file": "gif/plasma.gif",
        "sha256": "1b5111148ad841fe1bd6e9fe8c9fefff21b072e3450755cd9f4771aeb61aa7b6",
        "size": 59832,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "starfield",
      "name": "Champ d'étoiles",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Les étoiles défilent à des vitesses différentes selon leur profondeur, les plus proches laissant une traînée.",
      "fx": "Parallaxe + traînées",
      "speed": "Continu",
      "cols": [
        [
          "#ffffff",
          "Proches"
        ],
        [
          "#8fa8d0",
          "Lointaines"
        ],
        [
          "#000008",
          "Vide"
        ]
      ],
      "gif": {
        "file": "gif/starfield.gif",
        "sha256": "40af3735c454d83b25ba7d2999c35c2df550f7a853a3f4124e5c921058f9e3c2",
        "size": 21974,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "gridpos",
      "name": "Position en piste",
      "tag": "F1",
      "category": "f1",
      "desc": "La position grimpe de P20 à P1, chaque gain marqué par un éclat vert.",
      "fx": "Compteur + éclat",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffffff",
          "Position"
        ],
        [
          "#00e676",
          "Gain"
        ],
        [
          "#0a1a3c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/gridpos.gif",
        "sha256": "2a34de47c4e11158700596d31fbf7bd4a89f7421dc373d0af1601f9c892e6693",
        "size": 16096,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "fastlap",
      "name": "Meilleur tour",
      "tag": "F1",
      "category": "f1",
      "desc": "Le violet du meilleur tour envahit la dalle et « FASTEST LAP » défile en entier.",
      "fx": "Défilement + flash",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#b026ff",
          "Violet"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#1a0030",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/fastlap.gif",
        "sha256": "9ede13c0717dafefda8f98cf0d18b51106409a5a94d6e4b069e207f5e00bd011",
        "size": 16353,
        "frames": 225,
        "seconds": 9,
        "exact": true
      }
    },
    {
      "id": "safetycar",
      "name": "Voiture de sécurité",
      "tag": "F1",
      "category": "f1",
      "desc": "Les gyrophares jaunes balaient la dalle et « SAFETY CAR » traverse intégralement.",
      "fx": "Gyrophares + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffd400",
          "Jaune"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#2a2000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/safetycar.gif",
        "sha256": "ab28e8796e2ec4ed670029ef2ee6e936d615b2bf8594788f919cb72b7b749694",
        "size": 22540,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "redflag",
      "name": "Drapeau rouge",
      "tag": "F1",
      "category": "f1",
      "desc": "Le drapeau rouge ondule sur toute la largeur : séance interrompue.",
      "fx": "Ondulation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#e10600",
          "Rouge"
        ],
        [
          "#7a0300",
          "Ombre"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/redflag.gif",
        "sha256": "6e2396e9fd6e9700b5d69e904f3e56cdadad9d1cddfe17f601dc7bfd731058c2",
        "size": 18439,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "greenflag",
      "name": "Drapeau vert",
      "tag": "F1",
      "category": "f1",
      "desc": "Le drapeau vert ondule : la piste est dégagée.",
      "fx": "Ondulation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#00c853",
          "Vert"
        ],
        [
          "#00381a",
          "Ombre"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/greenflag.gif",
        "sha256": "317cb63435fd2def5a75c5089a3b18f2ec472c3a07a3728f36443775c5e0a412",
        "size": 18051,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "blueflag",
      "name": "Drapeau bleu",
      "tag": "F1",
      "category": "f1",
      "desc": "Le drapeau bleu ondule : laisse passer le pilote qui arrive.",
      "fx": "Ondulation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#0066ff",
          "Bleu"
        ],
        [
          "#001a40",
          "Ombre"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/blueflag.gif",
        "sha256": "b8d7d5e2fc04d6ab8fa875ae110db644b6cfa198d8e9d99379a0f15bc253ca94",
        "size": 18787,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "fuelgauge",
      "name": "Jauge de carburant",
      "tag": "F1",
      "category": "f1",
      "desc": "Le niveau descend et la jauge vire au rouge sur la réserve.",
      "fx": "Jauge + alerte",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#00e676",
          "Plein"
        ],
        [
          "#ff3b30",
          "Réserve"
        ],
        [
          "#141820",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/fuelgauge.gif",
        "sha256": "9892d508a2617ecc8e3c46d94c05febadda90eb738dd52da5d379850a39c0591",
        "size": 18570,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "speedtrap",
      "name": "Radar",
      "tag": "F1",
      "category": "f1",
      "desc": "La vitesse grimpe jusqu'à 340 km/h avec des traînées qui accélèrent.",
      "fx": "Compteur + traînées",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Chiffres"
        ],
        [
          "#43d8ff",
          "Traînées"
        ],
        [
          "#06101c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/speedtrap.gif",
        "sha256": "1db44195e3a42e365cabb930b3cd2b93de776178b13623ab08f3f11b070b4e45",
        "size": 21846,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "gearshift",
      "name": "Rapport engagé",
      "tag": "F1",
      "category": "f1",
      "desc": "Le rapport monte de 1 à 8, la barre de régime se remplit puis claque au changement.",
      "fx": "Barre de régime",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Rapport"
        ],
        [
          "#00e676",
          "Régime"
        ],
        [
          "#ff3b30",
          "Zone rouge"
        ]
      ],
      "gif": {
        "file": "gif/gearshift.gif",
        "sha256": "c23a8873a572af08d7b33b143ae94d0cf59bc9f8527d03c3bf96a148c47da902",
        "size": 17545,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "revlights",
      "name": "Rev lights",
      "tag": "F1",
      "category": "f1",
      "desc": "La rampe de LED du volant se remplit vert, jaune, rouge, puis clignote au shift.",
      "fx": "Rampe volant",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#00e676",
          "Vert"
        ],
        [
          "#ffd400",
          "Jaune"
        ],
        [
          "#ff3b30",
          "Rouge"
        ]
      ],
      "gif": {
        "file": "gif/revlights.gif",
        "sha256": "795d2fee34882e2bebdfae4e0bc6aa465d0ac851a78745f61939e9143ef88193",
        "size": 7772,
        "frames": 100,
        "seconds": 4,
        "exact": false
      }
    },
    {
      "id": "laptimer",
      "name": "Tour en cours",
      "tag": "F1",
      "category": "f1",
      "desc": "Le compteur de tours avance et le damier glisse en fond.",
      "fx": "Compteur + damier",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#2a2a30",
          "Damier"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/laptimer.gif",
        "sha256": "0036fa8e4162cde1ec46f9bb66b06cd9613263c4ee57b0b691c39bf33e3e2cb0",
        "size": 24008,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "overtake",
      "name": "Dépassement",
      "tag": "F1",
      "category": "f1",
      "desc": "Deux monoplaces se croisent, la bleue déborde la rouge par l'extérieur.",
      "fx": "Deux sprites",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#2f6fff",
          "Attaquant"
        ],
        [
          "#e10600",
          "Attaqué"
        ],
        [
          "#000308",
          "Piste"
        ]
      ],
      "gif": {
        "file": "gif/overtake.gif",
        "sha256": "d4f7d7ccfd7c624cb92aae6b49c7a499a5eb7ccc09c9208c580ecf5ea870f05b",
        "size": 16620,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "rainrace",
      "name": "Course sous la pluie",
      "tag": "F1",
      "category": "f1",
      "desc": "La pluie tombe en biais et la piste luit sous les gouttes.",
      "fx": "Pluie + reflets",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#8fc6ff",
          "Pluie"
        ],
        [
          "#1a3050",
          "Piste"
        ],
        [
          "#ffffff",
          "Gerbes"
        ]
      ],
      "gif": {
        "file": "gif/rainrace.gif",
        "sha256": "65e99a886d5f94a5e39a8dba755e718586a9012d3203eece1154a4c23305184e",
        "size": 24322,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "pitlimiter",
      "name": "Limiteur de stand",
      "tag": "F1",
      "category": "f1",
      "desc": "Le bandeau orange clignote : limiteur enclenché, 80 km/h.",
      "fx": "Clignotement + texte",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff8c00",
          "Orange"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#1a0e00",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/pitlimiter.gif",
        "sha256": "5b212180a80e4f879ca9ee84a1c769b82c9589d8120e7f2b26342d1984f63ae2",
        "size": 15657,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "constructors",
      "name": "Championnat",
      "tag": "F1",
      "category": "f1",
      "desc": "Les barres des écuries montent selon leurs points, Red Bull en tête.",
      "fx": "Barres comparées",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#2f6fff",
          "Red Bull"
        ],
        [
          "#e10600",
          "Ferrari"
        ],
        [
          "#c0c0c0",
          "Autres"
        ]
      ],
      "gif": {
        "file": "gif/constructors.gif",
        "sha256": "8b0df5a738993e5b3f3057d94900b88718eaa1b9dbbf1cbc6eda29b7f8e98926",
        "size": 21588,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "matrixblue",
      "name": "Matrix bleu",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "La pluie de code en cyan glacial, même moteur que la verte.",
      "fx": "Pluie digitale",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#a8ecff",
          "Tête"
        ],
        [
          "#00b4ff",
          "Traîne"
        ],
        [
          "#001a2e",
          "Queue"
        ]
      ],
      "gif": {
        "file": "gif/matrixblue.gif",
        "sha256": "dda1297697f3a983f77d2f61b968b3de6346d3ee1e4bf834aba879d1c614d9a8",
        "size": 30354,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "matrixred",
      "name": "Matrix rouge",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "La pluie de code virée au rouge sang, plus menaçante.",
      "fx": "Pluie digitale",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffc8c8",
          "Tête"
        ],
        [
          "#ff1010",
          "Traîne"
        ],
        [
          "#2e0000",
          "Queue"
        ]
      ],
      "gif": {
        "file": "gif/matrixred.gif",
        "sha256": "6e1be31e8642718d96808b7f62980abe0b762da3faea904957e8d03cfae5d70b",
        "size": 31103,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "binary",
      "name": "Binaire",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "Des colonnes de 0 et de 1 clignotent et se rafraîchissent par vagues.",
      "fx": "Colonnes de bits",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#00ff41",
          "Bits"
        ],
        [
          "#004d14",
          "Anciens"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/binary.gif",
        "sha256": "a5893153a9c5b988b9c2786b3bf220d94fe0283c10df0b29d9caba4c4d87175c",
        "size": 31979,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "decrypt",
      "name": "Décryptage",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "Un texte brouillé se stabilise caractère par caractère jusqu'à devenir lisible.",
      "fx": "Brouillage progressif",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#00ff41",
          "Résolu"
        ],
        [
          "#c8ffd0",
          "Brouillé"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/decrypt.gif",
        "sha256": "fcbdf08dc3cce57c8926ae5dc803accb8aa94bd7ba544bfa293024c14854c0a6",
        "size": 19773,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "terminal",
      "name": "Terminal",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "Une invite de commande tape sa ligne, curseur clignotant à l'appui.",
      "fx": "Machine à écrire",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#00ff41",
          "Texte"
        ],
        [
          "#ffffff",
          "Curseur"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/terminal.gif",
        "sha256": "1df9173ea6b61b9175a667965a1da5246e29e0cf249123d7226c2240e2b87313",
        "size": 18724,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "rasengan",
      "name": "Rasengan",
      "tag": "ANIME",
      "category": "manga",
      "desc": "La sphère d'énergie bleue tourbillonne et grossit dans la paume.",
      "fx": "Tourbillon",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#7fdcff",
          "Cœur"
        ],
        [
          "#0066ff",
          "Spirale"
        ],
        [
          "#001428",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/rasengan.gif",
        "sha256": "7324117df8aa469a95c06cd6359e607034b5e265cf25c3ccbaf7bfe61d3a73ff",
        "size": 15739,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "bijuu",
      "name": "Chakra",
      "tag": "ANIME",
      "category": "manga",
      "desc": "L'aura rouge bouillonne et déborde, manteau de chakra.",
      "fx": "Aura bouillonnante",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ff3000",
          "Aura"
        ],
        [
          "#ffb000",
          "Cœur"
        ],
        [
          "#200000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/bijuu.gif",
        "sha256": "7535e0aa6c8f858793f42922bc61ea54fe8eaa70f178d6ba9f8e7a472e4b5d1a",
        "size": 24709,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "jollyroger",
      "name": "Pavillon pirate",
      "tag": "ANIME",
      "category": "manga",
      "desc": "Le crâne au chapeau de paille flotte au vent sur son pavillon.",
      "fx": "Sprite ondulant",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Crâne"
        ],
        [
          "#ffcc00",
          "Chapeau"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/jollyroger.gif",
        "sha256": "327ced9b1055428fe3e0499621dea9c0b1e5cfa17a422516f290bbc8e4c3a294",
        "size": 14575,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "titanwings",
      "name": "Ailes de la liberté",
      "tag": "ANIME",
      "category": "manga",
      "desc": "Les deux ailes croisées se déploient, bleue puis blanche.",
      "fx": "Déploiement",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#3d6fd8",
          "Aile bleue"
        ],
        [
          "#e8e8f0",
          "Aile blanche"
        ],
        [
          "#0a0e18",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/titanwings.gif",
        "sha256": "7e0686584aee2b5eb1a77ce787b3c64704c8c43f3e5b8fc218e339ac9294addb",
        "size": 15008,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "scouter",
      "name": "Scouter",
      "tag": "ANIME",
      "category": "manga",
      "desc": "Le détecteur s'affole, la puissance grimpe puis fait exploser l'échelle.",
      "fx": "Compteur + explosion",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#00ff88",
          "Chiffres"
        ],
        [
          "#ff3b30",
          "Alerte"
        ],
        [
          "#001a10",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/scouter.gif",
        "sha256": "52c58936563e2a33612bb681ad839acb097b7742f4188ff3330be18e690fa6fa",
        "size": 19306,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "sakura",
      "name": "Pétales",
      "tag": "ANIME",
      "category": "manga",
      "desc": "Les pétales de cerisier tombent en tourbillonnant sur un fond rosé.",
      "fx": "Particules",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffc0d8",
          "Pétales"
        ],
        [
          "#ff87b2",
          "Cœurs"
        ],
        [
          "#1a0a14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/sakura.gif",
        "sha256": "d165f9bf5d72a70fe32d83b87b46943818513fdcd0bc25aa301a51242a69ba6e",
        "size": 16864,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "shield",
      "name": "Bouclier",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Les anneaux concentriques du bouclier respirent autour de l'étoile centrale.",
      "fx": "Anneaux + étoile",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#d40000",
          "Rouge"
        ],
        [
          "#0b4ea2",
          "Bleu"
        ],
        [
          "#ffffff",
          "Étoile"
        ]
      ],
      "gif": {
        "file": "gif/shield.gif",
        "sha256": "6ae5e32f224c993471af2696e93b678f3e1ca5fd7cceba0726386a4cc509853b",
        "size": 16410,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "hulk",
      "name": "Smash",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "L'impact vert fissure la dalle depuis le centre, éclats projetés.",
      "fx": "Impact + fissures",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#3ad12a",
          "Vert"
        ],
        [
          "#b6ff9c",
          "Éclats"
        ],
        [
          "#0a1a08",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/hulk.gif",
        "sha256": "ed07c04fc81d989fcf75da2d821c57c0368b6962cb27d5dbf87ded75913946d8",
        "size": 19300,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "infinity",
      "name": "Pierres d'infinité",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Les six pierres s'allument une à une, puis le claquement blanchit tout.",
      "fx": "Allumage + flash",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#8a2be2",
          "Puissance"
        ],
        [
          "#ff8c00",
          "Âme"
        ],
        [
          "#ffffff",
          "Claquement"
        ]
      ],
      "gif": {
        "file": "gif/infinity.gif",
        "sha256": "5f833634710a9546c5e51ee5971a88517edb728e37dfdd9fd1678f895b555788",
        "size": 37611,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "batsignal",
      "name": "Bat-signal",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Le faisceau projette la chauve-souris sur les nuages qui dérivent.",
      "fx": "Projection",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffd400",
          "Faisceau"
        ],
        [
          "#0d1018",
          "Nuages"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/batsignal.gif",
        "sha256": "7b1f825d851f5aaaa435ffdbc42f014e40df51dbc9f5cb745834fe5ded8ae4f7",
        "size": 33364,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "superman",
      "name": "Écusson",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "L'écusson rouge et jaune pulse dans son halo bleu.",
      "fx": "Sprite + pulsation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#d40000",
          "Rouge"
        ],
        [
          "#ffd400",
          "Jaune"
        ],
        [
          "#0b4ea2",
          "Halo"
        ]
      ],
      "gif": {
        "file": "gif/superman.gif",
        "sha256": "174919f9eae2e1a2ed08dd62e471c7697abc9aef6b561616153b4b4733126ded",
        "size": 18855,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "speedster",
      "name": "Bolide écarlate",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "L'éclair rouge traverse la dalle en laissant une traînée électrique.",
      "fx": "Traînée + arcs",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ff2b2b",
          "Éclair"
        ],
        [
          "#ffd400",
          "Arcs"
        ],
        [
          "#1a0000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/speedster.gif",
        "sha256": "e50e14cedf34951572bec7863c6922b56141036adfe46103f341130817980e3b",
        "size": 11325,
        "frames": 125,
        "seconds": 5,
        "exact": false
      }
    },
    {
      "id": "venom",
      "name": "Symbiote",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Le symbiote noir gagne la dalle en filaments, veinures blanches apparentes.",
      "fx": "Propagation",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#0a0a0c",
          "Symbiote"
        ],
        [
          "#e8e8f0",
          "Veinures"
        ],
        [
          "#3a0050",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/venom.gif",
        "sha256": "d33212ef487dbeee761c7edbd12c13862e9537a32d84215a3b29dab65ebdcdd9",
        "size": 19026,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "groot",
      "name": "I am Groot",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Le texte défile intégralement dans les tons bois sur fond de feuillage.",
      "fx": "Défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#8b5a2b",
          "Bois"
        ],
        [
          "#4caf50",
          "Feuilles"
        ],
        [
          "#0a1405",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/groot.gif",
        "sha256": "469d0b84d28fe07d6a3bbab2e4173495d87882594a3c8ddc019b0d5fc54fe6af",
        "size": 17219,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "wakanda",
      "name": "Wakanda",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Le motif vibranium pulse en violet pendant que le cri défile en entier.",
      "fx": "Motif + défilement",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#8a2be2",
          "Vibranium"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#12001f",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/wakanda.gif",
        "sha256": "960060fb337c7ed179c857edc9050d92461a20b726db3668caa4f5d616041db7",
        "size": 22442,
        "frames": 225,
        "seconds": 9,
        "exact": true
      }
    },
    {
      "id": "antman",
      "name": "Réduction",
      "tag": "HEROS",
      "category": "super-heros",
      "desc": "Le point grossit jusqu'à saturer la dalle, puis se réduit à un pixel.",
      "fx": "Échelle",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#d40000",
          "Rouge"
        ],
        [
          "#4a90d9",
          "Bleu"
        ],
        [
          "#05070c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/antman.gif",
        "sha256": "21817b2a49648af34b5f68f48a519ecb7e4ce97d8c420e7adcfbd2212331f4b3",
        "size": 15580,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "dpeyes",
      "name": "Regard Deadpool",
      "tag": "DEADPOOL",
      "category": "deadpool",
      "desc": "Le masque en gros plan : les yeux roulent, puis clignent d'un coup.",
      "fx": "Expressions",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#c40c16",
          "Masque"
        ],
        [
          "#f5f5fa",
          "Yeux"
        ],
        [
          "#000000",
          "Traits"
        ]
      ],
      "gif": {
        "file": "gif/dpeyes.gif",
        "sha256": "22830d0fc7958bb33fbc8b460e21d746ad05e9b7fbfe6f080cb9cc77bb304261",
        "size": 18103,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "bullets",
      "name": "Impacts",
      "tag": "DEADPOOL",
      "category": "deadpool",
      "desc": "Des impacts criblent la dalle un par un, puis tout se répare.",
      "fx": "Impacts + réparation",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#000000",
          "Trous"
        ],
        [
          "#c40c16",
          "Rouge"
        ],
        [
          "#ffd400",
          "Éclats"
        ]
      ],
      "gif": {
        "file": "gif/bullets.gif",
        "sha256": "3fe92f791a72c559669602ec165dc2da6080e63147bb58fa9b7ab92fee6ff399",
        "size": 18803,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "taco",
      "name": "Chimichanga qui tourne",
      "tag": "DEADPOOL",
      "category": "deadpool",
      "desc": "Le chimichanga pivote sur lui-même au centre de la dalle.",
      "fx": "Rotation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#e8b64c",
          "Tortilla"
        ],
        [
          "#8b2f1d",
          "Garniture"
        ],
        [
          "#1a0a04",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/taco.gif",
        "sha256": "9484c2e8a8c0e0d48303bb4b862a6414e86c889bca772c16a20477f3457e028f",
        "size": 15537,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "healthbar",
      "name": "Barre de vie",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "La vie chute sous les coups puis remonte, du vert au rouge.",
      "fx": "Jauge + dégâts",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#00e676",
          "Vie"
        ],
        [
          "#ff3b30",
          "Critique"
        ],
        [
          "#141820",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/healthbar.gif",
        "sha256": "5187cb23d5d2236952d939ff77fc0c301eec052fd6fe2d3fc047e4ed098cd566",
        "size": 15939,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "respawn",
      "name": "Réapparition",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Le compte à rebours tourne dans son anneau avant le retour en jeu.",
      "fx": "Anneau + chiffres",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#43d8ff",
          "Anneau"
        ],
        [
          "#ffffff",
          "Chiffres"
        ],
        [
          "#0a1420",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/respawn.gif",
        "sha256": "39f53f787c5ba2d2c2c717b71b138ccd2f91fc62db5a5cdfcd8067bee8776ea0",
        "size": 16288,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "headshot",
      "name": "Tir à la tête",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Le réticule se cale sur la cible et le marqueur d'impact s'ouvre en croix.",
      "fx": "Réticule + marqueur",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ffffff",
          "Réticule"
        ],
        [
          "#ff3b30",
          "Impact"
        ],
        [
          "#0a0e14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/headshot.gif",
        "sha256": "8b3d78ac48979ad79b5f1622542f7bb6c36793693b214f810f6179d9fb2042cb",
        "size": 11267,
        "frames": 125,
        "seconds": 5,
        "exact": false
      }
    },
    {
      "id": "loading",
      "name": "Chargement",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "La barre se remplit avec son pourcentage, reflets qui glissent dessus.",
      "fx": "Barre + pourcentage",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#43d8ff",
          "Barre"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#0d1119",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/loading.gif",
        "sha256": "8d0c3e85b99eadb2312b007386a1d2eff1123f5cabf92afd2657888a4d599623",
        "size": 13544,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "achievement",
      "name": "Succès débloqué",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Le trophée surgit et « SUCCES DEBLOQUE » traverse la dalle en entier.",
      "fx": "Sprite + défilement",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffd700",
          "Trophée"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#1a1400",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/achievement.gif",
        "sha256": "cfe0de2d59fac0524eccb0dfefd610c1be81a0379f382beb0e1ed2133c802b85",
        "size": 19071,
        "frames": 225,
        "seconds": 9,
        "exact": true
      }
    },
    {
      "id": "combo",
      "name": "Combo",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Le multiplicateur grimpe et la dalle chauffe à chaque palier.",
      "fx": "Compteur + chaleur",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffd400",
          "Combo"
        ],
        [
          "#ff3b30",
          "Chaud"
        ],
        [
          "#12060a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/combo.gif",
        "sha256": "9fb2788a32c62dd0185d9006130414b5993598f38f9cca5be2bf45ab390c0f39",
        "size": 17688,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "manabar",
      "name": "Barre de mana",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Le mana se vide d'un coup au sort lancé puis se régénère lentement.",
      "fx": "Jauge + régénération",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#3d6fd8",
          "Mana"
        ],
        [
          "#a8c8ff",
          "Éclat"
        ],
        [
          "#0a0e1c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/manabar.gif",
        "sha256": "a05e24efd76fa26d00c7fba50fdbcd941714a04438f7e995436cba6485449fad",
        "size": 15681,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "levelup",
      "name": "Niveau supérieur",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "L'onde dorée monte du sol et « LEVEL UP » éclate au sommet.",
      "fx": "Onde + texte",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffd700",
          "Or"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#120e00",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/levelup.gif",
        "sha256": "1ee4f3745c3197f535304111f7a294d42ba053386f8be45a0b608a3ebdc2c8d6",
        "size": 15696,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "pacman",
      "name": "Croqueur",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Le croqueur jaune avale la ligne de pastilles, gueule qui bat.",
      "fx": "Sprite + pastilles",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffd400",
          "Croqueur"
        ],
        [
          "#ffffff",
          "Pastilles"
        ],
        [
          "#000018",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/pacman.gif",
        "sha256": "93251dc0bbb13b015867088f2bc0aabfb3331f6ddc0e0439c7b39b0b5c3d5714",
        "size": 13482,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "invaders",
      "name": "Envahisseurs",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "Les envahisseurs descendent par paliers pendant que le canon riposte.",
      "fx": "Grille + tir",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#00ff41",
          "Envahisseurs"
        ],
        [
          "#ffffff",
          "Tir"
        ],
        [
          "#000008",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/invaders.gif",
        "sha256": "5bb006cb217d60b40163973998c6547884072dad3c616a68b74e547a8e20a5be",
        "size": 19411,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "trophy",
      "name": "Coupe",
      "tag": "GAMING",
      "category": "jeu-video",
      "desc": "La coupe dorée capte les reflets et jette ses étincelles.",
      "fx": "Reflets",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffd700",
          "Or"
        ],
        [
          "#fff3b0",
          "Reflet"
        ],
        [
          "#140f00",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/trophy.gif",
        "sha256": "413b28e6c8a7c6b0560701c185dc7765ef1fc672f1db98f14c86e278ae8def2c",
        "size": 15519,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "haka",
      "name": "Haka",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le rythme frappe : la dalle pulse au sol à chaque appui.",
      "fx": "Percussion",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#000000",
          "Noir"
        ],
        [
          "#e8e8f0",
          "Frappe"
        ],
        [
          "#1a1a20",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/haka.gif",
        "sha256": "655a66fd0ee87853482a5f40814de9be0f3e7a1f63a1735906b3bb0b779df192",
        "size": 14643,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "dropgoal",
      "name": "Drop",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le ballon monte en chandelle et franchit les poteaux.",
      "fx": "Trajectoire + poteaux",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffffff",
          "Ballon"
        ],
        [
          "#d20a1e",
          "Poteaux"
        ],
        [
          "#04120a",
          "Pelouse"
        ]
      ],
      "gif": {
        "file": "gif/dropgoal.gif",
        "sha256": "7d9cfe20ec72f14deab60d6badeaa444b7f2e0d2d38af80a8b7bb819719e28b5",
        "size": 15932,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "melee",
      "name": "Mêlée",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Les deux paquets d'avants se poussent, l'un cède puis reprend.",
      "fx": "Poussée",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#d20a1e",
          "Toulouse"
        ],
        [
          "#1a1a20",
          "Adversaire"
        ],
        [
          "#04120a",
          "Pelouse"
        ]
      ],
      "gif": {
        "file": "gif/melee.gif",
        "sha256": "ed7cc476503748b150d5a9eea0d697de975d949bf1775fd60b52fc24975b07a9",
        "size": 13698,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "matchclock",
      "name": "Chrono de match",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le chronomètre du match avance de la 60e à la 80e minute.",
      "fx": "Chrono",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Chrono"
        ],
        [
          "#d20a1e",
          "Liseré"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/matchclock.gif",
        "sha256": "fa68324e38cb54b66bda3125c26df7d2e9e6c2820de42cf42682fac4f4967ca8",
        "size": 19995,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "carton",
      "name": "Carton",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le carton jaune puis le rouge s'abattent plein cadre.",
      "fx": "Flash plein écran",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ffd400",
          "Jaune"
        ],
        [
          "#d20a1e",
          "Rouge"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/carton.gif",
        "sha256": "891cbf6a0d03edddef83f1459efa91df30302b556c9573cd6209b837cdf58c91",
        "size": 10282,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "brennus",
      "name": "Bouclier de Brennus",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "Le bouclier brille sous les projecteurs, reflet qui glisse dessus.",
      "fx": "Reflets",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#d4a017",
          "Bois doré"
        ],
        [
          "#fff3b0",
          "Reflet"
        ],
        [
          "#12000a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/brennus.gif",
        "sha256": "dc249597136bcc202238ea3864c60fdd8a277099dcaae28ac223a6ed05e78e19",
        "size": 23307,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "supporters",
      "name": "Ola",
      "tag": "RUGBY",
      "category": "rugby",
      "desc": "La ola parcourt les tribunes en rouge et noir.",
      "fx": "Vague",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#d20a1e",
          "Rouge"
        ],
        [
          "#ffffff",
          "Bras"
        ],
        [
          "#0a0a0c",
          "Tribune"
        ]
      ],
      "gif": {
        "file": "gif/supporters.gif",
        "sha256": "987a5e613ded869023f313b1e57feddd546a59b46b61ce4c593da8af78b231fc",
        "size": 11723,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "snow",
      "name": "Neige",
      "tag": "SAISON",
      "category": "fetes",
      "desc": "Les flocons tombent en dérivant sur un sol déjà blanchi.",
      "fx": "Particules",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#ffffff",
          "Flocons"
        ],
        [
          "#c8dcff",
          "Sol"
        ],
        [
          "#050a18",
          "Ciel"
        ]
      ],
      "gif": {
        "file": "gif/snow.gif",
        "sha256": "e6af9fd3003eb95bd5322388df0d988be996f19162006b463a347f9e712cd412",
        "size": 21094,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "xmastree",
      "name": "Sapin",
      "tag": "SAISON",
      "category": "fetes",
      "desc": "Le sapin clignote de guirlandes colorées, étoile au sommet.",
      "fx": "Guirlandes",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#1b7a2e",
          "Sapin"
        ],
        [
          "#ffd700",
          "Étoile"
        ],
        [
          "#ff2b2b",
          "Boules"
        ]
      ],
      "gif": {
        "file": "gif/xmastree.gif",
        "sha256": "b87cd95dea02182be269e9e6d97cc7ba538aebe787fad2f58d50f7634cbef623",
        "size": 13549,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "fireworks",
      "name": "Feu d'artifice",
      "tag": "FETE",
      "category": "fetes",
      "desc": "Les fusées montent et éclatent en gerbes colorées.",
      "fx": "Particules explosives",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ff2b6b",
          "Gerbe 1"
        ],
        [
          "#43d8ff",
          "Gerbe 2"
        ],
        [
          "#ffd400",
          "Gerbe 3"
        ]
      ],
      "gif": {
        "file": "gif/fireworks.gif",
        "sha256": "b30493cc9d6d85ced786a2bc3e37ce4eb5a772437f577a45333b16a7fffd0478",
        "size": 12757,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "halloween",
      "name": "Citrouille",
      "tag": "FETE",
      "category": "fetes",
      "desc": "La citrouille grimace, ses yeux vacillent comme une bougie.",
      "fx": "Sprite + vacillement",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff7518",
          "Citrouille"
        ],
        [
          "#ffd400",
          "Lueur"
        ],
        [
          "#140800",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/halloween.gif",
        "sha256": "612b366d3c695290a0e2f116a77255f67a157309153a3ac4c10837dd637af09b",
        "size": 13925,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "hearts",
      "name": "Cœurs",
      "tag": "FETE",
      "category": "fetes",
      "desc": "Les cœurs montent en flottant et battent au passage.",
      "fx": "Particules",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ff2b6b",
          "Rose"
        ],
        [
          "#ff8fb0",
          "Clair"
        ],
        [
          "#1a0008",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/hearts.gif",
        "sha256": "c7e42c1713b2685a3348e4ffc036f70ec1d2491f7d5c730480ef50f738931d7c",
        "size": 18945,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "rainstorm",
      "name": "Averse",
      "tag": "METEO",
      "category": "meteo",
      "desc": "La pluie tombe dru et rebondit en gerbes sur le sol.",
      "fx": "Pluie + rebonds",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#8fc6ff",
          "Pluie"
        ],
        [
          "#ffffff",
          "Gerbes"
        ],
        [
          "#0a1420",
          "Ciel"
        ]
      ],
      "gif": {
        "file": "gif/rainstorm.gif",
        "sha256": "69f52109942b78622e8b7031f115545ab3a2c0d845e144d56d756abc903e1230",
        "size": 22623,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "storm",
      "name": "Orage",
      "tag": "METEO",
      "category": "meteo",
      "desc": "Les nuages roulent, la pluie tombe et l'éclair déchire le ciel.",
      "fx": "Pluie + éclair",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Éclair"
        ],
        [
          "#8fc6ff",
          "Pluie"
        ],
        [
          "#141a28",
          "Nuages"
        ]
      ],
      "gif": {
        "file": "gif/storm.gif",
        "sha256": "5e85023ca9e901142b9f46e6ae9c82e504e82a8df3bee68c0a510987b3aa49a7",
        "size": 26204,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "aurora",
      "name": "Aurore boréale",
      "tag": "METEO",
      "category": "meteo",
      "desc": "Les voiles vert et violet ondulent lentement dans le ciel polaire.",
      "fx": "Voiles ondulants",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#00ffa0",
          "Vert"
        ],
        [
          "#a050ff",
          "Violet"
        ],
        [
          "#020818",
          "Ciel"
        ]
      ],
      "gif": {
        "file": "gif/aurora.gif",
        "sha256": "1021bb9ac55e6766de7fdbce5bbd088103f3a7faf987404ebec7f70c1ecbd29e",
        "size": 69843,
        "frames": 250,
        "seconds": 10,
        "exact": true
      }
    },
    {
      "id": "sunrise",
      "name": "Lever de soleil",
      "tag": "METEO",
      "category": "fetes",
      "desc": "Le disque monte et le ciel passe du bleu nuit à l'orange.",
      "fx": "Dégradé + disque",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#ff8c00",
          "Soleil"
        ],
        [
          "#ff3b6b",
          "Ciel"
        ],
        [
          "#0a0a28",
          "Nuit"
        ]
      ],
      "gif": {
        "file": "gif/sunrise.gif",
        "sha256": "7f737cee5c102e5ecbfaf3d785719627f68cfa9bd8085793b81ee355fbbcfe68",
        "size": 35775,
        "frames": 250,
        "seconds": 10,
        "exact": true
      }
    },
    {
      "id": "autumn",
      "name": "Feuilles d'automne",
      "tag": "SAISON",
      "category": "fetes",
      "desc": "Les feuilles tombent en tournoyant dans les ocres.",
      "fx": "Particules",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#e07020",
          "Orange"
        ],
        [
          "#c8a020",
          "Ocre"
        ],
        [
          "#180c04",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/autumn.gif",
        "sha256": "1d4c42d9dc2b346ab357919eeed08ce76322c67e04a58c11038a00ad0947901c",
        "size": 17300,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "clockdemo",
      "name": "Horloge",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "Affichage HH:MM, deux-points qui bat à la seconde.",
      "fx": "Chiffres + battement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Chiffres"
        ],
        [
          "#43d8ff",
          "Deux-points"
        ],
        [
          "#05080f",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/clockdemo.gif",
        "sha256": "214f8dd8c264b2046f3c56525190d3d0835cd3289f3902244b631790cbca6435",
        "size": 15985,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "thermo",
      "name": "Température",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "La colonne monte et le chiffre suit, du bleu au rouge.",
      "fx": "Jauge + valeur",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ff3b30",
          "Chaud"
        ],
        [
          "#43d8ff",
          "Froid"
        ],
        [
          "#0a0e14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/thermo.gif",
        "sha256": "0305990afa4fd747e7ed4080bfef418be385babd06d91d7b2ceba3a8ab98838b",
        "size": 16935,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "wifi",
      "name": "Signal wifi",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "Les arcs du signal s'allument l'un après l'autre depuis la base.",
      "fx": "Arcs progressifs",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#43d8ff",
          "Signal"
        ],
        [
          "#ffffff",
          "Base"
        ],
        [
          "#080c14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/wifi.gif",
        "sha256": "260358df2fdb5a8dd24dd1421b376e82b997f293fb0a77e394065e7226b1e6bc",
        "size": 21179,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "battery",
      "name": "Batterie",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "La batterie se charge segment par segment jusqu'au plein.",
      "fx": "Charge",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#00e676",
          "Charge"
        ],
        [
          "#ffd400",
          "Éclair"
        ],
        [
          "#0d1119",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/battery.gif",
        "sha256": "e56f69601add10640c5509c54a81e238854a225d23505daeecf0e970c4647290",
        "size": 16514,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "alert",
      "name": "Alerte",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "Le triangle d'avertissement clignote sur bandes de chantier.",
      "fx": "Clignotement",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#ffd400",
          "Jaune"
        ],
        [
          "#000000",
          "Bandes"
        ],
        [
          "#1a1400",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/alert.gif",
        "sha256": "9c5f5682d7deead5e742e2765ab971b73af9e2c4e0c2fe902b3d356c9195daab",
        "size": 9790,
        "frames": 100,
        "seconds": 4,
        "exact": false
      }
    },
    {
      "id": "checkok",
      "name": "Validé",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "La coche verte se trace d'un trait puis l'onde de confirmation part.",
      "fx": "Tracé + onde",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#00e676",
          "Vert"
        ],
        [
          "#ffffff",
          "Trait"
        ],
        [
          "#04140c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/checkok.gif",
        "sha256": "91fe9d79ea171acac04073f9d3d6f9c00fb9e3466c71222cf015beac53e1f1a4",
        "size": 10549,
        "frames": 125,
        "seconds": 5,
        "exact": false
      }
    },
    {
      "id": "errorx",
      "name": "Erreur",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "La croix rouge s'abat en deux traits et la dalle vibre.",
      "fx": "Tracé + secousse",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ff3b30",
          "Rouge"
        ],
        [
          "#ffffff",
          "Trait"
        ],
        [
          "#140404",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/errorx.gif",
        "sha256": "c4c313b8ea7ace87a811b31a4aa90689f4f6bb9f5b5a8d15a8da2ac311a4ff64",
        "size": 9447,
        "frames": 125,
        "seconds": 5,
        "exact": false
      }
    },
    {
      "id": "rainbow",
      "name": "Arc-en-ciel",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "La vague de teintes traverse la dalle sans fin.",
      "fx": "Dégradé mobile",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff0000",
          "Rouge"
        ],
        [
          "#00ff00",
          "Vert"
        ],
        [
          "#0000ff",
          "Bleu"
        ]
      ],
      "gif": {
        "file": "gif/rainbow.gif",
        "sha256": "58aa9bc181b4a38980a0d4e89fc140835528df436e38cf33957e9fb42f2e0e71",
        "size": 31617,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "breathe",
      "name": "Respiration",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "La dalle respire lentement, du sombre au clair.",
      "fx": "Pulsation lente",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#6a8cff",
          "Bleu"
        ],
        [
          "#ffffff",
          "Sommet"
        ],
        [
          "#02040c",
          "Creux"
        ]
      ],
      "gif": {
        "file": "gif/breathe.gif",
        "sha256": "3036c37f935f9601f981fa5fda73c62c5d9d843fc482334e523515102d51d981",
        "size": 22893,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "sinewave",
      "name": "Onde",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Une sinusoïde colorée ondule d'un bord à l'autre.",
      "fx": "Sinusoïde",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#43d8ff",
          "Cyan"
        ],
        [
          "#b026ff",
          "Violet"
        ],
        [
          "#03060e",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/sinewave.gif",
        "sha256": "83b4675569bc69c91e76ad29b54d3c8d6faaa9fe7941636069bfb0d00c13a149",
        "size": 23991,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "ripple",
      "name": "Ondes concentriques",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Des ondes partent du centre et se propagent jusqu'aux bords.",
      "fx": "Ondes radiales",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#43d8ff",
          "Onde"
        ],
        [
          "#ffffff",
          "Crête"
        ],
        [
          "#02060f",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/ripple.gif",
        "sha256": "ce1625f681920158c03c5f81dafa1d6f1431aeb85b05661bbd086bcc9be2a684",
        "size": 32454,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "lavalamp",
      "name": "Lampe à lave",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Des bulles chaudes montent, se déforment et fusionnent.",
      "fx": "Métaballes",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#ff4000",
          "Lave"
        ],
        [
          "#ffb000",
          "Cœur"
        ],
        [
          "#1a0400",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/lavalamp.gif",
        "sha256": "312a00d22b763957c1812f4dec8b0c891320ecd2e6880b3ca81e0d2ddbec5fc3",
        "size": 24523,
        "frames": 250,
        "seconds": 10,
        "exact": false
      }
    },
    {
      "id": "kitt",
      "name": "Scanner K2000",
      "tag": "RETRO",
      "category": "ambiance",
      "desc": "Le balayage rouge va et vient avec sa traînée, comme la calandre.",
      "fx": "Aller-retour",
      "speed": "Cycle 3 s",
      "cols": [
        [
          "#ff0000",
          "Rouge"
        ],
        [
          "#ff8080",
          "Traînée"
        ],
        [
          "#0a0000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/kitt.gif",
        "sha256": "b91d7b6c6eafe0da03324701dbce7361d44e955e5d7374ec27c792ac1dc84b9c",
        "size": 5969,
        "frames": 75,
        "seconds": 3,
        "exact": true
      }
    },
    {
      "id": "spiral",
      "name": "Spirale",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Une spirale colorée tourne depuis le centre de la dalle.",
      "fx": "Rotation",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ff00aa",
          "Magenta"
        ],
        [
          "#00d5ff",
          "Cyan"
        ],
        [
          "#000008",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/spiral.gif",
        "sha256": "f14405a0bbcc101169b6ae8ba3bbf3480a7e000d959bdd6b979ca0f17768bf58",
        "size": 29176,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "tunnel",
      "name": "Tunnel",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Des anneaux foncent vers toi, effet de tunnel sans fin.",
      "fx": "Perspective",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#43d8ff",
          "Anneaux"
        ],
        [
          "#ffffff",
          "Proche"
        ],
        [
          "#000006",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/tunnel.gif",
        "sha256": "4de3b03de06e7b31a73e406c76f685497ea35a6355f8b585b3587861df53b163",
        "size": 27314,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "dna",
      "name": "Double hélice",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Les deux brins s'enroulent l'un autour de l'autre, liaisons comprises.",
      "fx": "Hélice",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#43d8ff",
          "Brin A"
        ],
        [
          "#ff2b6b",
          "Brin B"
        ],
        [
          "#040810",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/dna.gif",
        "sha256": "6500577e1bd3ebb1a0b173d391c744ec6415f7551a528ec8e7c53fa6c0080b19",
        "size": 25584,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "confetti",
      "name": "Confettis",
      "tag": "FETE",
      "category": "fetes",
      "desc": "Une pluie de confettis multicolores tombe en tournoyant.",
      "fx": "Particules",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ff2b6b",
          "Rose"
        ],
        [
          "#43d8ff",
          "Cyan"
        ],
        [
          "#ffd400",
          "Jaune"
        ]
      ],
      "gif": {
        "file": "gif/confetti.gif",
        "sha256": "7d1cc57c723a2dbc51c023f273027238c2297c746ec815cbd5d1e78c69e1e673",
        "size": 17885,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "bubbles",
      "name": "Bulles",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Des bulles remontent en ondulant vers la surface.",
      "fx": "Particules",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#7fdcff",
          "Bulles"
        ],
        [
          "#ffffff",
          "Reflet"
        ],
        [
          "#001424",
          "Eau"
        ]
      ],
      "gif": {
        "file": "gif/bubbles.gif",
        "sha256": "fcf89dd0ac8c36061cf3298161449781ab3807da114a5be5f74e33a64979637b",
        "size": 27011,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "circleeq",
      "name": "Égaliseur circulaire",
      "tag": "AUDIO",
      "category": "utilitaires",
      "desc": "Les barres rayonnent depuis le centre au rythme du son.",
      "fx": "Barres radiales",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#00e676",
          "Bas"
        ],
        [
          "#ffd400",
          "Milieu"
        ],
        [
          "#ff3b30",
          "Crête"
        ]
      ],
      "gif": {
        "file": "gif/circleeq.gif",
        "sha256": "cbab8a2f70dd9c9398a47e8e9cd6f6e7dbb7668501212ae8887d1116700d92f8",
        "size": 16382,
        "frames": 150,
        "seconds": 6,
        "exact": false
      }
    },
    {
      "id": "pulsegrid",
      "name": "Grille pulsée",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Les points de la grille s'allument en vagues diagonales.",
      "fx": "Grille + vagues",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#43d8ff",
          "Points"
        ],
        [
          "#ffffff",
          "Crête"
        ],
        [
          "#02040a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/pulsegrid.gif",
        "sha256": "b7ab83a87cca3a7538fc885aabdd6b14032047250b67c34e4f442cffe63768e1",
        "size": 12931,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "dominoes",
      "name": "Dominos",
      "tag": "RETRO",
      "category": "utilitaires",
      "desc": "Les colonnes tombent l'une après l'autre puis se relèvent.",
      "fx": "Cascade",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ffd400",
          "Debout"
        ],
        [
          "#ff6b00",
          "Couché"
        ],
        [
          "#0a0806",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/dominoes.gif",
        "sha256": "e757c7dcc25ca81a0f0edcbfe3051acdb0e5ea161b162b597318f434e1d9df6d",
        "size": 10529,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "testbars",
      "name": "Mire",
      "tag": "RETRO",
      "category": "ambiance",
      "desc": "La mire de barres colorées, avec son balayage de contrôle.",
      "fx": "Barres + balayage",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ffffff",
          "Blanc"
        ],
        [
          "#ffd400",
          "Jaune"
        ],
        [
          "#0066ff",
          "Bleu"
        ]
      ],
      "gif": {
        "file": "gif/testbars.gif",
        "sha256": "0f881f3b8cd921dc99b1349f21e31cf6372a4e7d6e9696f1a9d1f1a22ce92660",
        "size": 17226,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "fireblue",
      "name": "Flammes bleues",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Le même feu, mais dans les bleus glacés d'une flamme de gaz.",
      "fx": "Propagation de chaleur",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#0040ff",
          "Base"
        ],
        [
          "#00b0ff",
          "Flammes"
        ],
        [
          "#d0f0ff",
          "Cœur"
        ]
      ],
      "gif": {
        "file": "gif/fireblue.gif",
        "sha256": "4f285b818ba25af526390ee16f643d1beb0fb153231a6fdfc66e5e6fc60c7a77",
        "size": 38442,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "firegreen",
      "name": "Flammes vertes",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Le feu version sorcier, dans les verts spectraux.",
      "fx": "Propagation de chaleur",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#004000",
          "Base"
        ],
        [
          "#00d040",
          "Flammes"
        ],
        [
          "#d0ffd0",
          "Cœur"
        ]
      ],
      "gif": {
        "file": "gif/firegreen.gif",
        "sha256": "beeb9455d367dac0845eb0d9e430d2cc5e5a0beec85b9298bc7882b5e9d3c071",
        "size": 34456,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "plasmacool",
      "name": "Plasma froid",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Le champ de plasma restreint aux bleus et violets, plus posé.",
      "fx": "Interférences",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#0040ff",
          "Bleu"
        ],
        [
          "#a050ff",
          "Violet"
        ],
        [
          "#00d5ff",
          "Cyan"
        ]
      ],
      "gif": {
        "file": "gif/plasmacool.gif",
        "sha256": "ac665c24d9bea375a213e5228dc4efdcd930e09a2beee7633866e899fd3bf376",
        "size": 52038,
        "frames": 250,
        "seconds": 10,
        "exact": true
      }
    },
    {
      "id": "starwarp",
      "name": "Vitesse lumière",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Les étoiles s'étirent puis l'hyperespace vous avale.",
      "fx": "Étirement",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffffff",
          "Étoiles"
        ],
        [
          "#8fb8ff",
          "Traînées"
        ],
        [
          "#000006",
          "Vide"
        ]
      ],
      "gif": {
        "file": "gif/starwarp.gif",
        "sha256": "5308213a6c92294032ad6479972f8371b141ee175d5e1772d72d3b2668f448f3",
        "size": 20755,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "meteor",
      "name": "Météores",
      "tag": "AMBIANCE",
      "category": "meteo",
      "desc": "Des météores traversent la dalle en diagonale et s'éteignent.",
      "fx": "Traînées diagonales",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#ffd0a0",
          "Tête"
        ],
        [
          "#ff6020",
          "Traînée"
        ],
        [
          "#000410",
          "Ciel"
        ]
      ],
      "gif": {
        "file": "gif/meteor.gif",
        "sha256": "f7cb0db1a4fc1f9ab92d541df208689d928e4f3ae0b9b54d94327d167085d4a9",
        "size": 14181,
        "frames": 175,
        "seconds": 7,
        "exact": false
      }
    },
    {
      "id": "matrixgold",
      "name": "Matrix doré",
      "tag": "MATRIX",
      "category": "matrix",
      "desc": "La pluie de code en or, version luxe.",
      "fx": "Pluie digitale",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#fff3b0",
          "Tête"
        ],
        [
          "#ffb800",
          "Traîne"
        ],
        [
          "#2e2000",
          "Queue"
        ]
      ],
      "gif": {
        "file": "gif/matrixgold.gif",
        "sha256": "64498605fa0eeb2128fbd58b0c1ddc597c84c915fc574f88a6cc43d5c28ccdea",
        "size": 31346,
        "frames": 225,
        "seconds": 9,
        "exact": false
      }
    },
    {
      "id": "scanline",
      "name": "Balayage",
      "tag": "RETRO",
      "category": "ambiance",
      "desc": "Une ligne de scan parcourt la dalle sur fond de lignes rémanentes.",
      "fx": "Balayage",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#00ff41",
          "Ligne"
        ],
        [
          "#004d14",
          "Rémanence"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/scanline.gif",
        "sha256": "958b5807b2114d7840e0d453cee84126a3bd2930586bb9da7da331c6dc03d223",
        "size": 9374,
        "frames": 100,
        "seconds": 4,
        "exact": true
      }
    },
    {
      "id": "heartbeat",
      "name": "Électrocardiogramme",
      "tag": "UTILE",
      "category": "utilitaires",
      "desc": "Le tracé cardiaque défile avec son pic caractéristique.",
      "fx": "Tracé défilant",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#00e676",
          "Tracé"
        ],
        [
          "#ffffff",
          "Pic"
        ],
        [
          "#04140c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/heartbeat.gif",
        "sha256": "054fc36a9239c7d48d04cf29b4574ad778b78f88250e7a425e5a04319d41279f",
        "size": 10905,
        "frames": 100,
        "seconds": 4,
        "exact": false
      }
    },
    {
      "id": "noisefield",
      "name": "Nuage de bruit",
      "tag": "AMBIANCE",
      "category": "ambiance",
      "desc": "Un champ de bruit dérive lentement, texture organique.",
      "fx": "Bruit animé",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#7f5fff",
          "Violet"
        ],
        [
          "#00d5ff",
          "Cyan"
        ],
        [
          "#03040a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/noisefield.gif",
        "sha256": "d6f5cbc7049d9d435f8df79336849095bfc419ffde7dcb6ea01083509749914a",
        "size": 55845,
        "frames": 225,
        "seconds": 9,
        "exact": true
      }
    },
    {
      "id": "chequered",
      "name": "Drapeau à damier",
      "tag": "F1",
      "category": "f1",
      "desc": "Le damier ondule sur toute la dalle : la course est finie.",
      "fx": "Ondulation",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ffffff",
          "Blanc"
        ],
        [
          "#000000",
          "Noir"
        ],
        [
          "#ffd400",
          "Éclat"
        ]
      ],
      "gif": {
        "file": "gif/chequered.gif",
        "sha256": "501b499f96b96667fd9a28ec9c02945aff046a28c04bb3004f26f40bdb56002e",
        "size": 26119,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "pitboard",
      "name": "Panneau de stand",
      "tag": "F1",
      "category": "f1",
      "desc": "Le panneau affiche la position et l'écart, tenu au bord de la piste.",
      "fx": "Panneau + écart",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ffffff",
          "Chiffres"
        ],
        [
          "#00e676",
          "Écart"
        ],
        [
          "#101418",
          "Panneau"
        ]
      ],
      "gif": {
        "file": "gif/pitboard.gif",
        "sha256": "15872f0c8b1dfee66bfbfec1af438fa9dad93c9875c5f36b2fea00fd06d375bb",
        "size": 20648,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "message",
      "name": "Message libre",
      "tag": "HOME ASSISTANT",
      "category": "home-assistant",
      "desc": "Fait defiler n'importe quel texte envoye depuis Home Assistant ou Node-RED. Couleur et vitesse reglables.",
      "fx": "Defilement parametrable",
      "speed": "Selon la longueur",
      "cols": [
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#43d8ff",
          "Accent"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/message.gif",
        "sha256": "721a0c5de2a4194f2292e4449f8e69785f61b94ec76856f48bd9128d34762ce5",
        "size": 20085,
        "frames": 300,
        "seconds": 12,
        "exact": false
      }
    },
    {
      "id": "compose",
      "name": "Composition",
      "tag": "ICONE + TEXTE",
      "category": "home-assistant",
      "desc": "Fond uni, degrade ou arc-en-ciel, une icone LaMetric 8x8 a gauche, au centre ou a droite, et du texte dans l'espace restant. Tout se regle depuis la carte Lovelace.",
      "fx": "Fond, icone et texte superposes",
      "speed": "Selon la longueur du texte",
      "cols": [
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#43d8ff",
          "Degrade"
        ],
        [
          "#101018",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/compose.gif",
        "sha256": "d6013a4c1bfdfc5ef7957725826df6a80cb721198e41925ce027b73ae6fb665a",
        "size": 10039,
        "frames": 200,
        "seconds": 8,
        "exact": false
      }
    },
    {
      "id": "norris",
      "name": "Lando Norris",
      "tag": "MCLAREN #1",
      "category": "f1-pilotes",
      "desc": "Le 1 en géant avec un halo aux couleurs de McLaren, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,2 s",
      "cols": [
        [
          "#ff8000",
          "Livrée"
        ],
        [
          "#5ac8ff",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/norris.gif",
        "sha256": "aa0458093ffb34aae9b714d15e42b6bd9bea1619c69219fe6e392094b72547c4",
        "size": 43283,
        "frames": 280,
        "seconds": 11.2,
        "exact": true
      }
    },
    {
      "id": "piastri",
      "name": "Oscar Piastri",
      "tag": "MCLAREN #81",
      "category": "f1-pilotes",
      "desc": "Le 81 en géant avec un halo aux couleurs de McLaren, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11 s",
      "cols": [
        [
          "#ff8000",
          "Livrée"
        ],
        [
          "#5ac8ff",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/piastri.gif",
        "sha256": "4f69d311bbaf6acf338d3ff42138e4e746d5dc904af0021f91493f0942660240",
        "size": 47536,
        "frames": 275,
        "seconds": 11,
        "exact": true
      }
    },
    {
      "id": "leclerc",
      "name": "Charles Leclerc",
      "tag": "FERRARI #16",
      "category": "f1-pilotes",
      "desc": "Le 16 en géant avec un halo aux couleurs de la Scuderia Ferrari, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,8 s",
      "cols": [
        [
          "#e10a0a",
          "Livrée"
        ],
        [
          "#ffd600",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/leclerc.gif",
        "sha256": "9bf85db1014d8d3499e083b246c2dff9f586cfc5c791c4189cfd3590fd2ccba7",
        "size": 51771,
        "frames": 295,
        "seconds": 11.8,
        "exact": true
      }
    },
    {
      "id": "hamilton",
      "name": "Lewis Hamilton",
      "tag": "FERRARI #44",
      "category": "f1-pilotes",
      "desc": "Le 44 en géant avec un halo aux couleurs de la Scuderia Ferrari, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,4 s",
      "cols": [
        [
          "#e10a0a",
          "Livrée"
        ],
        [
          "#ffd600",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/hamilton.gif",
        "sha256": "37291b09a4ce4b872018281fe4dc35e9e2ee44e661acf6e32f1f6138e975df24",
        "size": 48483,
        "frames": 285,
        "seconds": 11.4,
        "exact": true
      }
    },
    {
      "id": "hadjar",
      "name": "Isack Hadjar",
      "tag": "RED BULL #6",
      "category": "f1-pilotes",
      "desc": "Le 6 en géant avec un halo aux couleurs de Red Bull Racing, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,6 s",
      "cols": [
        [
          "#1e41aa",
          "Livrée"
        ],
        [
          "#e6140a",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/hadjar.gif",
        "sha256": "199026291fc41c2bdf0bb2fb636c858a2e3abb83582321e3e86ac4253d0bb784",
        "size": 46843,
        "frames": 290,
        "seconds": 11.6,
        "exact": true
      }
    },
    {
      "id": "russell",
      "name": "George Russell",
      "tag": "MERCEDES #63",
      "category": "f1-pilotes",
      "desc": "Le 63 en géant avec un halo aux couleurs de Mercedes-AMG, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,8 s",
      "cols": [
        [
          "#bec6ce",
          "Livrée"
        ],
        [
          "#00d7be",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/russell.gif",
        "sha256": "0e1e94faacf27f49b42cc407203c456515ab466da4d15b70489f94052e5dde8a",
        "size": 53380,
        "frames": 295,
        "seconds": 11.8,
        "exact": true
      }
    },
    {
      "id": "antonelli",
      "name": "Kimi Antonelli",
      "tag": "MERCEDES #12",
      "category": "f1-pilotes",
      "desc": "Le 12 en géant avec un halo aux couleurs de Mercedes-AMG, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,8 s",
      "cols": [
        [
          "#bec6ce",
          "Livrée"
        ],
        [
          "#00d7be",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/antonelli.gif",
        "sha256": "538128c8d9fe9fa4673952dd5759f9d945540d0c08eb847b1aad0bf6fe8da550",
        "size": 54208,
        "frames": 295,
        "seconds": 11.8,
        "exact": true
      }
    },
    {
      "id": "alonso",
      "name": "Fernando Alonso",
      "tag": "ASTON MARTIN #14",
      "category": "f1-pilotes",
      "desc": "Le 14 en géant avec un halo aux couleurs de Aston Martin, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 13,6 s",
      "cols": [
        [
          "#00785a",
          "Livrée"
        ],
        [
          "#c8ff00",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/alonso.gif",
        "sha256": "a62006c8df4d421727e3b58ee6f100fdc512e6de62407cf7965dcc88eea805c8",
        "size": 58883,
        "frames": 340,
        "seconds": 13.6,
        "exact": true
      }
    },
    {
      "id": "stroll",
      "name": "Lance Stroll",
      "tag": "ASTON MARTIN #18",
      "category": "f1-pilotes",
      "desc": "Le 18 en géant avec un halo aux couleurs de Aston Martin, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 12,6 s",
      "cols": [
        [
          "#00785a",
          "Livrée"
        ],
        [
          "#c8ff00",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/stroll.gif",
        "sha256": "fab909ad7dfbbc3bcec465940ce9124985d1cf58ba57344e983702a25fdf983b",
        "size": 56300,
        "frames": 315,
        "seconds": 12.6,
        "exact": true
      }
    },
    {
      "id": "gasly",
      "name": "Pierre Gasly",
      "tag": "ALPINE #10",
      "category": "f1-pilotes",
      "desc": "Le 10 en géant avec un halo aux couleurs de Alpine, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 10,4 s",
      "cols": [
        [
          "#146ef0",
          "Livrée"
        ],
        [
          "#ff5fb9",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/gasly.gif",
        "sha256": "7a0113e70f5fd96d3020f99d93404b81ad6c183d446d7208668087d0ae89997e",
        "size": 46787,
        "frames": 260,
        "seconds": 10.4,
        "exact": true
      }
    },
    {
      "id": "colapinto",
      "name": "Franco Colapinto",
      "tag": "ALPINE #43",
      "category": "f1-pilotes",
      "desc": "Le 43 en géant avec un halo aux couleurs de Alpine, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11,8 s",
      "cols": [
        [
          "#146ef0",
          "Livrée"
        ],
        [
          "#ff5fb9",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/colapinto.gif",
        "sha256": "f76203979510fec66fdbc42b5d0bc02987985ae8ca01a445d5f2a262c79277f0",
        "size": 52397,
        "frames": 295,
        "seconds": 11.8,
        "exact": true
      }
    },
    {
      "id": "albon",
      "name": "Alex Albon",
      "tag": "WILLIAMS #23",
      "category": "f1-pilotes",
      "desc": "Le 23 en géant avec un halo aux couleurs de Williams, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 10,4 s",
      "cols": [
        [
          "#1e64ff",
          "Livrée"
        ],
        [
          "#00e1ff",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/albon.gif",
        "sha256": "4e0e048785388c2e35ecf0ff585b83f6d421dd8d6ce1213e9701150a41d4aa95",
        "size": 48128,
        "frames": 260,
        "seconds": 10.4,
        "exact": true
      }
    },
    {
      "id": "sainz",
      "name": "Carlos Sainz",
      "tag": "WILLIAMS #55",
      "category": "f1-pilotes",
      "desc": "Le 55 en géant avec un halo aux couleurs de Williams, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11 s",
      "cols": [
        [
          "#1e64ff",
          "Livrée"
        ],
        [
          "#00e1ff",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/sainz.gif",
        "sha256": "29e4049c43d45bfc238d2583d3bff643cec5f18b55d9ea709364c53f37d3bd89",
        "size": 49993,
        "frames": 275,
        "seconds": 11,
        "exact": true
      }
    },
    {
      "id": "lawson",
      "name": "Liam Lawson",
      "tag": "RACING BULLS #30",
      "category": "f1-pilotes",
      "desc": "Le 30 en géant avec un halo aux couleurs de Racing Bulls, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 12,2 s",
      "cols": [
        [
          "#e1e6f0",
          "Livrée"
        ],
        [
          "#3c6eff",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/lawson.gif",
        "sha256": "5510d93b08295a611b31fa4c10074f52599d78842220f93f14cb1be461c7cee4",
        "size": 60011,
        "frames": 305,
        "seconds": 12.2,
        "exact": true
      }
    },
    {
      "id": "lindblad",
      "name": "Arvid Lindblad",
      "tag": "RACING BULLS #41",
      "category": "f1-pilotes",
      "desc": "Le 41 en géant avec un halo aux couleurs de Racing Bulls, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 13,2 s",
      "cols": [
        [
          "#e1e6f0",
          "Livrée"
        ],
        [
          "#3c6eff",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/lindblad.gif",
        "sha256": "8cfaa527f1afad6f67078233aae848a37e2fde33efb3dd244d50941d67e6de35",
        "size": 63463,
        "frames": 330,
        "seconds": 13.2,
        "exact": true
      }
    },
    {
      "id": "ocon",
      "name": "Esteban Ocon",
      "tag": "HAAS #31",
      "category": "f1-pilotes",
      "desc": "Le 31 en géant avec un halo aux couleurs de Haas, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 9,6 s",
      "cols": [
        [
          "#e1e4e8",
          "Livrée"
        ],
        [
          "#e61428",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/ocon.gif",
        "sha256": "9c5b26015b7dcdc5b557267cba63505c56de1e26b854f77ae6ac01f71ebaa6f7",
        "size": 41128,
        "frames": 240,
        "seconds": 9.6,
        "exact": true
      }
    },
    {
      "id": "bearman",
      "name": "Oliver Bearman",
      "tag": "HAAS #87",
      "category": "f1-pilotes",
      "desc": "Le 87 en géant avec un halo aux couleurs de Haas, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 10,4 s",
      "cols": [
        [
          "#e1e4e8",
          "Livrée"
        ],
        [
          "#e61428",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/bearman.gif",
        "sha256": "5cbb14518608d3dacc2cd2a8ef05376b51a614e03fee48488e9c28efd931073e",
        "size": 44335,
        "frames": 260,
        "seconds": 10.4,
        "exact": true
      }
    },
    {
      "id": "hulkenberg",
      "name": "Nico Hülkenberg",
      "tag": "AUDI #27",
      "category": "f1-pilotes",
      "desc": "Le 27 en géant avec un halo aux couleurs de Audi, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 10,8 s",
      "cols": [
        [
          "#afb4bc",
          "Livrée"
        ],
        [
          "#f5232d",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/hulkenberg.gif",
        "sha256": "0321ae7535b58ba251a6f0951e00bd61a72a719710d97cca4ded696f1d6a7bd4",
        "size": 46849,
        "frames": 270,
        "seconds": 10.8,
        "exact": true
      }
    },
    {
      "id": "bortoleto",
      "name": "Gabriel Bortoleto",
      "tag": "AUDI #5",
      "category": "f1-pilotes",
      "desc": "Le 5 en géant avec un halo aux couleurs de Audi, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 12 s",
      "cols": [
        [
          "#afb4bc",
          "Livrée"
        ],
        [
          "#f5232d",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/bortoleto.gif",
        "sha256": "913a3fc52b80dc2510e4e422f0dee5d6886d82a4d1648b1b34afefd7d08609e9",
        "size": 49595,
        "frames": 300,
        "seconds": 12,
        "exact": true
      }
    },
    {
      "id": "perez",
      "name": "Sergio Pérez",
      "tag": "CADILLAC #11",
      "category": "f1-pilotes",
      "desc": "Le 11 en géant avec un halo aux couleurs de Cadillac, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 11 s",
      "cols": [
        [
          "#e6e6ec",
          "Livrée"
        ],
        [
          "#cdaf5f",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/perez.gif",
        "sha256": "6d232c8542e48ac4501aecddb611787a466c3ab3eef4a58ed5d3acc8693767db",
        "size": 44518,
        "frames": 275,
        "seconds": 11,
        "exact": true
      }
    },
    {
      "id": "bottas",
      "name": "Valtteri Bottas",
      "tag": "CADILLAC #77",
      "category": "f1-pilotes",
      "desc": "Le 77 en géant avec un halo aux couleurs de Cadillac, le nom qui défile en entier, puis un balayage de la livrée.",
      "fx": "Numéro + défilement + balayage",
      "speed": "Cycle 12,2 s",
      "cols": [
        [
          "#e6e6ec",
          "Livrée"
        ],
        [
          "#cdaf5f",
          "Accent"
        ],
        [
          "#ffffff",
          "Numéro"
        ]
      ],
      "gif": {
        "file": "gif/bottas.gif",
        "sha256": "6ae342b2919b6584c8d6ff92dbe53343f2658a5b265db7658f2c84aa7667a62a",
        "size": 48928,
        "frames": 305,
        "seconds": 12.2,
        "exact": true
      }
    },
    {
      "id": "mclaren",
      "name": "McLaren",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de McLaren traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #1 Norris  #81 Piastri.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 20,2 s",
      "cols": [
        [
          "#ff8000",
          "Livrée"
        ],
        [
          "#5ac8ff",
          "Accent"
        ],
        [
          "#0e0c0e",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/mclaren.gif",
        "sha256": "15c885baf32fa15c7b4c999b8ebe60dfc44e826fe71d70c0c36b0e5fce9da3ab",
        "size": 58049,
        "frames": 505,
        "seconds": 20.2,
        "exact": true
      }
    },
    {
      "id": "ferrari",
      "name": "Scuderia Ferrari",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Scuderia Ferrari traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #16 Leclerc  #44 Hamilton.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 21,6 s",
      "cols": [
        [
          "#e10a0a",
          "Livrée"
        ],
        [
          "#ffd600",
          "Accent"
        ],
        [
          "#220002",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/ferrari.gif",
        "sha256": "eed4b5b07ee0b941bf7a12c8a1ab0551d3f3bd16c70805816b298bb1e55be48b",
        "size": 70844,
        "frames": 540,
        "seconds": 21.6,
        "exact": true
      }
    },
    {
      "id": "mercedes",
      "name": "Mercedes-AMG",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Mercedes-AMG traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #63 Russell  #12 Antonelli.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 20,6 s",
      "cols": [
        [
          "#bec6ce",
          "Livrée"
        ],
        [
          "#00d7be",
          "Accent"
        ],
        [
          "#080a0c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/mercedes.gif",
        "sha256": "467992480e6fa3a84cd9a66bb9b34935582b7fa0a179642e3b516695ae421422",
        "size": 63034,
        "frames": 515,
        "seconds": 20.6,
        "exact": true
      }
    },
    {
      "id": "astonmartin",
      "name": "Aston Martin",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Aston Martin traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #14 Alonso  #18 Stroll.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 19,2 s",
      "cols": [
        [
          "#00785a",
          "Livrée"
        ],
        [
          "#c8ff00",
          "Accent"
        ],
        [
          "#001a14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/astonmartin.gif",
        "sha256": "6ab5102017ae6f1f4f1071dc85434661b175791d7af46d590874bfc47aa33015",
        "size": 58739,
        "frames": 480,
        "seconds": 19.2,
        "exact": true
      }
    },
    {
      "id": "alpine",
      "name": "Alpine",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Alpine traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #10 Gasly  #43 Colapinto.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 20,6 s",
      "cols": [
        [
          "#146ef0",
          "Livrée"
        ],
        [
          "#ff5fb9",
          "Accent"
        ],
        [
          "#030c26",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/alpine.gif",
        "sha256": "3c8afa1c419c2af07d03765410c1280d8bfbafab33b64a7d810b5cc4adf13d42",
        "size": 64427,
        "frames": 515,
        "seconds": 20.6,
        "exact": true
      }
    },
    {
      "id": "williams",
      "name": "Williams Racing",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Williams Racing traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #23 Albon  #55 Sainz.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 19,6 s",
      "cols": [
        [
          "#1e64ff",
          "Livrée"
        ],
        [
          "#00e1ff",
          "Accent"
        ],
        [
          "#020a24",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/williams.gif",
        "sha256": "9501c08ff5fd4ce5d1920473cfbc1b13a9d08dd03917b28fb73f5330a54880f4",
        "size": 67109,
        "frames": 490,
        "seconds": 19.6,
        "exact": true
      }
    },
    {
      "id": "racingbulls",
      "name": "Racing Bulls",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Racing Bulls traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #30 Lawson  #41 Lindblad.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 19,8 s",
      "cols": [
        [
          "#e1e6f0",
          "Livrée"
        ],
        [
          "#3c6eff",
          "Accent"
        ],
        [
          "#0e163c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/racingbulls.gif",
        "sha256": "9bee1a7ba770eca567e61f89b4fa7ccf834638efc3d45a7b61f124a2e1ade7fd",
        "size": 70635,
        "frames": 495,
        "seconds": 19.8,
        "exact": true
      }
    },
    {
      "id": "haas",
      "name": "Haas F1 Team",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Haas F1 Team traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #31 Ocon  #87 Bearman.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 18,8 s",
      "cols": [
        [
          "#e1e4e8",
          "Livrée"
        ],
        [
          "#e61428",
          "Accent"
        ],
        [
          "#101012",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/haas.gif",
        "sha256": "476e73f5db3677353ba92fde33c3d933cdfeeca5811dac786e590aee8d4cb662",
        "size": 55569,
        "frames": 470,
        "seconds": 18.8,
        "exact": true
      }
    },
    {
      "id": "audi",
      "name": "Audi F1 Team",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Audi F1 Team traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #27 Hulkenberg  #5 Bortoleto.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 21,2 s",
      "cols": [
        [
          "#afb4bc",
          "Livrée"
        ],
        [
          "#f5232d",
          "Accent"
        ],
        [
          "#0a0a0c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/audi.gif",
        "sha256": "906284d776ac1cfda9b5f214f07ec1d0a55d58c607fb868643bc5a094c8e7991",
        "size": 64460,
        "frames": 530,
        "seconds": 21.2,
        "exact": true
      }
    },
    {
      "id": "cadillac",
      "name": "Cadillac F1 Team",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "La monoplace aux couleurs de Cadillac F1 Team traverse la dalle dans ses traînées, puis l'équipe et ses deux pilotes défilent : #11 Perez  #77 Bottas.",
      "fx": "Sprite + traînées + défilement",
      "speed": "Cycle 20,2 s",
      "cols": [
        [
          "#e6e6ec",
          "Livrée"
        ],
        [
          "#cdaf5f",
          "Accent"
        ],
        [
          "#060608",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/cadillac.gif",
        "sha256": "474a866ef726c5cc1eea4467819183c38827693697e2e205cc3b4401121295b7",
        "size": 59236,
        "frames": 505,
        "seconds": 20.2,
        "exact": true
      }
    },
    {
      "id": "grille2026",
      "name": "Grille F1 2026",
      "tag": "F1 2026",
      "category": "f1-ecuries",
      "desc": "Les vingt-deux numéros de la saison défilent, chacun à la couleur de son écurie, entre deux liserés aux onze livrées.",
      "fx": "Défilement multicolore",
      "speed": "Cycle 34 s",
      "cols": [
        [
          "#ff8000",
          "McLaren"
        ],
        [
          "#e10a0a",
          "Ferrari"
        ],
        [
          "#1e41aa",
          "Red Bull"
        ]
      ],
      "gif": {
        "file": "gif/grille2026.gif",
        "sha256": "ce4007ef46fe8bee4cfe992f7991db36e76f29dad1df2a7af4ce9e6fbb47f500",
        "size": 102719,
        "frames": 850,
        "seconds": 34,
        "exact": true
      }
    },
    {
      "id": "ubb",
      "name": "Union Bordeaux-Bègles",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle UBB en grand sur des chevrons blancs qui avancent sur le bordeaux, puis « Union Bordeaux-Begles - Allez Ubb » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 18 s",
      "cols": [
        [
          "#7d002d",
          "Couleur 1"
        ],
        [
          "#f0f0f0",
          "Couleur 2"
        ],
        [
          "#3c0016",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/ubb.gif",
        "sha256": "d1ab692afb3b273ef9b6ffad2c8e94841f49229ef0de4081ce0a63d04c80d3c2",
        "size": 46949,
        "frames": 450,
        "seconds": 18,
        "exact": true
      }
    },
    {
      "id": "toulon",
      "name": "RC Toulon",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle RCT en grand sur une diagonale rouge et noir qui bat au rythme du pilou-pilou, puis « Rc Toulon - Pilou Pilou » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 14,8 s",
      "cols": [
        [
          "#d70a14",
          "Couleur 1"
        ],
        [
          "#0a0a0c",
          "Couleur 2"
        ],
        [
          "#0a0808",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/toulon.gif",
        "sha256": "2cdec70861a2cb2ad75f31f123f97b0faf7f2cea285537c01a3e1f5c5abaeb08",
        "size": 36919,
        "frames": 370,
        "seconds": 14.8,
        "exact": true
      }
    },
    {
      "id": "clermont",
      "name": "ASM Clermont Auvergne",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle ASM en grand sur la chaîne des Puys en bleu sur un ciel jaune, puis « Asm Clermont Auvergne - Les Jaunards » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 19 s",
      "cols": [
        [
          "#ffc800",
          "Couleur 1"
        ],
        [
          "#00328c",
          "Couleur 2"
        ],
        [
          "#002469",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/clermont.gif",
        "sha256": "56bb5402ba9c4eee3e0853afcf26ec0718232b4c37319bc9e91f403bf81fbe6c",
        "size": 51056,
        "frames": 475,
        "seconds": 19,
        "exact": true
      }
    },
    {
      "id": "larochelle",
      "name": "Stade Rochelais",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle SR en grand sur une houle noire sur le jaune, puis « Stade Rochelais - Les Maritimes » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 17,4 s",
      "cols": [
        [
          "#ffcd00",
          "Couleur 1"
        ],
        [
          "#0a0a0c",
          "Couleur 2"
        ],
        [
          "#08080a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/larochelle.gif",
        "sha256": "106ad7bb3ba872f656f0b659bd47368e9547e21ef4fcc393dc70544fca236c53",
        "size": 40195,
        "frames": 435,
        "seconds": 17.4,
        "exact": true
      }
    },
    {
      "id": "racing92",
      "name": "Racing 92",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle R92 en grand sur des cerceaux ciel et blanc, puis « Racing 92 - Ciel Et Blanc » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 15,4 s",
      "cols": [
        [
          "#6eb9f0",
          "Couleur 1"
        ],
        [
          "#f5f8fc",
          "Couleur 2"
        ],
        [
          "#081846",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/racing92.gif",
        "sha256": "5d0f2ef1308adb6dde6dec111975ab1d4ffdc2b5bc999f3eacba7c61cc3cff71",
        "size": 39040,
        "frames": 385,
        "seconds": 15.4,
        "exact": true
      }
    },
    {
      "id": "stadefrancais",
      "name": "Stade Français Paris",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle SF en grand sur la tour Eiffel qui scintille sur un ciel rose, puis « Stade Francais Paris » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 13,8 s",
      "cols": [
        [
          "#eb3c96",
          "Couleur 1"
        ],
        [
          "#0a195f",
          "Couleur 2"
        ],
        [
          "#0a1450",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/stadefrancais.gif",
        "sha256": "73aa3b2b82501f90875cba3f459b3c0e5826df8955ab9b6b25e51f6aa3713d69",
        "size": 38003,
        "frames": 345,
        "seconds": 13.8,
        "exact": true
      }
    },
    {
      "id": "castres",
      "name": "Castres Olympique",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle CO en grand sur des rayons blancs qui tournent sur le bleu, puis « Castres Olympique » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 12,8 s",
      "cols": [
        [
          "#004baf",
          "Couleur 1"
        ],
        [
          "#f5f5fa",
          "Couleur 2"
        ],
        [
          "#002460",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/castres.gif",
        "sha256": "0b391bed9e4663d7d181f3668b171e76a8135d12627114ee7105a7b2d5b32bb3",
        "size": 32856,
        "frames": 320,
        "seconds": 12.8,
        "exact": true
      }
    },
    {
      "id": "pau",
      "name": "Section Paloise",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle SP en grand sur les Pyrénées enneigées sur fond vert, puis « Section Paloise - Bearn » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 14,8 s",
      "cols": [
        [
          "#008241",
          "Couleur 1"
        ],
        [
          "#f5f5f5",
          "Couleur 2"
        ],
        [
          "#00341a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/pau.gif",
        "sha256": "be768a62ca7052739f0109434fe1e1eeea95f48fc31fc9bddd610d0e2ef9a2b0",
        "size": 39429,
        "frames": 370,
        "seconds": 14.8,
        "exact": true
      }
    },
    {
      "id": "bayonne",
      "name": "Aviron Bayonnais",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle AB en grand sur deux avirons croisés qui rament, puis « Aviron Bayonnais - Ciel Et Blanc » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 17,8 s",
      "cols": [
        [
          "#5aafeb",
          "Couleur 1"
        ],
        [
          "#fafafc",
          "Couleur 2"
        ],
        [
          "#0a2456",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/bayonne.gif",
        "sha256": "181aa4a846839a72a735ead585fca85b5a0f7c0e21dd39bcff72416c1a6f612a",
        "size": 47580,
        "frames": 445,
        "seconds": 17.8,
        "exact": true
      }
    },
    {
      "id": "lyon",
      "name": "Lyon OU",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle LOU en grand sur des bandes diagonales rouge, blanc et noir, puis « Lyon Olympique Universitaire » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 16,4 s",
      "cols": [
        [
          "#cd0a1e",
          "Couleur 1"
        ],
        [
          "#0a0a0c",
          "Couleur 2"
        ],
        [
          "#0a0a0c",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/lyon.gif",
        "sha256": "a323c9d8cfa91074942aecb9815fa6998bf032c7ce86b375758c058fb45dfb13",
        "size": 41408,
        "frames": 410,
        "seconds": 16.4,
        "exact": true
      }
    },
    {
      "id": "montpellier",
      "name": "Montpellier HR",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle MHR en grand sur des rayures bleu et blanc qui ondulent, puis « Montpellier Herault Rugby » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 15,4 s",
      "cols": [
        [
          "#1946a5",
          "Couleur 1"
        ],
        [
          "#f5f5fa",
          "Couleur 2"
        ],
        [
          "#0a1c4e",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/montpellier.gif",
        "sha256": "bdbbc7f33ffd8c0f343169431298ddcda3ce0eb6873929bae1e1a816c9a6161f",
        "size": 40891,
        "frames": 385,
        "seconds": 15.4,
        "exact": true
      }
    },
    {
      "id": "perpignan",
      "name": "USA Perpignan",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle USAP en grand sur la senyera catalane, sang et or, qui flotte, puis « Usa Perpignan - Sang Et Or » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 15,8 s",
      "cols": [
        [
          "#aa0014",
          "Couleur 1"
        ],
        [
          "#ffbe00",
          "Couleur 2"
        ],
        [
          "#380008",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/perpignan.gif",
        "sha256": "f8df109479f2104d20bb7bc8d7f728803732efcb2e8a7846cfe9b166f846ad53",
        "size": 42203,
        "frames": 395,
        "seconds": 15.8,
        "exact": true
      }
    },
    {
      "id": "vannes",
      "name": "RC Vannes",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Le sigle RCV en grand sur des hermines bretonnes qui glissent sur le blanc, puis « Rugby Club Vannetais » qui défile entre deux liserés aux couleurs du club.",
      "fx": "Motif + sigle + défilement",
      "speed": "Cycle 13,8 s",
      "cols": [
        [
          "#194bcd",
          "Couleur 1"
        ],
        [
          "#f5f5fa",
          "Couleur 2"
        ],
        [
          "#0a1e5a",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/vannes.gif",
        "sha256": "9d65a57301c8fb3a90a74017c8d3d6513b5e64a0af8048671d38840486f86bb1",
        "size": 36252,
        "frames": 345,
        "seconds": 13.8,
        "exact": true
      }
    },
    {
      "id": "top14",
      "name": "Générique Top 14",
      "tag": "TOP 14",
      "category": "top14",
      "desc": "Les quatorze clubs de la saison 2026-2027 montent en barres à leurs couleurs, « TOP14 » s'allume sous un reflet d'or, puis le championnat défile.",
      "fx": "Égaliseur + titre + défilement",
      "speed": "Cycle 25,8 s",
      "cols": [
        [
          "#d4a017",
          "Or"
        ],
        [
          "#ffffff",
          "Titre"
        ],
        [
          "#0a0a14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/top14.gif",
        "sha256": "5972e249693a53b92758d324c52e9a32f8b7559f2d0fd515898b5b32b00beda7",
        "size": 82787,
        "frames": 645,
        "seconds": 25.8,
        "exact": true
      }
    },
    {
      "id": "championscup",
      "name": "Générique Champions Cup",
      "tag": "RUGBY EUROPE",
      "category": "top14",
      "desc": "Nuit étoilée bleu nuit, la coupe d'or monte au centre sous un reflet, se range à gauche, et « Champions Cup » défile à ses côtés.",
      "fx": "Étoiles + sprite + défilement",
      "speed": "Cycle 16,4 s",
      "cols": [
        [
          "#e6b422",
          "Or"
        ],
        [
          "#1a1446",
          "Nuit"
        ],
        [
          "#ffffff",
          "Étoiles"
        ]
      ],
      "gif": {
        "file": "gif/championscup.gif",
        "sha256": "1a71875cd24b22cb44453b37bec2460c150e2778e1542a05a5b7ed9037cabe46",
        "size": 58433,
        "frames": 410,
        "seconds": 16.4,
        "exact": true
      }
    },
    {
      "id": "ironman",
      "name": "Iron Man",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Le casque s'allume en clignotant, la plaque faciale se relève puis se referme d'un coup sec, et « IRON MAN » défile en or à côté.",
      "fx": "Sprite + plaque mobile + défilement",
      "speed": "Cycle 9 s",
      "cols": [
        [
          "#be1214",
          "Rouge"
        ],
        [
          "#e1a523",
          "Or"
        ],
        [
          "#d2f5ff",
          "Yeux"
        ]
      ],
      "gif": {
        "file": "gif/ironman.gif",
        "sha256": "ccb354b850d13170dc14d9866d1d5e5078e0955421029311519aa32813e6638e",
        "size": 28537,
        "frames": 225,
        "seconds": 9,
        "exact": true
      }
    },
    {
      "id": "repulsor",
      "name": "Répulseur",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Le répulseur se charge en anneau, l'énergie converge, puis le rayon traverse toute la dalle avant de refroidir.",
      "fx": "Charge + rayon + onde de choc",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#78dcff",
          "Cyan"
        ],
        [
          "#ffffff",
          "Cœur"
        ],
        [
          "#be1214",
          "Gant"
        ]
      ],
      "gif": {
        "file": "gif/repulsor.gif",
        "sha256": "21184cda6a605eb99a4ccbe3c7a03d7e11fa6305673633950e8cd60605392f4e",
        "size": 9422,
        "frames": 100,
        "seconds": 4,
        "exact": true
      }
    },
    {
      "id": "unibeam",
      "name": "Unibeam",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Le réacteur de poitrine monte en puissance, pulse de plus en plus vite, et libère un rayon géant qui fait trembler toute la dalle.",
      "fx": "Charge + rayon plein écran + secousse",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ffffff",
          "Cœur"
        ],
        [
          "#64d2ff",
          "Rayon"
        ],
        [
          "#be1214",
          "Armure"
        ]
      ],
      "gif": {
        "file": "gif/unibeam.gif",
        "sha256": "f8df7e82f2e0b699a9def32c1eafba6e6b063f364e080625763003e3ea1c71ae",
        "size": 12171,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "ironflight",
      "name": "Vol de nuit",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Iron Man traverse le ciel nocturne au-dessus de la ville, traînée de propulseurs derrière les bottes, les fenêtres qui s'allument en contrebas.",
      "fx": "Sprite + traînée + parallaxe",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#be1214",
          "Armure"
        ],
        [
          "#bfe6ff",
          "Propulseurs"
        ],
        [
          "#ffd060",
          "Ville"
        ]
      ],
      "gif": {
        "file": "gif/ironflight.gif",
        "sha256": "317d07857d0e3a23a40b81bf8c360ce5929271071d855a4620d61ca4ffd700d8",
        "size": 20741,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "suitup",
      "name": "Assemblage de l'armure",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Les plaques rouges et or arrivent de partout et s'emboîtent en casque, les yeux s'allument, puis l'armure se disperse à nouveau.",
      "fx": "Assemblage de particules",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#be1214",
          "Rouge"
        ],
        [
          "#e1a523",
          "Or"
        ],
        [
          "#d2f5ff",
          "Yeux"
        ]
      ],
      "gif": {
        "file": "gif/suitup.gif",
        "sha256": "8f58400e8e10c8a2a72092480f155d47ddb7c650451417cff5bbc99cc1fb2e0a",
        "size": 13820,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "jarvis",
      "name": "J.A.R.V.I.S.",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "L'interface du casque : réticule circulaire aux arcs qui tournent, ligne de balayage, et « J.A.R.V.I.S. - systèmes en ligne » qui défile.",
      "fx": "HUD + balayage + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#3cc8ff",
          "HUD"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#020a14",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/jarvis.gif",
        "sha256": "5c9355e7ae823da2aac896b34cb36d0352561f55540173f27c3a7a17652f31e4",
        "size": 24305,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "iamironman",
      "name": "I am Iron Man",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "La réplique qui a tout commencé défile en or sur le rouge du réacteur, puis le claquement de doigts : éclair blanc et six éclats aux couleurs des Pierres.",
      "fx": "Défilement + éclair + éclats",
      "speed": "Cycle 9,6 s",
      "cols": [
        [
          "#ffc832",
          "Or"
        ],
        [
          "#ffffff",
          "Éclair"
        ],
        [
          "#aa3cff",
          "Pierres"
        ]
      ],
      "gif": {
        "file": "gif/iamironman.gif",
        "sha256": "dbbf94ec2e94d89d83a6a73150babaa460ca066a961611f95adcfa33316b5a98",
        "size": 34131,
        "frames": 240,
        "seconds": 9.6,
        "exact": true
      }
    },
    {
      "id": "hotrod",
      "name": "Armure Hot Rod",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Gros plan sur les plaques de l'armure : rouge profond, bande d'or, joints et rivets, et deux reflets qui glissent sur le métal.",
      "fx": "Texture + reflets",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#be1214",
          "Rouge"
        ],
        [
          "#e1a523",
          "Or"
        ],
        [
          "#ffffff",
          "Reflet"
        ]
      ],
      "gif": {
        "file": "gif/hotrod.gif",
        "sha256": "cd0e87cca7911894fff81b3c6cdc3073e64f24638470db9ddaae00fda47628ac",
        "size": 27219,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "nanotech",
      "name": "Armure nanotech",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Des nanoparticules jaillissent du réacteur, filent en spirale et construisent le casque, qui scintille avant de se dissoudre.",
      "fx": "Particules + scintillement",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#be1214",
          "Rouge"
        ],
        [
          "#e1a523",
          "Or"
        ],
        [
          "#9fb4d0",
          "Nanoparticules"
        ]
      ],
      "gif": {
        "file": "gif/nanotech.gif",
        "sha256": "5edc9208a84ac15b1f1daad91634eb73a3c9fbbf3ede845ace67d57627836a5b",
        "size": 15547,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "ironhud",
      "name": "Verrouillage de cible",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Vue depuis le casque : le réticule traque un drone, se referme et vire au rouge au verrouillage, le missile part, et l'explosion éclaire le viseur.",
      "fx": "Réticule + verrouillage + explosion",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#3cc8ff",
          "Viseur"
        ],
        [
          "#ff3020",
          "Verrouillé"
        ],
        [
          "#ffb040",
          "Explosion"
        ]
      ],
      "gif": {
        "file": "gif/ironhud.gif",
        "sha256": "1020a59be03e9fcca856ad96e07c428c550982049288ea653b06090da2014546",
        "size": 17564,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "ironlegion",
      "name": "Iron Legion",
      "tag": "MARVEL",
      "category": "iron-man",
      "desc": "Cinq armures alignées, dont celle de War Machine : leurs yeux s'allument un à un, pulsent ensemble, puis s'éteignent en sens inverse.",
      "fx": "Sprites + allumage en cascade",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#be1214",
          "Rouge"
        ],
        [
          "#787c84",
          "War Machine"
        ],
        [
          "#d2f5ff",
          "Yeux"
        ]
      ],
      "gif": {
        "file": "gif/ironlegion.gif",
        "sha256": "c657db5a46fe866d7b387a8d9c48fdc73719b90b1aeba1ce86ebc3b1456ee6d2",
        "size": 23342,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "gg",
      "name": "GG",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "« GG » en grand, chaque lettre qui change de couleur, sous une pluie de confettis.",
      "fx": "Arc-en-ciel + confettis",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#ff3c78",
          "Rose"
        ],
        [
          "#3cc8ff",
          "Cyan"
        ],
        [
          "#ffe040",
          "Jaune"
        ]
      ],
      "gif": {
        "file": "gif/gg.gif",
        "sha256": "87c3552a9b839f28c94497f7dafd187104d0709587b2642d101aefcfa29386c6",
        "size": 11829,
        "frames": 100,
        "seconds": 4,
        "exact": true
      }
    },
    {
      "id": "victoire",
      "name": "Victoire",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "« VICTOIRE » en lettres géantes traverse la dalle devant un soleil d'or qui tourne.",
      "fx": "Rayons + grand défilement",
      "speed": "Cycle 6,2 s",
      "cols": [
        [
          "#ffc828",
          "Or"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#643200",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/victoire.gif",
        "sha256": "51bfa5510ad6bbd920f163f5488260892a3183719414fc5fcbfb7363899663cd",
        "size": 18231,
        "frames": 155,
        "seconds": 6.2,
        "exact": true
      }
    },
    {
      "id": "defaite",
      "name": "Défaite",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "« DÉFAITE » en rouge sur un écran qui se fissure et grésille, couleurs lavées.",
      "fx": "Fissures + grésillement + défilement",
      "speed": "Cycle 6,2 s",
      "cols": [
        [
          "#d21e1e",
          "Rouge"
        ],
        [
          "#505055",
          "Gris"
        ],
        [
          "#ffffff",
          "Fissures"
        ]
      ],
      "gif": {
        "file": "gif/defaite.gif",
        "sha256": "adb4f5db0ddea2a340ae5cf4e9caaf2617d1f1db5274c5164d91fa3ea14842d0",
        "size": 21044,
        "frames": 155,
        "seconds": 6.2,
        "exact": true
      }
    },
    {
      "id": "gameover",
      "name": "Game Over",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Le classique des bornes d'arcade : « GAME OVER » en géant, puis « INSERT COIN » qui clignote en défilant.",
      "fx": "Grand défilement + clignotement",
      "speed": "Cycle 13,6 s",
      "cols": [
        [
          "#ff2828",
          "Rouge"
        ],
        [
          "#ffd200",
          "Jaune"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/gameover.gif",
        "sha256": "33f0714f411c0013ee7202fdf729accf89e7923ae63a680136225f9f8a362265",
        "size": 26834,
        "frames": 340,
        "seconds": 13.6,
        "exact": true
      }
    },
    {
      "id": "pressstart",
      "name": "Press Start",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Un cadre de borne d'arcade aux lumières qui tournent, et « PRESS » puis « START » qui clignotent au centre.",
      "fx": "Chenillard + clignotement",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#ff3cc8",
          "Chenillard"
        ],
        [
          "#3cc8ff",
          "Chenillard"
        ]
      ],
      "gif": {
        "file": "gif/pressstart.gif",
        "sha256": "8bde136300d6c3765c663f6e5fae6a0606d5ee949a2d11547f54d0f046092acd",
        "size": 11675,
        "frames": 100,
        "seconds": 4,
        "exact": true
      }
    },
    {
      "id": "afk",
      "name": "AFK",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "« AFK » respire doucement en gris pendant que trois Z s'envolent : parti chercher un café.",
      "fx": "Respiration + particules",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#9aa0b4",
          "Texte"
        ],
        [
          "#78b4ff",
          "Z"
        ],
        [
          "#060a18",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/afk.gif",
        "sha256": "6ffed9bbff7bd28b94c9f69945761ade8210064b8d3e91dbbef632ebbdff12c2",
        "size": 16521,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "live",
      "name": "En direct",
      "tag": "STREAM",
      "category": "jeu-video",
      "desc": "Le point rouge pulse à côté de « LIVE », puis « ON AIR » : le stream est lancé.",
      "fx": "Pulsation + alternance",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff1e1e",
          "Point"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#140000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/live.gif",
        "sha256": "2b88750db47a01a8bf523bee393cc44b613227d2e28adcdd40c2b7b604f6af61",
        "size": 19461,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "blocs",
      "name": "Blocs qui tombent",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Huit pièces glissent une à une et s'empilent contre le bord, les colonnes complètes clignotent puis s'effacent.",
      "fx": "Empilement + effacement",
      "speed": "Cycle 5,8 s",
      "cols": [
        [
          "#00dce6",
          "Cyan"
        ],
        [
          "#f5dc00",
          "Jaune"
        ],
        [
          "#aa3cff",
          "Violet"
        ]
      ],
      "gif": {
        "file": "gif/blocs.gif",
        "sha256": "a0d003c7296ab34001c1d705288dd302c5a9f3e58d3b9eafc73c8f8dce6f46ab",
        "size": 14041,
        "frames": 145,
        "seconds": 5.8,
        "exact": true
      }
    },
    {
      "id": "snake",
      "name": "Snake",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Le serpent fait le tour de la dalle, gobe trois pommes et grandit à chaque bouchée.",
      "fx": "Parcours + croissance",
      "speed": "Cycle 5,6 s",
      "cols": [
        [
          "#28e650",
          "Serpent"
        ],
        [
          "#ff2828",
          "Pommes"
        ],
        [
          "#050a05",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/snake.gif",
        "sha256": "f0d38e3806e831189352506326c0cd6d4564b774b4c5a2ae902cc8e8bb62ec8d",
        "size": 8515,
        "frames": 140,
        "seconds": 5.6,
        "exact": true
      }
    },
    {
      "id": "pong",
      "name": "Pong",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Deux raquettes, une balle qui rebondit d'un bord à l'autre, le filet en pointillés : le tout premier jeu vidéo.",
      "fx": "Rebonds + suivi",
      "speed": "Cycle 6,4 s",
      "cols": [
        [
          "#ffffff",
          "Balle"
        ],
        [
          "#8cf0ff",
          "Raquettes"
        ],
        [
          "#303040",
          "Filet"
        ]
      ],
      "gif": {
        "file": "gif/pong.gif",
        "sha256": "4435e515b46c140556e7e2e341b54bed158e3a14a624eace7df07ea9f61e547b",
        "size": 10978,
        "frames": 160,
        "seconds": 6.4,
        "exact": true
      }
    },
    {
      "id": "briques",
      "name": "Casse-briques",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "La balle rebondit entre la raquette et le mur de briques, et chaque touche fait sauter une brique.",
      "fx": "Rebonds + destruction",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ff3c3c",
          "Briques"
        ],
        [
          "#ffa028",
          "Briques"
        ],
        [
          "#ffffff",
          "Balle"
        ]
      ],
      "gif": {
        "file": "gif/briques.gif",
        "sha256": "cc4fc50dd302857dfdf6e84dd03e3e52020d74b4e287dc7425585f1dc98a93f5",
        "size": 15236,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "creeper",
      "name": "Creeper",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "La tête pixelisée verte siffle en clignotant de plus en plus vite, explose dans un éclair, puis réapparaît dans la fumée.",
      "fx": "Clignotement + explosion",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#50c850",
          "Vert"
        ],
        [
          "#0a0a0a",
          "Visage"
        ],
        [
          "#ffb43c",
          "Explosion"
        ]
      ],
      "gif": {
        "file": "gif/creeper.gif",
        "sha256": "c713655e2fee48414388450b9cab7356438f7cf93481ff71cafa387fbf85e6e8",
        "size": 15939,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "vies",
      "name": "Barre de vie",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Cinq cœurs : quatre coups les vident un par un, le dernier bat seul, puis une potion les remplit à nouveau.",
      "fx": "Dégâts + soin",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#ff2846",
          "Cœurs"
        ],
        [
          "#50ff8c",
          "Potion"
        ],
        [
          "#302030",
          "Vide"
        ]
      ],
      "gif": {
        "file": "gif/vies.gif",
        "sha256": "7cec9e7f8420a5ad2b449c00318ae83b77bbfb963bd7ac9fdb87c72eca6b42e3",
        "size": 19441,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "ko",
      "name": "K.O.",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "« K.O. » s'écrase à l'écran : secousse, éclair blanc, étincelles, lettres qui passent du jaune au rouge.",
      "fx": "Impact + secousse + étincelles",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#ffdc28",
          "Jaune"
        ],
        [
          "#ff2814",
          "Rouge"
        ],
        [
          "#ffffff",
          "Éclair"
        ]
      ],
      "gif": {
        "file": "gif/ko.gif",
        "sha256": "e68aac4e82e24919f8de7fd4f4729077a7d84d50afd0301d94adfeaa0abf6762",
        "size": 11011,
        "frames": 100,
        "seconds": 4,
        "exact": true
      }
    },
    {
      "id": "oneup",
      "name": "1UP",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "« 1UP » monte en vert avec un petit rebond et des étincelles : une vie de plus.",
      "fx": "Montée + rebond + étincelles",
      "speed": "Cycle 3 s",
      "cols": [
        [
          "#3cf050",
          "Vert"
        ],
        [
          "#ffffff",
          "Étincelles"
        ],
        [
          "#001000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/oneup.gif",
        "sha256": "552607ebb348231cbc5584eb207629b8bcbd350783deec9a16e5a8d5d7c5e463",
        "size": 7635,
        "frames": 75,
        "seconds": 3,
        "exact": true
      }
    },
    {
      "id": "butin",
      "name": "Coffre légendaire",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Le coffre s'ouvre, un faisceau orange légendaire jaillit et les pièces d'or retombent en pluie.",
      "fx": "Ouverture + faisceau + particules",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#a05a14",
          "Bois"
        ],
        [
          "#e6b428",
          "Or"
        ],
        [
          "#ff8c14",
          "Légendaire"
        ]
      ],
      "gif": {
        "file": "gif/butin.gif",
        "sha256": "b9f6025ec5d1155327644c8885c477d8336fd55d64f1e805d36234d0cb618f92",
        "size": 11417,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "boss",
      "name": "Combat de boss",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Bandes de danger jaunes et noires, « WARNING » qui clignote, puis « BOSS » en géant dans un écran qui tremble.",
      "fx": "Bandes + alerte + secousse",
      "speed": "Cycle 5 s",
      "cols": [
        [
          "#ffd200",
          "Danger"
        ],
        [
          "#ff1e1e",
          "Alerte"
        ],
        [
          "#140000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/boss.gif",
        "sha256": "83abc647aac691130f34635af2fd5f3273bfc2760facb2be3c086e0703b8d20c",
        "size": 13183,
        "frames": 125,
        "seconds": 5,
        "exact": true
      }
    },
    {
      "id": "ping",
      "name": "Ping",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "La latence en direct : la valeur en millisecondes à gauche, l'historique en barres à droite, vert, jaune ou rouge selon le lag.",
      "fx": "Valeur + histogramme défilant",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#28e65a",
          "Bon"
        ],
        [
          "#ffc800",
          "Moyen"
        ],
        [
          "#ff3228",
          "Lag"
        ]
      ],
      "gif": {
        "file": "gif/ping.gif",
        "sha256": "62362a974075ac0ee5ab48e609e09c979dbd100ca819624dcbace262ba3e97db",
        "size": 20097,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "clavier",
      "name": "Clavier RVB",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Un clavier gamer vu de dessus : vague arc-en-ciel sur toutes les touches et ondes blanches à chaque frappe.",
      "fx": "Vague RVB + ondes",
      "speed": "Cycle 4 s",
      "cols": [
        [
          "#ff3c3c",
          "Rouge"
        ],
        [
          "#3cff78",
          "Vert"
        ],
        [
          "#3c78ff",
          "Bleu"
        ]
      ],
      "gif": {
        "file": "gif/clavier.gif",
        "sha256": "1c5fa9821245b66bc65a3098431659a20100dc138272a3be30f7ef6345cc516a",
        "size": 16131,
        "frames": 100,
        "seconds": 4,
        "exact": true
      }
    },
    {
      "id": "ace",
      "name": "ACE",
      "tag": "JEU VIDÉO",
      "category": "jeu-video",
      "desc": "Cinq crânes s'allument un à un, un par élimination, puis « ACE » s'affiche en or : toute l'équipe adverse est tombée.",
      "fx": "Compteur + titre doré",
      "speed": "Cycle 6 s",
      "cols": [
        [
          "#ff2828",
          "Éliminations"
        ],
        [
          "#ffc828",
          "Or"
        ],
        [
          "#140a00",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/ace.gif",
        "sha256": "b7d141065826ca61d1bd89d88b4993173b3f2019902faa9609fb098dd765b929",
        "size": 16693,
        "frames": 150,
        "seconds": 6,
        "exact": true
      }
    },
    {
      "id": "sonnette",
      "name": "Sonnette",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "La cloche se balance et sonne à gauche pendant que « On sonne à la porte » défile.",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#ffc828",
          "Cloche"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/sonnette.gif",
        "sha256": "87ff94c11434ca7e747ee4267a68b3b019af2e324c3e03b0f21bb24bbab48453",
        "size": 24248,
        "frames": 250,
        "seconds": 10,
        "exact": true
      }
    },
    {
      "id": "porte",
      "name": "Porte ouverte",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "La porte d'entrée s'ouvre sur un rai de lumière et se referme, « Porte entrée ouverte » défile.",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 10,2 s",
      "cols": [
        [
          "#aa6428",
          "Bois"
        ],
        [
          "#ffc85a",
          "Lumière"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/porte.gif",
        "sha256": "301bb9786155ebd2bf13227769936e0f8bcd640805a679855f3fc5ffca93ddfe",
        "size": 27666,
        "frames": 255,
        "seconds": 10.2,
        "exact": true
      }
    },
    {
      "id": "courrier",
      "name": "Courrier",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "L'enveloppe sautille, une pastille rouge clignote : « Vous avez du courrier ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 10,6 s",
      "cols": [
        [
          "#e6e6f5",
          "Enveloppe"
        ],
        [
          "#ff3232",
          "Pastille"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/courrier.gif",
        "sha256": "e192235020ec24e18af47d7b2ad60064508378e27df8a7d00cf76edc701e6309",
        "size": 27829,
        "frames": 265,
        "seconds": 10.6,
        "exact": true
      }
    },
    {
      "id": "colis",
      "name": "Colis livré",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Le carton tombe, rebondit et soulève un peu de poussière : « Colis livré ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 7 s",
      "cols": [
        [
          "#c88c46",
          "Carton"
        ],
        [
          "#e6d296",
          "Scotch"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/colis.gif",
        "sha256": "cd2c658f1eb0e08cdb3a862d1db2361bbc469ffc5b6ea369b5ee1a733221b1ac",
        "size": 16907,
        "frames": 175,
        "seconds": 7,
        "exact": true
      }
    },
    {
      "id": "lessive",
      "name": "Lessive terminée",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Le tambour du lave-linge tourne derrière le hublot : « Lessive terminée ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 8,8 s",
      "cols": [
        [
          "#c8cdd7",
          "Machine"
        ],
        [
          "#50a0ff",
          "Eau"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/lessive.gif",
        "sha256": "f426d1954dea05882eb1ab029995d0ec32da31373b2ce1c86584015cf3d80dbc",
        "size": 27291,
        "frames": 220,
        "seconds": 8.8,
        "exact": true
      }
    },
    {
      "id": "poubelles",
      "name": "Poubelles",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Le couvercle de la poubelle se soulève sur une odeur douteuse : « Sortir les poubelles ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 10,2 s",
      "cols": [
        [
          "#3cb450",
          "Bac"
        ],
        [
          "#a0a0a0",
          "Odeur"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/poubelles.gif",
        "sha256": "19129890c86147e343a38d6091aeedc9401c5fbb930366e26e75e9e15c9defef",
        "size": 25774,
        "frames": 255,
        "seconds": 10.2,
        "exact": true
      }
    },
    {
      "id": "bienvenue",
      "name": "Bienvenue",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Les fenêtres de la maison s'allument une à une : « Bienvenue à la maison ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 10,6 s",
      "cols": [
        [
          "#e65a28",
          "Toit"
        ],
        [
          "#ffd060",
          "Fenêtres"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/bienvenue.gif",
        "sha256": "e2807db502c77326cb94a6fc4f8b2efcd9d295c2ff6f9c9df8ea8fe7ee645077",
        "size": 28335,
        "frames": 265,
        "seconds": 10.6,
        "exact": true
      }
    },
    {
      "id": "bonnenuit",
      "name": "Bonne nuit",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Un croissant de lune et des étoiles qui scintillent : « Bonne nuit ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 6,6 s",
      "cols": [
        [
          "#ffe68c",
          "Lune"
        ],
        [
          "#b4c8ff",
          "Étoiles"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/bonnenuit.gif",
        "sha256": "316888294af1f626f9244b8c0d054628a38bbd6521fccff701a98786b62c3299",
        "size": 16214,
        "frames": 165,
        "seconds": 6.6,
        "exact": true
      }
    },
    {
      "id": "reveil",
      "name": "Réveil",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Le réveil tremble en sonnant, cloches en l'air : « Debout là-dedans ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 8,8 s",
      "cols": [
        [
          "#ffffff",
          "Cadran"
        ],
        [
          "#ffc828",
          "Cloches"
        ],
        [
          "#ff783c",
          "Vibration"
        ]
      ],
      "gif": {
        "file": "gif/reveil.gif",
        "sha256": "e3da59fd357a82bbdb0163af918196561cb12a39ebd2d64f1175373f50fc097a",
        "size": 25641,
        "frames": 220,
        "seconds": 8.8,
        "exact": true
      }
    },
    {
      "id": "alarme",
      "name": "Alarme activée",
      "tag": "SÉCURITÉ",
      "category": "home-assistant",
      "desc": "Le cadenas se referme d'un coup, puis la diode rouge clignote : « Alarme activée ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#dcb43c",
          "Cadenas"
        ],
        [
          "#ff3232",
          "Diode"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/alarme.gif",
        "sha256": "1f440a2cd3d688fb73bc1ad3e1d7760cebe32b704090036bc7d939f0768cd12e",
        "size": 20647,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "fenetre",
      "name": "Fenêtre ouverte",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "La fenêtre est restée ouverte, le rideau flotte au vent : « Fenêtre ouverte ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 8,4 s",
      "cols": [
        [
          "#e6e6eb",
          "Cadre"
        ],
        [
          "#78beff",
          "Ciel"
        ],
        [
          "#ff5a5a",
          "Rideau"
        ]
      ],
      "gif": {
        "file": "gif/fenetre.gif",
        "sha256": "3a6d822967ea77b40a0a07913c4ecec9f9feba7dcd604ea6ab267852b7866734",
        "size": 26232,
        "frames": 210,
        "seconds": 8.4,
        "exact": true
      }
    },
    {
      "id": "cafe",
      "name": "Café prêt",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "La tasse fume doucement : « Le café est prêt ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 8,8 s",
      "cols": [
        [
          "#ffffff",
          "Tasse"
        ],
        [
          "#784628",
          "Café"
        ],
        [
          "#bebebe",
          "Vapeur"
        ]
      ],
      "gif": {
        "file": "gif/cafe.gif",
        "sha256": "6880ac3dfdb64ccd76908b9c0f19e401547cd911c5728bc29807c092db7fd526",
        "size": 22525,
        "frames": 220,
        "seconds": 8.8,
        "exact": true
      }
    },
    {
      "id": "anniversaire",
      "name": "Anniversaire",
      "tag": "FÊTE",
      "category": "home-assistant",
      "desc": "Le gâteau et ses trois bougies qui vacillent : « Joyeux anniversaire ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 10 s",
      "cols": [
        [
          "#ff6eb4",
          "Gâteau"
        ],
        [
          "#ffc828",
          "Flammes"
        ],
        [
          "#ffffff",
          "Crème"
        ]
      ],
      "gif": {
        "file": "gif/anniversaire.gif",
        "sha256": "d1c8601639cca02abdb3ac79b7f02603fe80426ef62dd5a4fa8ba35125a8efb0",
        "size": 28078,
        "frames": 250,
        "seconds": 10,
        "exact": true
      }
    },
    {
      "id": "appel",
      "name": "Appel entrant",
      "tag": "MAISON",
      "category": "home-assistant",
      "desc": "Le combiné vibre et les ondes s'échappent : « Appel entrant ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 7,8 s",
      "cols": [
        [
          "#3cdc64",
          "Combiné"
        ],
        [
          "#ffffff",
          "Ondes"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/appel.gif",
        "sha256": "3322a33002a1ec8e2d9ae29baafa30f294e9300b8fba24e7e47a43c6d03f5b4c",
        "size": 18796,
        "frames": 195,
        "seconds": 7.8,
        "exact": true
      }
    },
    {
      "id": "fuite",
      "name": "Fuite d'eau",
      "tag": "SÉCURITÉ",
      "category": "home-assistant",
      "desc": "Une goutte tombe du tuyau et la flaque s'étale : « Fuite détectée ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 8 s",
      "cols": [
        [
          "#3c96ff",
          "Eau"
        ],
        [
          "#8c919b",
          "Tuyau"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/fuite.gif",
        "sha256": "2265c353cbb717b7f0b0a1fe2dbd71d28a40922f7020730b87564a63d2d8c270",
        "size": 18532,
        "frames": 200,
        "seconds": 8,
        "exact": true
      }
    },
    {
      "id": "soleil",
      "name": "Soleil",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "Le soleil et ses rayons qui tournent : « Ensoleillé ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 6,6 s",
      "cols": [
        [
          "#ffd228",
          "Soleil"
        ],
        [
          "#ff9628",
          "Rayons"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/soleil.gif",
        "sha256": "1d9cd63926bd00d76913a31df00633e90654a0d4214afbc8b04107e02fe1d6c9",
        "size": 17865,
        "frames": 165,
        "seconds": 6.6,
        "exact": true
      }
    },
    {
      "id": "nuageux",
      "name": "Nuageux",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "Deux nuages dérivent l'un devant l'autre : « Nuageux ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 5,6 s",
      "cols": [
        [
          "#d2d7e1",
          "Nuage"
        ],
        [
          "#8c919b",
          "Nuage"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/nuageux.gif",
        "sha256": "673c4f085ea2e44b633d3490e288ffaf86c932323df34707825feb97b6aec8e2",
        "size": 16787,
        "frames": 140,
        "seconds": 5.6,
        "exact": true
      }
    },
    {
      "id": "pluie",
      "name": "Pluie",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "La pluie tombe du nuage : « Pluie prévue ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 7,4 s",
      "cols": [
        [
          "#8c919b",
          "Nuage"
        ],
        [
          "#50a0ff",
          "Gouttes"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/pluie.gif",
        "sha256": "01b74495ee5ec068d3e8f2e7ab48401ef06c6a13ffe17152d240444de25a139a",
        "size": 20768,
        "frames": 185,
        "seconds": 7.4,
        "exact": true
      }
    },
    {
      "id": "neige",
      "name": "Neige",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "Les flocons tombent en tournoyant sous le nuage : « Neige ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 4,8 s",
      "cols": [
        [
          "#b4b9c3",
          "Nuage"
        ],
        [
          "#ffffff",
          "Flocons"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/neige.gif",
        "sha256": "e089789e188fe5e036c8b643d926e559a19d7e1cea0f84cb0120660d6c4728e4",
        "size": 12779,
        "frames": 120,
        "seconds": 4.8,
        "exact": true
      }
    },
    {
      "id": "orage",
      "name": "Orage",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "Nuage noir, éclair qui zèbre la dalle et flash blanc : « Orage ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 4,8 s",
      "cols": [
        [
          "#50505a",
          "Nuage"
        ],
        [
          "#ffe63c",
          "Éclair"
        ],
        [
          "#ffffff",
          "Flash"
        ]
      ],
      "gif": {
        "file": "gif/orage.gif",
        "sha256": "bee57a9871871c8a522532b21207da0f441b922b97760314479a2c16ec9f62fd",
        "size": 11910,
        "frames": 120,
        "seconds": 4.8,
        "exact": true
      }
    },
    {
      "id": "brouillard",
      "name": "Brouillard",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "Des nappes de brume glissent à des vitesses différentes : « Brouillard ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 6,6 s",
      "cols": [
        [
          "#aaafb9",
          "Brume"
        ],
        [
          "#6e737d",
          "Brume"
        ],
        [
          "#ffffff",
          "Texte"
        ]
      ],
      "gif": {
        "file": "gif/brouillard.gif",
        "sha256": "5989d246038b35508594f8d76ffc4fe226189d1cb73dfac088fd1b80bcd4be9a",
        "size": 16032,
        "frames": 165,
        "seconds": 6.6,
        "exact": true
      }
    },
    {
      "id": "vent",
      "name": "Vent fort",
      "tag": "MÉTÉO",
      "category": "meteo",
      "desc": "Des bourrasques traversent l'icône en traînées : « Vent fort ».",
      "fx": "Icône animée + défilement",
      "speed": "Cycle 6,2 s",
      "cols": [
        [
          "#b4dcff",
          "Vent"
        ],
        [
          "#ffffff",
          "Texte"
        ],
        [
          "#000000",
          "Fond"
        ]
      ],
      "gif": {
        "file": "gif/vent.gif",
        "sha256": "ebd9e67b5d778c096ee6e55d950a366f6d45b5d6e1c34b264fc3049a53c7a02c",
        "size": 13739,
        "frames": 155,
        "seconds": 6.2,
        "exact": true
      }
    }
  ]
}
