#!/usr/bin/perl

my $offset = shift @ARGV;

while (<>) {
    #    next unless / \d\d bdev /;
    my $rest = $_;
    my @hit;
    while ($rest =~ /([\da-f]+)[~\+]([\da-f]+)/) {
	my ($o, $l) = $rest =~ /([\da-f]+)[~\+]([\da-f]+)/;
	$rest = $';
	if (hex($offset) >= hex($o) &&
	    hex($offset) < hex($o) + hex($l)) {
	    my $rel = hex($offset) - hex($o);
	    push(@hit, sprintf("%x",$rel));
	}
    }
    print join(',',@hit) . "\t$_" if @hit;
}
