#!/bin/sh

 echo "yes" > tmp@

gawk ' 
BEGIN{}
{ 
   inline=$0
   gsub("\\\134","\\\134",inline)
   gsub("\47","\\47",inline)
   strhead=1
   str=""
   outline=""
   graph=1 
     while (graph > 0) 
        {graph=index(inline,"^^")
         if (graph > 0)
           {
            ffchar=substr(inline,graph+2,2)

           {if (ffchar == "80")
                rffchar="5c"
            else
            if (ffchar == "81")
                rffchar="61"
            else
            if (ffchar == "82")
                rffchar="62"
            else
            if (ffchar == "83")
                rffchar="63"
            else
            if (ffchar == "84")
                rffchar="64"
            else
            if (ffchar == "85")
                rffchar="65"
            else
            if (ffchar == "86")
                rffchar="66"
            else
            if (ffchar == "87")
                rffchar="67"
            else
            if (ffchar == "88")
                rffchar="68"
            else
            if (ffchar == "89")
                rffchar="69"
            else
            if (ffchar == "8a")
                rffchar="6a"
            else
            if (ffchar == "8b")
                rffchar="6b"
            else
            if (ffchar == "8c")
                rffchar="6c"
            else
            if (ffchar == "8d")
                rffchar="6d"
            else
            if (ffchar == "8e")
                rffchar="6e"
            else
            if (ffchar == "8f")
                rffchar="6f"
            else
            if (ffchar == "90")
                rffchar="70"
            else
            if (ffchar == "91")
                rffchar="71"
            else
            if (ffchar == "92")
                rffchar="72"
            else
            if (ffchar == "93")
                rffchar="73"
            else
            if (ffchar == "94")
                rffchar="74"
            else
            if (ffchar == "95")
                rffchar="75"
            else
            if (ffchar == "96")
                rffchar="76"
            else
            if (ffchar == "97")
                rffchar="77"
            else
            if (ffchar == "98")
                rffchar="78"
            else
            if (ffchar == "99")
                rffchar="79"
            else
            if (ffchar == "9a")
                rffchar="7a"
            else
            if (ffchar == "9b")
                rffchar="7b"
            else
            if (ffchar == "9d")
                rffchar="7d"
            else 
                {rffchar=ffchar}
           }
          {
            {rightffchar=substr(ffchar,2,1)
             leftffchar=substr(ffchar,1,1)
             if (rightffchar != "." && leftffchar != "^")
               {str=str substr(inline,1,graph-1) "\\x"  rffchar}
             else
               {if (leftffchar != "^")
                   {str=str substr(inline,1,graph-1) "^^"  rffchar} 
                else
                   {str=str "^"}
               }
            }

            if (leftffchar != "^")
             {inline=substr(inline,graph+4,length(inline)-graph-3)}
            else
             {inline=substr(inline,graph+1,length(inline)-graph)}
              }
  
          }
         else
            {inline=str inline

            }
        }

   system("gawk \47 " "{print" "\"" inline "\"" "} \47 tmp@")
}
END{
}' $1

