PREFIX_RULES = [{"arrows", ["arrow", "arrows", "angle-down", "angle-left", "angle-right", "angle-up", "angles", "chevron", "chevrons", "caret", "carets", "turn", "rotate", "repeat", "retweet", "shuffle", "sort", "left", "right", "up", "down", "merge", "split", "expand", "compress", "maximize", "minimize", "forward", "backward", "reply", "share", "spinner", "circle-notch"]}, {"hands", ["hand", "hands", "thumbs-up", "thumbs-down", "handshake", "fist-raised", "face"]}, {"people", ["user", "users", "person", "people", "child", "children", "baby", "boy", "girl", "man", "woman", "male", "female", "family", "id-card", "id-badge", "address-card", "address-book", "portrait", "head-side", "mars", "venus", "transgender", "neuter", "genderless", "non-binary"]}, {"animal", ["alicorn", "ant", "badger", "bat", "bee", "bird", "bugs", "butterfly", "cat", "cow", "crab", "crow", "deer", "dinosaur", "dog", "dolphin", "dove", "dragon", "duck", "elephant", "feather", "fish", "frog", "hippo", "horse", "horseshoe", "hydra", "kiwi-bird", "lobster", "locust", "monkey", "mosquito", "mouse-field", "narwhal", "octopus", "otter", "paw", "pegasus", "pig", "rabbit", "raccoon", "ram", "sheep", "shrimp", "skull-cow", "snake", "spider", "squid", "squirrel", "t-rex", "teddy-bear", "turtle", "unicorn", "whale", "worm"]}, {"tools", ["hammer", "wrench", "screwdriver", "saw", "shovel", "trowel", "pickaxe", "axe", "toolbox", "ruler", "compass-drafting", "paint-roller", "paintbrush", "brush", "scissors", "scalpel", "flashlight", "ladder", "hose", "bucket", "broom", "mop", "vacuum", "sponge", "sprinkler", "wheelbarrow", "gear", "gears", "anvil", "chainsaw", "drill", "pliers", "clamp", "vise", "tape", "stapler", "paperclip", "needle", "fishing-rod", "pocket-knife", "knife", "angle", "angle-90", "helmet-safety", "bore-hole", "grate", "mound", "reel", "sheet-plastic", "magnifying-glass"]}, {"gaming", ["sword", "swords", "dagger", "bow-arrow", "mace", "staff", "wand", "scroll-old", "dungeon", "dice", "chess", "card-club", "card-diamond", "card-heart", "card-spade", "cards", "club", "spade", "gamepad", "joystick", "alien", "ufo", "robot", "raygun", "transporter", "hat-wizard", "hat-witch", "book-spells", "book-skull", "book-sparkles", "crystal-ball", "flask-round-potion", "flask-potion", "treasure-chest", "helmet-battle", "scythe", "sickle", "bomb", "explosion", "gun", "crosshairs", "bullseye", "ghost", "skull", "jack-o-lantern", "cauldron", "coffin", "tombstone", "hockey-mask", "puzzle-piece", "block-question"]}, {"science", ["atom", "flask", "vial", "vials", "microscope", "telescope", "satellite", "planet", "comet", "meteor", "galaxy", "eclipse", "orbit", "radar", "dna", "magnet", "radiation", "biohazard", "solar-panel", "solar-system"]}, {"medical", ["heart-pulse", "heartbeat", "stethoscope", "syringe", "pills", "capsules", "tablets", "prescription", "bottle-medical", "briefcase-medical", "kit-medical", "suitcase-medical", "notes-medical", "bed-pulse", "stretcher", "wheelchair", "crutch", "crutches", "cane", "tooth", "teeth", "bone", "bones", "brain", "lungs", "kidneys", "liver", "stomach", "intestines", "eye", "eyes", "ear", "nose", "lips", "mouth", "tongue", "virus", "viruses", "bacteria", "bacterium", "disease", "bandage", "x-ray", "braille", "universal-access"]}, {"weather", ["cloud", "sun", "moon", "wind", "temperature", "thermometer", "snowflake", "snow", "rain", "raindrops", "umbrella", "tornado", "hurricane", "rainbow", "smog", "fog", "icicles", "droplet", "bolt"]}, {"nature", ["tree", "trees", "leaf", "flower", "seedling", "plant", "cactus", "clover", "mushroom", "acorn", "chestnut", "wheat", "grass", "mountain", "mountains", "volcano", "water", "wave", "fire", "campfire", "campground", "forest", "island", "bug", "cannabis", "bench-tree", "binoculars"]}, {"food", ["utensils", "fork", "spoon", "plate", "bowl", "cup", "mug", "glass", "wine", "beer", "whiskey", "martini", "champagne", "cocktail", "burger", "pizza", "taco", "hotdog", "sandwich", "bread", "croissant", "cake", "cookie", "candy", "ice-cream", "egg", "cheese", "meat", "drumstick", "bacon", "steak", "sausage", "soup", "salad", "sushi", "ramen", "pot-food", "pan-food", "oven", "microwave", "blender", "toaster", "refrigerator", "apple", "avocado", "banana", "berry", "blueberries", "broccoli", "carrot", "cherries", "chili", "citrus", "coconut", "corn", "cucumber", "eggplant", "fig", "garlic", "grapes", "kiwi-fruit", "lemon", "lettuce", "mango", "melon", "olive", "onion", "orange", "pea", "peach", "peanut", "pear", "pepper", "pineapple", "plum", "pomegranate", "potato", "pumpkin", "radish", "strawberry", "tomato", "watermelon", "wheat-awn", "coffee", "tea", "bottle-water", "bottle-droplet", "can-food", "jar", "aeropress"]}, {"vehicles", ["car", "cars", "truck", "van", "bus", "taxi", "tractor", "trailer", "bulldozer", "excavator", "forklift", "motorcycle", "moped", "scooter", "bicycle", "train", "tram", "subway", "plane", "jet", "helicopter", "rocket", "shuttle", "ship", "boat", "sailboat", "ferry", "yacht", "canoe", "anchor", "rudder", "wheel", "tire", "gas-pump", "charging-station", "oil-can", "engine", "gauge", "tachometer", "traffic", "road", "highway", "parachute", "sleigh", "cable-car", "cart-flatbed", "dolly", "baby-carriage"]}, {"buildings", ["house", "home", "building", "buildings", "apartment", "cabin", "castle", "church", "mosque", "synagogue", "temple", "torii", "vihara", "kaaba", "gopuram", "place-of-worship", "landmark", "monument", "archway", "tower", "lighthouse", "windmill", "barn", "silo", "warehouse", "factory", "industry", "shop", "store", "school", "university", "hotel", "hospital", "clinic", "tent", "igloo", "city", "tree-city", "mountain-city", "bridge", "fence", "gate", "door", "window", "stairs", "elevator", "escalator", "restroom"]}, {"sports", ["baseball", "basketball", "football", "futbol", "volleyball", "tennis", "golf", "hockey", "cricket", "rugby", "bowling", "curling", "lacrosse", "badminton", "racquet", "table-tennis", "dumbbell", "weight", "medal", "trophy", "award", "podium", "whistle", "ski", "skiing", "snowboarding", "sledding", "swimming", "swimmer", "running", "biking", "ball-pile", "goal-net", "boxing-glove", "skates", "ice-skate", "roller-skate"]}, {"clothing", ["shirt", "tshirt", "vest", "jacket", "coat", "hoodie", "sweater", "dress", "skirt", "pants", "jeans", "shorts", "underwear", "briefs", "bra", "socks", "stocking", "shoe", "shoes", "boot", "boots", "sandal", "slipper", "hat", "cap", "beanie", "beret", "helmet", "glasses", "sunglasses", "goggles", "mask", "scarf", "mitten", "gloves", "tie", "bowtie", "belt", "ring", "gem", "necklace", "earrings", "clothes-hanger", "washing-machine", "iron", "dryer", "crown", "ball-yarn", "reel"]}, {"files", ["file", "files", "folder", "folders", "book", "books", "bookmark", "notebook", "journal", "newspaper", "scroll", "page", "note", "notes", "clipboard", "paste", "copy", "clone", "print", "pen", "pencil", "marker", "highlighter", "crayon", "eraser", "signature", "stamp", "graduation-cap", "chalkboard", "diploma", "box-archive"]}, {"communication", ["comment", "comments", "message", "messages", "envelope", "envelopes", "inbox", "mailbox", "paper-plane", "phone", "tty", "voicemail", "walkie-talkie", "at", "hashtag", "bullhorn", "megaphone", "bell", "bells", "rss", "quote", "satellite-dish"]}, {"media", ["music", "guitar", "piano", "drum", "trumpet", "violin", "saxophone", "flute", "banjo", "mandolin", "clarinet", "harp", "accordion", "kazoo", "turntable", "record-vinyl", "compact-disc", "cassette", "album", "radio", "boombox", "speaker", "headphones", "headset", "earbuds", "microphone", "podcast", "waveform", "volume", "equalizer", "play", "pause", "stop", "eject", "film", "video", "camcorder", "camera", "image", "images", "photo", "panorama", "clapperboard", "projector", "tv-retro", "airplay", "screencast", "closed-captioning", "subtitles", "audio-description", "aperture", "360-degrees"]}, {"devices", ["computer", "desktop", "laptop", "tablet", "mobile", "display", "tv", "monitor", "keyboard", "mouse", "printer", "fax", "scanner", "server", "database", "hard-drive", "floppy-disk", "sd-card", "sim-card", "memory", "microchip", "cpu", "usb", "ethernet", "wifi", "bluetooth", "signal", "tower-broadcast", "tower-cell", "router", "network-wired", "code", "terminal", "brackets", "binary", "sitemap", "download", "upload", "qrcode", "barcode", "plug", "battery"]}, {"commerce", ["dollar", "euro", "pound", "sterling", "yen", "won", "ruble", "rupee", "rupiah", "baht", "lira", "franc", "peso", "real", "shekel", "krone", "krona", "zloty", "forint", "koruna", "hryvnia", "tenge", "tugrik", "manat", "lari", "cedi", "naira", "guarani", "colon", "cruzeiro", "dong", "kip", "mill", "peseta", "florin", "austral", "bitcoin", "litecoin", "ethereum", "coins", "coin", "money", "cash", "wallet", "credit-card", "receipt", "invoice", "cart", "bag-shopping", "bags-shopping", "basket-shopping", "tag", "tags", "scale", "vault", "piggy-bank", "sack", "briefcase", "trademark", "registered", "copyright", "scale-balanced", "gavel", "presentation", "timeline"]}, {"charts_math", ["chart", "diagram", "graph", "analytics", "abacus", "calculator", "infinity", "function", "integral", "sigma", "pi", "square-root", "plus", "minus", "divide", "equals", "not-equal", "less-than", "greater-than", "percent", "tally", "0", "00", "1", "2", "3", "4", "5", "6", "7", "8", "9", "bar-progress", "bars-progress"]}, {"time", ["clock", "watch", "alarm", "timer", "stopwatch", "hourglass", "calendar", "calendars", "snooze", "gift", "gifts", "cake-candles", "party", "balloon", "balloons", "holly", "mistletoe", "snowman", "wreath", "candy-cane", "ornament", "menorah", "dreidel"]}, {"maps", ["location", "map", "compass", "route", "signs-post", "sign-post", "street-view", "earth", "globe", "flag", "flags", "passport", "ticket", "thumbtack", "umbrella-beach"]}, {"security", ["shield", "lock", "unlock", "key", "keys", "padlock", "fingerprint", "badge", "siren", "light-emergency", "triangle-exclamation", "circle-exclamation", "octagon-exclamation", "diamond-exclamation", "seal-exclamation", "exclamation", "question", "info", "ban", "do-not-enter", "skull-crossbones", "fire-extinguisher", "sensor", "cross", "ankh", "star-of-david", "star-and-crescent", "om", "dharmachakra", "yin-yang", "peace", "bahai", "khanda", "ballot", "check-to-slot", "democrat", "republican", "section"]}, {"household", ["couch", "sofa", "chair", "loveseat", "bed", "mattress", "blanket", "rug", "curtains", "blinds", "lamp", "light", "lightbulb", "chandelier", "sconce", "candle", "fan", "air-conditioner", "heater", "fireplace", "radiator", "outlet", "suitcase", "luggage", "bag", "backpack", "trash", "dumpster", "recycle", "bin", "basket", "box", "boxes", "crate", "jug", "bottle", "can", "toilet", "bath", "shower", "sink", "faucet", "toilet-paper", "soap", "toothbrush", "toothpaste", "pump-soap", "spray-can", "air-freshener"]}, {"editing", ["align", "bold", "italic", "underline", "strikethrough", "subscript", "superscript", "text", "font", "heading", "paragraph", "indent", "outdent", "list", "table", "columns", "border", "crop", "cut", "lasso", "wand-magic", "palette", "swatchbook", "fill", "eye-dropper", "layer-group", "object", "vector", "bezier-curve", "pen-nib", "grid", "bars", "ellipsis", "filter", "sliders", "toggle", "check", "xmark"]}, {"shapes", ["heart", "star", "diamond", "triangle", "hexagon", "octagon", "pentagon", "rectangle", "rhombus", "cube", "cubes", "shapes", "burst", "sparkle", "sparkles", "asterisk", "certificate", "seal"]}]
Stage 1: Primary visual prefix rules (evaluated in order before FA category fallback).