#!/bin/bash

declare -A regions
declare -A rdec
IFS=':'

declare -i idx=0
while read rn pn po
do
  if [[ -z ${regions[$rn]+x} ]]; then
    dec=$(printf "%u" 0x$rn)
    echo adding $rn $dec
    regions[$rn]=$dec
    rdec[$dec]=$rn
  fi
  ((idx++))
  if (( $idx == 1000000 )); then echo -n .; idx=0; fi
done

echo

IFS=$'\n' rsorted=($(sort -n<<<"${regions[*]}"))
printf "[%s]\n" "${rsorted[@]}"

idx=0
for i in "${rsorted[@]}"
do
  echo $idx ${rdec[$i]} $i
  ((idx++))
done