0
     �_’I|¥‰ÓMjqØ‚¦ð¬÷ÂÁ      File not found.
     �¾ÂÁ      File not found.
     	ˆÀ¿ƒh¹ÂÁ      	0111
     �¾ÂÁ      File not found.
     ˆÀ¿ƒh¹ÂÁ      live
     �¾ÂÁ      File not found.
  1   ˆl—ßi~”d
e¶¥8 ¸ÛwyLZ7ÿÀƒ}¶E_ŒuÐb&=LyYÿÄÃ %<    #!/usr/bin/bash

# called by dracut
check() {
    [[ "$mount_needs" ]] && return 1

    require_binaries setfont loadkeys kbd_mode || return 1

    return 0
}

# called by dracut
depends() {
    return 0
}

# called by dracut
install() {
    declare -A KEYMAPS

    if dracut_module_included "systemd"; then
        unset FONT
        unset KEYMAP
        # shellcheck disable=SC1090
        [[ -f "$dracutsysrootdir"/etc/vconsole.conf ]] && . "$dracutsysrootdir"/etc/vconsole.conf
    fi

    KBDSUBDIRS=(consolefonts consoletrans keymaps unimaps)
    DEFAULT_FONT="${i18n_default_font:-eurlatgr}"
    I18N_CONF="/etc/locale.conf"
    VCONFIG_CONF="/etc/vconsole.conf"

    findkeymap() {
        local -a MAPS
        local MAPNAME
        local INCLUDES
        local MAP
        local CMD
        local FN

        if [[ -f $dracutsysrootdir$1 ]]; then
            MAPS=("$1")
        else
            MAPNAME=${1%.map*}

            mapfile -t -d '' MAPS < <(
                find "${dracutsysrootdir}${kbddir}"/keymaps/ -type f \( -name "${MAPNAME}" -o -name "${MAPNAME}.map*" \) -print0
            )
        fi

        for MAP in "${MAPS[@]}"; do
            [[ -f $MAP ]] || continue
            [[ -v KEYMAPS["$MAP"] ]] && continue

            KEYMAPS["$MAP"]=1

            case "$MAP" in
                *.gz) CMD="zgrep" ;;
                *.bz2) CMD="bzgrep" ;;
                *) CMD="grep" ;;
            esac

            readarray -t INCLUDES < <("$CMD" '^include ' "$MAP" | while read -r _ a _ || [ -n "$a" ]; do echo "${a//\"/}"; done)

            for INCL in "${INCLUDES[@]}"; do
                for FN in "$dracutsysrootdir""${kbddir}"/keymaps/**/"$INCL"*; do
                    [[ -f $FN ]] || continue
                    [[ -v KEYMAPS["$FN"] ]] || findkeymap "$FN"
                done
            done
        done
    }

    # Function gathers variables from distributed files among the tree, maps to
    # specified names and prints the result in format "new-name=value".
    #
    # $@ = list in format specified below (BNF notation)
    #
    # <list> ::= <element> | <element> " " <list>
    # <element> ::= <conf-file-name> ":" <map-list>
    # <map-list> ::= <mapping> | <mapping> "," <map-list>
    # <mapping> ::= <src-var> "-" <dst-var> | <src-var>
    #
    # We assume no whitespace are allowed between symbols.
    # <conf-file-name> is a file holding <src-var> in your system.
    # <src-var> is a variable holding value of meaning the same as <dst-var>.
    # <dst-var> is a variable which will be set up inside initramfs.
    # If <dst-var> has the same name as <src-var> we can omit <dst-var>.
    #
    # Example:
    # /etc/conf.d/keymaps:KEYMAP,extended_keymaps-EXT_KEYMAPS
    # <list> = /etc/conf.d/keymaps:KEYMAP,extended_keymaps-EXT_KEYMAPS
    # <element> = /etc/conf.d/keymaps:KEYMAP,extended_keymaps-EXT_KEYMAPS
    # <conf-file-name> = /etc/conf.d/keymaps
    # <map-list> = KEYMAP,extended_keymaps-EXT_KEYMAPS
    # <mapping> = KEYMAP
    # <src-var> = KEYMAP
    # <mapping> = extended_keymaps-EXT_KEYMAPS
    # <src-var> = extended_keymaps
    # <dst-var> = EXT_KEYMAPS
    gather_vars() {
        local item map value

        # FIXME: double check
        # shellcheck disable=SC2068
        for item in "$@"; do
            read -r -a item <<< "${item/:/ }"
            for map in ${item[1]//,/ }; do
                read -r -a map <<< "${map//-/ }"
                if [[ -f "$dracutsysrootdir${item[0]}" ]]; then
                    value=$(grep "^${map[0]}=" "$dracutsysrootdir${item[0]}")
                    value=${value#*=}
                    echo "${map[1]:-${map[0]}}=${value}"
                fi
                unset map
            done
        done
    }

    install_base() {
        inst_multiple setfont load