/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2023 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.materialdesign2;

import org.kordamp.ikonli.Ikon;

/**
 * @author Andres Almiray
 */
public enum MaterialDesignR implements Ikon {
    RABBIT("mdi2r-rabbit", "F0907"),
    RACING_HELMET("mdi2r-racing-helmet", "F0D93"),
    RACQUETBALL("mdi2r-racquetball", "F0D94"),
    RADAR("mdi2r-radar", "F0437"),
    RADIATOR("mdi2r-radiator", "F0438"),
    RADIATOR_DISABLED("mdi2r-radiator-disabled", "F0AD7"),
    RADIATOR_OFF("mdi2r-radiator-off", "F0AD8"),
    RADIO("mdi2r-radio", "F0439"),
    RADIO_AM("mdi2r-radio-am", "F0CBE"),
    RADIO_FM("mdi2r-radio-fm", "F0CBF"),
    RADIO_HANDHELD("mdi2r-radio-handheld", "F043A"),
    RADIO_OFF("mdi2r-radio-off", "F121C"),
    RADIO_TOWER("mdi2r-radio-tower", "F043B"),
    RADIOACTIVE("mdi2r-radioactive", "F043C"),
    RADIOACTIVE_OFF("mdi2r-radioactive-off", "F0EC1"),
    RADIOBOX_BLANK("mdi2r-radiobox-blank", "F043D"),
    RADIOBOX_MARKED("mdi2r-radiobox-marked", "F043E"),
    RADIOLOGY_BOX("mdi2r-radiology-box", "F14C5"),
    RADIOLOGY_BOX_OUTLINE("mdi2r-radiology-box-outline", "F14C6"),
    RADIUS("mdi2r-radius", "F0CC0"),
    RADIUS_OUTLINE("mdi2r-radius-outline", "F0CC1"),
    RAILROAD_LIGHT("mdi2r-railroad-light", "F0F1E"),
    RAKE("mdi2r-rake", "F1544"),
    RASPBERRY_PI("mdi2r-raspberry-pi", "F043F"),
    RAY_END("mdi2r-ray-end", "F0440"),
    RAY_END_ARROW("mdi2r-ray-end-arrow", "F0441"),
    RAY_START("mdi2r-ray-start", "F0442"),
    RAY_START_ARROW("mdi2r-ray-start-arrow", "F0443"),
    RAY_START_END("mdi2r-ray-start-end", "F0444"),
    RAY_START_VERTEX_END("mdi2r-ray-start-vertex-end", "F15D8"),
    RAY_VERTEX("mdi2r-ray-vertex", "F0445"),
    REACT("mdi2r-react", "F0708"),
    READ("mdi2r-read", "F0447"),
    RECEIPT("mdi2r-receipt", "F0449"),
    RECORD("mdi2r-record", "F044A"),
    RECORD_CIRCLE("mdi2r-record-circle", "F0EC2"),
    RECORD_CIRCLE_OUTLINE("mdi2r-record-circle-outline", "F0EC3"),
    RECORD_PLAYER("mdi2r-record-player", "F099A"),
    RECORD_REC("mdi2r-record-rec", "F044B"),
    RECTANGLE("mdi2r-rectangle", "F0E5E"),
    RECTANGLE_OUTLINE("mdi2r-rectangle-outline", "F0E5F"),
    RECYCLE("mdi2r-recycle", "F044C"),
    RECYCLE_VARIANT("mdi2r-recycle-variant", "F139D"),
    REDDIT("mdi2r-reddit", "F044D"),
    REDHAT("mdi2r-redhat", "F111B"),
    REDO("mdi2r-redo", "F044E"),
    REDO_VARIANT("mdi2r-redo-variant", "F044F"),
    REFLECT_HORIZONTAL("mdi2r-reflect-horizontal", "F0A0E"),
    REFLECT_VERTICAL("mdi2r-reflect-vertical", "F0A0F"),
    REFRESH("mdi2r-refresh", "F0450"),
    REFRESH_CIRCLE("mdi2r-refresh-circle", "F1377"),
    REGEX("mdi2r-regex", "F0451"),
    REGISTERED_TRADEMARK("mdi2r-registered-trademark", "F0A67"),
    REITERATE("mdi2r-reiterate", "F1588"),
    RELATION_MANY_TO_MANY("mdi2r-relation-many-to-many", "F1496"),
    RELATION_MANY_TO_ONE("mdi2r-relation-many-to-one", "F1497"),
    RELATION_MANY_TO_ONE_OR_MANY("mdi2r-relation-many-to-one-or-many", "F1498"),
    RELATION_MANY_TO_ONLY_ONE("mdi2r-relation-many-to-only-one", "F1499"),
    RELATION_MANY_TO_ZERO_OR_MANY("mdi2r-relation-many-to-zero-or-many", "F149A"),
    RELATION_MANY_TO_ZERO_OR_ONE("mdi2r-relation-many-to-zero-or-one", "F149B"),
    RELATION_ONE_OR_MANY_TO_MANY("mdi2r-relation-one-or-many-to-many", "F149C"),
    RELATION_ONE_OR_MANY_TO_ONE("mdi2r-relation-one-or-many-to-one", "F149D"),
    RELATION_ONE_OR_MANY_TO_ONE_OR_MANY("mdi2r-relation-one-or-many-to-one-or-many", "F149E"),
    RELATION_ONE_OR_MANY_TO_ONLY_ONE("mdi2r-relation-one-or-many-to-only-one", "F149F"),
    RELATION_ONE_OR_MANY_TO_ZERO_OR_MANY("mdi2r-relation-one-or-many-to-zero-or-many", "F14A0"),
    RELATION_ONE_OR_MANY_TO_ZERO_OR_ONE("mdi2r-relation-one-or-many-to-zero-or-one", "F14A1"),
    RELATION_ONE_TO_MANY("mdi2r-relation-one-to-many", "F14A2"),
    RELATION_ONE_TO_ONE("mdi2r-relation-one-to-one", "F14A3"),
    RELATION_ONE_TO_ONE_OR_MANY("mdi2r-relation-one-to-one-or-many", "F14A4"),
    RELATION_ONE_TO_ONLY_ONE("mdi2r-relation-one-to-only-one", "F14A5"),
    RELATION_ONE_TO_ZERO_OR_MANY("mdi2r-relation-one-to-zero-or-many", "F14A6"),
    RELATION_ONE_TO_ZERO_OR_ONE("mdi2r-relation-one-to-zero-or-one", "F14A7"),
    RELATION_ONLY_ONE_TO_MANY("mdi2r-relation-only-one-to-many", "F14A8"),
    RELATION_ONLY_ONE_TO_ONE("mdi2r-relation-only-one-to-one", "F14A9"),
    RELATION_ONLY_ONE_TO_ONE_OR_MANY("mdi2r-relation-only-one-to-one-or-many", "F14AA"),
    RELATION_ONLY_ONE_TO_ONLY_ONE("mdi2r-relation-only-one-to-only-one", "F14AB"),
    RELATION_ONLY_ONE_TO_ZERO_OR_MANY("mdi2r-relation-only-one-to-zero-or-many", "F14AC"),
    RELATION_ONLY_ONE_TO_ZERO_OR_ONE("mdi2r-relation-only-one-to-zero-or-one", "F14AD"),
    RELATION_ZERO_OR_MANY_TO_MANY("mdi2r-relation-zero-or-many-to-many", "F14AE"),
    RELATION_ZERO_OR_MANY_TO_ONE("mdi2r-relation-zero-or-many-to-one", "F14AF"),
    RELATION_ZERO_OR_MANY_TO_ONE_OR_MANY("mdi2r-relation-zero-or-many-to-one-or-many", "F14B0"),
    RELATION_ZERO_OR_MANY_TO_ONLY_ONE("mdi2r-relation-zero-or-many-to-only-one", "F14B1"),
    RELATION_ZERO_OR_MANY_TO_ZERO_OR_MANY("mdi2r-relation-zero-or-many-to-zero-or-many", "F14B2"),
    RELATION_ZERO_OR_MANY_TO_ZERO_OR_ONE("mdi2r-relation-zero-or-many-to-zero-or-one", "F14B3"),
    RELATION_ZERO_OR_ONE_TO_MANY("mdi2r-relation-zero-or-one-to-many", "F14B4"),
    RELATION_ZERO_OR_ONE_TO_ONE("mdi2r-relation-zero-or-one-to-one", "F14B5"),
    RELATION_ZERO_OR_ONE_TO_ONE_OR_MANY("mdi2r-relation-zero-or-one-to-one-or-many", "F14B6"),
    RELATION_ZERO_OR_ONE_TO_ONLY_ONE("mdi2r-relation-zero-or-one-to-only-one", "F14B7"),
    RELATION_ZERO_OR_ONE_TO_ZERO_OR_MANY("mdi2r-relation-zero-or-one-to-zero-or-many", "F14B8"),
    RELATION_ZERO_OR_ONE_TO_ZERO_OR_ONE("mdi2r-relation-zero-or-one-to-zero-or-one", "F14B9"),
    RELATIVE_SCALE("mdi2r-relative-scale", "F0452"),
    RELOAD("mdi2r-reload", "F0453"),
    RELOAD_ALERT("mdi2r-reload-alert", "F110B"),
    REMINDER("mdi2r-reminder", "F088C"),
    REMOTE("mdi2r-remote", "F0454"),
    REMOTE_DESKTOP("mdi2r-remote-desktop", "F08B9"),
    REMOTE_OFF("mdi2r-remote-off", "F0EC4"),
    REMOTE_TV("mdi2r-remote-tv", "F0EC5"),
    REMOTE_TV_OFF("mdi2r-remote-tv-off", "F0EC6"),
    RENAME_BOX("mdi2r-rename-box", "F0455"),
    REORDER_HORIZONTAL("mdi2r-reorder-horizontal", "F0688"),
    REORDER_VERTICAL("mdi2r-reorder-vertical", "F0689"),
    REPEAT("mdi2r-repeat", "F0456"),
    REPEAT_OFF("mdi2r-repeat-off", "F0457"),
    REPEAT_ONCE("mdi2r-repeat-once", "F0458"),
    REPLAY("mdi2r-replay", "F0459"),
    REPLY("mdi2r-reply", "F045A"),
    REPLY_ALL("mdi2r-reply-all", "F045B"),
    REPLY_ALL_OUTLINE("mdi2r-reply-all-outline", "F0F1F"),
    REPLY_CIRCLE("mdi2r-reply-circle", "F11AE"),
    REPLY_OUTLINE("mdi2r-reply-outline", "F0F20"),
    REPRODUCTION("mdi2r-reproduction", "F045C"),
    RESISTOR("mdi2r-resistor", "F0B44"),
    RESISTOR_NODES("mdi2r-resistor-nodes", "F0B45"),
    RESIZE("mdi2r-resize", "F0A68"),
    RESIZE_BOTTOM_RIGHT("mdi2r-resize-bottom-right", "F045D"),
    RESPONSIVE("mdi2r-responsive", "F045E"),
    RESTART("mdi2r-restart", "F0709"),
    RESTART_ALERT("mdi2r-restart-alert", "F110C"),
    RESTART_OFF("mdi2r-restart-off", "F0D95"),
    RESTORE("mdi2r-restore", "F099B"),
    RESTORE_ALERT("mdi2r-restore-alert", "F110D"),
    REWIND("mdi2r-rewind", "F045F"),
    REWIND_10("mdi2r-rewind-10", "F0D2A"),
    REWIND_30("mdi2r-rewind-30", "F0D96"),
    REWIND_5("mdi2r-rewind-5", "F11F9"),
    REWIND_60("mdi2r-rewind-60", "F160C"),
    REWIND_OUTLINE("mdi2r-rewind-outline", "F070A"),
    RHOMBUS("mdi2r-rhombus", "F070B"),
    RHOMBUS_MEDIUM("mdi2r-rhombus-medium", "F0A10"),
    RHOMBUS_MEDIUM_OUTLINE("mdi2r-rhombus-medium-outline", "F14DC"),
    RHOMBUS_OUTLINE("mdi2r-rhombus-outline", "F070C"),
    RHOMBUS_SPLIT("mdi2r-rhombus-split", "F0A11"),
    RHOMBUS_SPLIT_OUTLINE("mdi2r-rhombus-split-outline", "F14DD"),
    RIBBON("mdi2r-ribbon", "F0460"),
    RICE("mdi2r-rice", "F07EA"),
    RICKSHAW("mdi2r-rickshaw", "F15BB"),
    RICKSHAW_ELECTRIC("mdi2r-rickshaw-electric", "F15BC"),
    RING("mdi2r-ring", "F07EB"),
    RIVET("mdi2r-rivet", "F0E60"),
    ROAD("mdi2r-road", "F0461"),
    ROAD_VARIANT("mdi2r-road-variant", "F0462"),
    ROBBER("mdi2r-robber", "F1058"),
    ROBOT("mdi2r-robot", "F06A9"),
    ROBOT_ANGRY("mdi2r-robot-angry", "F169D"),
    ROBOT_ANGRY_OUTLINE("mdi2r-robot-angry-outline", "F169E"),
    ROBOT_CONFUSED("mdi2r-robot-confused", "F169F"),
    ROBOT_CONFUSED_OUTLINE("mdi2r-robot-confused-outline", "F16A0"),
    ROBOT_DEAD("mdi2r-robot-dead", "F16A1"),
    ROBOT_DEAD_OUTLINE("mdi2r-robot-dead-outline", "F16A2"),
    ROBOT_EXCITED("mdi2r-robot-excited", "F16A3"),
    ROBOT_EXCITED_OUTLINE("mdi2r-robot-excited-outline", "F16A4"),
    ROBOT_INDUSTRIAL("mdi2r-robot-industrial", "F0B46"),
    ROBOT_LOVE("mdi2r-robot-love", "F16A5"),
    ROBOT_LOVE_OUTLINE("mdi2r-robot-love-outline", "F16A6"),
    ROBOT_MOWER("mdi2r-robot-mower", "F11F7"),
    ROBOT_MOWER_OUTLINE("mdi2r-robot-mower-outline", "F11F3"),
    ROBOT_OFF("mdi2r-robot-off", "F16A7"),
    ROBOT_OFF_OUTLINE("mdi2r-robot-off-outline", "F167B"),
    ROBOT_OUTLINE("mdi2r-robot-outline", "F167A"),
    ROBOT_VACUUM("mdi2r-robot-vacuum", "F070D"),
    ROBOT_VACUUM_VARIANT("mdi2r-robot-vacuum-variant", "F0908"),
    ROCKET("mdi2r-rocket", "F0463"),
    ROCKET_LAUNCH("mdi2r-rocket-launch", "F14DE"),
    ROCKET_LAUNCH_OUTLINE("mdi2r-rocket-launch-outline", "F14DF"),
    ROCKET_OUTLINE("mdi2r-rocket-outline", "F13AF"),
    RODENT("mdi2r-rodent", "F1327"),
    ROLLER_SKATE("mdi2r-roller-skate", "F0D2B"),
    ROLLER_SKATE_OFF("mdi2r-roller-skate-off", "F0145"),
    ROLLERBLADE("mdi2r-rollerblade", "F0D2C"),
    ROLLERBLADE_OFF("mdi2r-rollerblade-off", "F002E"),
    ROLLUPJS("mdi2r-rollupjs", "F0BC0"),
    ROMAN_NUMERAL_1("mdi2r-roman-numeral-1", "F1088"),
    ROMAN_NUMERAL_10("mdi2r-roman-numeral-10", "F1091"),
    ROMAN_NUMERAL_2("mdi2r-roman-numeral-2", "F1089"),
    ROMAN_NUMERAL_3("mdi2r-roman-numeral-3", "F108A"),
    ROMAN_NUMERAL_4("mdi2r-roman-numeral-4", "F108B"),
    ROMAN_NUMERAL_5("mdi2r-roman-numeral-5", "F108C"),
    ROMAN_NUMERAL_6("mdi2r-roman-numeral-6", "F108D"),
    ROMAN_NUMERAL_7("mdi2r-roman-numeral-7", "F108E"),
    ROMAN_NUMERAL_8("mdi2r-roman-numeral-8", "F108F"),
    ROMAN_NUMERAL_9("mdi2r-roman-numeral-9", "F1090"),
    ROOM_SERVICE("mdi2r-room-service", "F088D"),
    ROOM_SERVICE_OUTLINE("mdi2r-room-service-outline", "F0D97"),
    ROTATE_3D("mdi2r-rotate-3d", "F0EC7"),
    ROTATE_3D_VARIANT("mdi2r-rotate-3d-variant", "F0464"),
    ROTATE_LEFT("mdi2r-rotate-left", "F0465"),
    ROTATE_LEFT_VARIANT("mdi2r-rotate-left-variant", "F0466"),
    ROTATE_ORBIT("mdi2r-rotate-orbit", "F0D98"),
    ROTATE_RIGHT("mdi2r-rotate-right", "F0467"),
    ROTATE_RIGHT_VARIANT("mdi2r-rotate-right-variant", "F0468"),
    ROUNDED_CORNER("mdi2r-rounded-corner", "F0607"),
    ROUTER("mdi2r-router", "F11E2"),
    ROUTER_NETWORK("mdi2r-router-network", "F1087"),
    ROUTER_WIRELESS("mdi2r-router-wireless", "F0469"),
    ROUTER_WIRELESS_OFF("mdi2r-router-wireless-off", "F15A3"),
    ROUTER_WIRELESS_SETTINGS("mdi2r-router-wireless-settings", "F0A69"),
    ROUTES("mdi2r-routes", "F046A"),
    ROUTES_CLOCK("mdi2r-routes-clock", "F1059"),
    ROWING("mdi2r-rowing", "F0608"),
    RSS("mdi2r-rss", "F046B"),
    RSS_BOX("mdi2r-rss-box", "F046C"),
    RSS_OFF("mdi2r-rss-off", "F0F21"),
    RUG("mdi2r-rug", "F1475"),
    RUGBY("mdi2r-rugby", "F0D99"),
    RULER("mdi2r-ruler", "F046D"),
    RULER_SQUARE("mdi2r-ruler-square", "F0CC2"),
    RULER_SQUARE_COMPASS("mdi2r-ruler-square-compass", "F0EBE"),
    RUN("mdi2r-run", "F070E"),
    RUN_FAST("mdi2r-run-fast", "F046E"),
    RV_TRUCK("mdi2r-rv-truck", "F11D4");

    public static MaterialDesignR findByDescription(String description) {
        for (MaterialDesignR font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private String description;
    private int code;

    MaterialDesignR(String description, String code) {
        this.description = description;
        this.code = Integer.parseInt(code, 16);
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}
