#!/bin/bash --

yubnub () 
{ 
    local u;
    u="$(printf "http://www.yubnub.org/parser/parse?command=$( ( echo :"$*" ; echo : ) | sed '1 s/://' | od -tx1 | sed -e 's/^[0-7]*//' | tr -d '\n' | sed 's/  *$//;s/  */%/g;s/%0[aA]%3[aA]%0[Aa]$//;s/%\([57][0-9aA]\)/\\x\1/g;s/%\([46][1-9a-fA-F]\)/\\x\1/g;s/%5[fF]/_/g;s/%/\\x25/g')")";
    local b;
    b="${BROWSER:-"w3m:lynx"}";
    local oIFS;
    oIFS="$IFS";
    IFS=:;
    set $b '"$b"';
    IFS="$oIFS";
    local br;
    for br in "$@";
    do
        br="${br//\%c/:}";
        if [ :"${br/\%s/}" = :"${br}" ]; then
            br="${br} \"%s\"";
        fi;
        br="$(printf "$br" "$u")";
        eval "$br" && break;
    done
}

yubnub "$@"
exit $?
