Condition Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
condition 908 1746 52.0


and 2 conditions

line l !l condition
3712 464 1 ref $_ and return $value
5312 692 29 $options->{$_} and push @groupOptions, $_
6450 10205 9 0 $desc =~ s/ (0x[\da-f]+)$//i and $tagID = $1
8350 19 0 $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1

and 3 conditions

line !l l&&!r l&&r condition
2387 5 4 530 ref $_[0] and UNIVERSAL::isa($_[0], "Image::ExifTool")
2433 23827 59 0 ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand'
2439 6051 0 8 $param eq "Exclude" and defined $newVal
2448 0 0 19 $langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal"
2605 59 0 0 $plus and defined $oldVal
2634 0 0 0 defined $oldVal and defined $newVal
2641 4779 59 0 $param eq "TimeZone" and defined $newVal
4838 0 0 $param eq "TimeZone" and defined $newVal and length $newVal
2643 60 5 0 defined $newVal and $newVal eq "XML"
60 0 5 defined $newVal and $newVal eq "HTML"
2690 508 0 0 $^O eq "MSWin32" and eval { do { require Win32::API } }
2722 549 1 2 ref $_[1] eq "HASH" and $_[1]{'ReEntry'}
1 0 2 ref $_[1] eq "HASH" and $_[1]{'ReEntry'} and ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB'
2775 61 0 0 not @startTime and $req->{'processingtime'}
2781 550 0 0 $req->{'imagedatahash'} and not $self->{'ImageDataHash'}
2806 0 0 505 defined $filename and $filename ne ""
2812 444 0 61 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2817 0 0 505 defined $dir and length $dir
2818 444 0 61 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2823 61 0 0 $^O eq "MSWin32" and $options->{'WindowsLongPath'}
2836 505 0 0 $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2838 505 0 0 $^O eq "MSWin32" and eval { do { require Win32API::File } }
2898 0 27 525 $^O eq "linux" and @stat
27 525 0 $^O eq "linux" and @stat and eval { do { require File::StatX } }
2906 0 0 0 $stat and $stat->btime
2915 61 0 0 $^O eq "MSWin32" and defined $filename
61 0 0 $^O eq "MSWin32" and defined $filename and $filename ne ""
0 0 0 $^O eq "MSWin32" and defined $filename and $filename ne "" and $filename ne "-"
2925 0 0 0 defined $wattr and $wattr != 4294967295
2940 552 0 0 $^O eq "darwin" and defined $filename
552 0 0 $^O eq "darwin" and defined $filename and $filename ne ""
0 0 0 $^O eq "darwin" and defined $filename and $filename ne "" and defined $fileSize
2948 0 0 0 $mdItem and $plainFile
2953 27 525 0 defined $stat[2] and ($stat[2] & 61440) == 16384
2967 45 195 312 defined $ext and not defined $Image::ExifTool::magicNumber{$ext}
240 310 2 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext}
505 2 0 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
3016 26 50 0 defined $moduleName{$type} and not $moduleName{$type}
3019 620 12 0 $weakMagic{$type} and defined $recognizedExt
3038 631 1 0 $fast > 2 and not $processType{$type}
3039 0 0 0 $weakMagic{$type} and !$ext || $ext ne $type
3124 0 0 0 defined $type && ($fast || $self->{'FoundXMP'})
549 0 0 $self->Options("ScanForXMP") and not defined $type && ($fast || $self->{'FoundXMP'})
3135 272 25 255 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16
297 159 96 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
3152 0 0 0 defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
3163 507 0 0 $rsize and $options->{'ExtractEmbedded'}
3188 0 52 4 $n and $n > 1
3233 0 175 539 @_ and not defined $_[0]
3293 110 51 231 @$wildTags and $i == $wildTags->[0]
3310 0 3 0 $sort and $sort ne "Input"
3350 0 0 0 $info and not $sort
3356 0 23 439 $sort and $sort ne "Input"
3473 44199 0 53 $tagInfo->{'Struct'} and ref $value
3511 71894 0 665 ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3524 21572 1814 2151 $type eq "Both" and $convType eq "PrintConv"
3570 22719 0 3020 ref $val eq "HASH" and not @val
3605 77 0 1 $tagInfo->{'PrintHex'} and defined $val
77 1 0 $tagInfo->{'PrintHex'} and defined $val and &IsInt($val)
1 0 0 $tagInfo->{'PrintHex'} and defined $val and &IsInt($val) and $convType eq "PrintConv"
3617 7470 0 306 $self->{'CUR_LANG'} and $convType eq "PrintConv"
7470 45 261 $self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH"
45 0 261 $self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'}
3622 261 0 0 $conv->{'BITMASK'} and not defined $conv->{$val}
3663 15 118 0 $nextConv and $nextConv eq "REPEAT"
3673 24451 0 125 $convList and ref $value eq "ARRAY"
3701 35179 5 442 $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3704 26 111 170 $type eq "PrintConv" and not $self->{'OPTIONS'}{'List'}
3728 0 2 24008 $tagInfo and defined $tagInfo->{'TagID'}
3757 128 0 1 $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$//
128 0 1 $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$// and $desc = $self->{'CUR_LANG'}{$name}
3816 82962 18486 103316 defined $family and $family ne -1
3823 2736 0 0 @families == 1 and $families[0] != 7
3833 129060 0 5527 $tag =~ /\((\d+)\)$/ && $1 ne '0'
3883 0 2736 2736 $simplify and @grps
2736 2720 16 $simplify and @grps and $grp eq $grps[-1]
3886 0 16 2720 $simplify and @grps > 1
16 2720 0 $simplify and @grps > 1 and $grps[0] eq "Main"
3978 41085 2799 208 $tagInfo->{'SubDoc'} && $self->{'DOC_COUNT'}
3994 58365 0 5241 $notBuilt{$reqTag} and not $inhibit->{$index}
4023 26650 699 2238 $reqGroup eq "Composite" and $notBuilt{$name}
4026 282 1485 471 $inhibit->{$index} and $allBuilt
4034 27817 1 2 $reqTag =~ /\b(File\d+):/i and $self->{'ALT_EXIFTOOL'}{$1}
4197 0 0 0 defined $desc and $desc eq 0
4205 0 0 0 defined $module and $module eq 0
4220 55 955 454 $fileType and not ref $fileType
4223 55 955 0 $fileType and !defined($desc) || $desc ne '0'
4225 0 0 0 $Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}
4238 267 688 0 defined $mod and $mod eq 0
4368 0 0 0 @purgeTags and length scalar @purgeTags >= $purgeFlag
4460 0 0 0 defined $coord[0] and defined $coord[1]
4482 3 0 1 defined $coord[0] and defined $coord[1]
4483 0 0 1 $ref[0] and $coord[0] > 0
0 1 0 $ref[0] and $coord[0] > 0 and $ref[0] eq "S"
4484 0 0 1 $ref[1] and $coord[1] > 0
0 0 1 $ref[1] and $coord[1] > 0 and $ref[1] eq "W"
4512 0 0 4 $cities and @$cities < 2 || $dist || !$self->Warn('Multiple Geolocation cities are possible', 2)
4554 10 516 24 $opts->{'Composite'} and !$opts->{'FastScan'} || $opts->{'FastScan'} < 5
4676 0 1 0 $trunc and $pos + $n > length $$strPt
4681 38 39 0 $ch == 224 and (ord $1 & 224) == 128
77 0 0 $ch == 237 and (ord $1 & 224) == 160
76 1 0 $ch == 239 and ord $1 == 191
77 0 0 $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
4686 75 0 0 $ch == 240 and (ord $1 & 240) == 128
75 0 0 $ch == 244 and ord $1 > 143
4731 0 0 0 not $enc and $^O eq "MSWin32"
4793 0 0 0 defined $self->{'LONG_PATH_IN'} and $self->{'LONG_PATH_IN'} eq $path
4851 730 0 0 $file =~ /\|$/ && $self->{'TRUST_PIPE'}
4917 231 0 0 -e $file && !(-p $file)
4935 0 0 0 $attrs and $attrs != 4294967295
0 0 0 $attrs and $attrs != 4294967295 and $attrs & $dirBit
4953 0 1 0 $dir and not $self->IsDirectory($dir)
4958 0 0 0 length $_ and not $self->IsDirectory($dir)
0 0 0 &IsPC() && $dir =~ m[^//[^/]*$]
0 0 0 length $_ and not $self->IsDirectory($dir) and not &IsPC() && $dir =~ m[^//[^/]*$]
5077 1420 0 171 ref $arg and not overload::Method($arg, "\"\"")
5091 3 158 28 @oldGroupOpts and $opt =~ /^Group/
5104 1 0 25 ref $arg eq "SCALAR" and $] >= "5.006"
1 25 0 ref $arg eq "SCALAR" and $] >= "5.006" and $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
5179 0 0 0 $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
5182 0 1 0 $tmp =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $tmp
5341 974 0 15 $tag =~ s/#$// and $options->{'PrintConv'}
5342 792 191 6 defined $tagHash->{$reqTag} and not $doDups
5375 734 0 255 defined $group and not $allGrp
5428 648 0 72 $exclude || @groupOptions and @$rtnTags
5453 27 0 34 $group and @matches
5461 0 1 44 $duplicates and not @groupOptions
5504 1035 0 0 $wantTag and $wantTag < $wanted
5605 38 1 0 $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
5606 39 0 0 defined $noWarn and eval { do { $str =~ /$noWarn/ } }
5610 94 0 0 defined $noWarn and eval { do { $str =~ /$noWarn/ } }
5648 0 0 528 $tagList and @$tagList
5666 8 1134 31 not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s
5677 0 0 0 $p2 and /(.+:)(.+)/
5707 0 0 0 $pre and /(.+:)(.+)/
5772 5661 0 0 $override and not defined $tagInfo->{'Override'}
5894 255949 1 3091 $tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'}
5986 1302 0 0 $Image::ExifTool::swapWords and length $_[0] == 8
6284 27500 76 3132 $isRational{$format} and $ratPt
6326 5318 11 1165 $from ne $to and length $val
6330 0 0 1165 $cs1 and $cs2
0 0 1165 $cs1 and $cs2 and not $cs2 & 2
6487 13014 0 463 defined $filter and defined $$valPt
6503 0 9 0 $self->Filter($filter, \$_) and $rtnVal = 1
6507 0 0 0 $self->Filter($filter, \$val{$_}) and $rtnVal = 1
6539 0 0 0 $maxLen > 2048 and $verbose < 5
6562 0 0 8 $shift =~ s/^([-+])// && $1 eq '-'
6570 0 0 0 $g and @matches
6575 0 1 0 not @matches and $self->{'TAGS_FROM_FILE'}
1 0 0 not @matches and $self->{'TAGS_FROM_FILE'} and $self->{'OPTIONS'}{'RequestTags'}
6608 0 0 5 @a and $a[-1] >= 1000
0 0 5 @a and $a[-1] >= 1000 and $a[-1] < 3000
0 0 5 @a and $a[-1] >= 1000 and $a[-1] < 3000 and eval { do { require POSIX } }
6625 0 0 0 $frac =~ s/^(\d)// and $1 ne 0
6649 0 0 0 not $tz and eval { do { require Time::Local } }
6651 0 0 0 $tz and $tz =~ /^[-+]\d{2}:\d{2}$/
6655 0 0 0 $fmt =~ /%s/ and eval { do { require Time::Local } }
6679 0 0 3 &IsFloat($val) and $val != 0
6684 1 0 2 $mult && $mult >= 60
6685 2 0 1 $val == 60 && $mult
6773 0 1062 7 $dec =~ s/^(\d)// and $1 eq 1
6820 47 122 5 $tzStr and $tzStr =~ /^(\.\d+)/
6831 4 306 0 $et and $et->{'OPTIONS'}{'ByteUnit'} eq "Binary"
6886 20 0 18 $bitrate >= 1000 and @units
6925 368 0 48 length $str > $lim and $lim >= 5
6972 0 0 585 $raf->Seek(-$offset, 2) and ($len = $raf->Tell) > 0
6975 0 0 585 $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
7110 0 0 7 $dataPos and $dirLen
7117 0 0 7 $raf->Seek($dataPos) and $raf->Read(${$$dirInfo{"OutFile"};}, $dirLen) == $dirLen
7149 1 0 211 $result > 0 and $dirLen
7151 0 27 184 $dataPos and $self->{'TrailerStart'}
27 155 29 $dataPos and $self->{'TrailerStart'} and $dataPos <= $self->{'TrailerStart'}
7219 0 0 1180 $markerName and $markerName =~ /^([A-Z]+)\d+$/
7271 7 2 242 $self->{'FILE_TYPE'} =~ /^(JPEG|JP2)$/ and not $self->{'DOC_NUM'}
7276 0 0 251 $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
7279 0 0 0 $optionalTagTable and $s =~ /^\xff[\xe0-\xef]/
7283 0 0 2 $raf->Read($s, 5) == 5 and $s eq "Exiv2"
7288 209 42 0 $options->{'RequestAll'} and $options->{'RequestAll'} > 2
7291 6 2 0 $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
7299 250 0 0 $htmlDump and not $optionalTagTable
7318 271 1946 0 $marker and $marker < 0
7327 271 1945 1 $marker and $marker == 217 || $marker == 218 && !$wantTrailer && !$hash || $marker == 147
7347 271 0 0 $hash and defined $marker
271 0 0 $hash and defined $marker and $marker == 0 || $marker == 218 || $marker >= 208 && $marker <= 215
7351 0 0 1675 defined $len and $len >= 2
7360 0 0 0 defined $len and $len >= 4
7386 1946 0 0 $skipped and not $foundSOS
1946 0 0 $skipped and not $foundSOS and $markerName ne "SOS"
7397 1449 250 247 ($marker & 240) == 192 and $marker == 192 || $marker & 3
1180 0 248 $marker == 219 and length $$segDataPt
1180 248 0 $marker == 219 and length $$segDataPt and $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
7416 0 0 247 $n == 3 and $length >= 15
7436 0 0 247 $hmin and $vmin
7446 23 0 0 $htmlDump and $dumpEnd
7481 0 0 0 $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
7486 0 0 0 $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
7503 0 0 0 $start and $start ne $actual
0 0 0 $start and $start ne $actual and $verbose > 1
7512 0 0 0 $self->{'PreviewError'} and $self->{'PreviewImageLength'}
7513 0 0 0 $raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'})
7607 217 0 29 $trailInfo and $verbose < 3
217 0 29 $trailInfo and $verbose < 3 and not $htmlDump
7612 246 0 0 $wantTrailer and $self->{'PreviewImageStart'}
7616 0 0 0 $raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4
0 0 0 $raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4 and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/
7625 246 0 0 $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'}
0 0 0 $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'} and $options->{'Validate'} || $req->{'hiddendata'}
7645 1 0 0 $hash and $self->{'FILE_TYPE'} eq "JP2"
7654 0 0 0 $verbose and $marker
7655 0 0 0 $verbose < 4 and ($marker & 248) == 208
7727 72 0 1 $$segDataPt =~ /^FLIR\0/ and $length >= 8
7752 180 23 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/
7773 0 0 0 $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/
203 0 0 $self->{'Make'} eq "vivo" and not $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/
203 0 0 $self->{'Make'} eq "vivo" and not $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/ and $$dataPt =~ /(filter: .*?; \n)\0/gs
7790 12 4 0 not $plen and $self->{'PreviewError'}
7794 187 4 12 $start and $plen
191 0 12 $start and $plen and &IsInt($start)
4 0 12 $start and $plen and &IsInt($start) and &IsInt($plen)
0 12 0 $start and $plen and &IsInt($start) and &IsInt($plen) and $start + $plen > $self->{'EXIF_POS'} + length($self->{'EXIF_DATA'})
12 0 0 $start and $plen and &IsInt($start) and &IsInt($plen) and $start + $plen > $self->{'EXIF_POS'} + length($self->{'EXIF_DATA'}) and $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'}
7867 0 1 0 defined $_ and $flir .= $_
7898 0 72 0 $processed and not $start
7902 72 0 0 $verbose and not $processed
7907 87 0 34 $$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14
7932 34 34 0 defined $_ and $icc_profile .= $_
7954 2 19 46 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
7986 121 0 0 $preview and $nextMarker ne $marker
8037 21 0 0 $preview and $nextMarker ne 228
8042 1 0 0 $$segDataPt =~ /^SCALADO\0/ and $length >= 16
1 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^\xaa\x55\x12\x06/
1 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^(.{32})?.{32}\x2c\x01\x20\0/s
1 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^.{32}\xaa\x55\x38\0/s
0 0 1 $self->{'HasIJPEG'} and $length >= 120
8071 0 0 0 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
8100 1 0 0 $preview and $nextMarker ne 229
8105 0 0 1 $self->{'HasIJPEG'} and $length >= 38
8131 2 0 0 $$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12
0 0 1 $self->{'HasIJPEG'} and $length >= 129
8170 0 0 1 $self->{'HasIJPEG'} and $length >= 32
8223 1 0 19 $$segDataPt =~ /^SPIFF\0/ and $length == 32
0 0 1 $self->{'HasIJPEG'} and $length >= 32
8239 1 0 19 $$segDataPt =~ /^Media Jukebox\0/ and $length > 22
0 0 1 $self->{'HasIJPEG'} and $length >= 768
8267 0 0 19 $$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16
8278 0 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /
8304 19 0 0 $len == 1 and length $$segDataPt >= 24
8312 19 0 0 defined $jumbfChunk{$type}[$seq] and length $jumbfChunk{$type}[$seq]
8359 47 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/
8388 29 1 15 $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
8401 0 0 19 $$segDataPt =~ /^Q\s*(\d+)/ and $length == 4
8435 1168 1 0 not $dumpType and $options->{'Unknown'} || $options->{'Validate'}
8449 250 0 0 $hashsize and $verbose
8530 38 6 411 $dataPt and length $$dataPt
8566 409 2 0 $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
8575 0 45 0 $dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS"
8599 210 286 0 $fileType eq "APP1" and $identifier != 42
8610 3 20 17 $identifier == 42 and $offset >= 16
20 0 3 $identifier == 85 and $fileType =~ /^(RAW|RW2|RWL|TIFF)$/
8627 0 0 3 $offset >= 24 and $raf->Read($magic, 16)
0 0 3 $offset >= 24 and $raf->Read($magic, 16) and $magic eq "\210\347t\330\370%\35M\224znw\202+]j"
8638 13 0 0 $byteOrder eq "II" and ($identifier & 255) == 188
8665 0 2 38 $fileType and not $self->{'VALUE'}{'FileType'}
8674 13 27 0 not $outfile and $self->{'OPTIONS'}{'FastScan'}
27 0 0 not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} > 2
8677 300 178 18 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/
8731 27 0 0 $self->{'HTML_DUMP'} and $self->{'KnownTrailer'}
8740 368 0 2 $self->{'DNGVersion'} and $self->{'FILE_TYPE'} eq "TIFF"
368 2 0 $self->{'DNGVersion'} and $self->{'FILE_TYPE'} eq "TIFF" and not $self->{'FileType'} =~ /^(DNG|GPR)$/
8744 360 0 0 $self->{'TIFF_TYPE'} eq "NRW" and $self->{'VALUE'}{'NEFLinearizationTable'}
8750 370 0 0 $self->{'ImageDataHash'} and $self->{'A100DataOffset'}
0 0 0 $self->{'ImageDataHash'} and $self->{'A100DataOffset'} and $raf->Seek($self->{'A100DataOffset'}, 0)
8795 5 0 0 $pi and $pi->{'Fixup'}
8797 117 0 0 $self->{'TIFF_TYPE'} eq "ARW" and not $err
8810 113 0 10 ref $dirInfo{'ImageData'} and not $err
8820 113 1 12 $raf and $tiffEnd
114 0 12 $raf and $tiffEnd and not $err
8845 8 3 1 $extra > 0 and $tiffEnd & 1
8848 0 0 1 defined $buf and $buf eq "\0"
8852 3 0 0 $self->{'DEL_GROUP'}{'Trailer'} and not $known
8892 0 0 1 $ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.7"
8960 1424 2405 996 $defaultGroups->{'0'} and $defaultGroups->{'1'}
8992 4192 631 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
631 0 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite
9007 96125 0 1415 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'}
96125 1273 142 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined
1273 142 0 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
9028 0 0 5230 $tagTablePtr and $dirInfo
9040 200 561 4469 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'}
761 4468 1 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
9045 4420 0 0 $self->{'PROCESSED'}{$addr} and not $dirInfo->{'NotDup'}
9048 0 0 0 $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
9050 4054 366 0 $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'ALLOW_REPROCESS'}
9089 93 49 1897 $filename and $filename =~ /^.*\.([^.]+)$/s
9146 7663 5925 695 $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
9158 105453 987 2241 $tagInfo->{'Unknown'} and not $options->{'Unknown'}
106440 199 2042 $tagInfo->{'Unknown'} and not $options->{'Unknown'} and !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'}
199 85 1957 $tagInfo->{'Unknown'} and not $options->{'Unknown'} and !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'} and not $options->{'Verbose'} || $self->{'HTML_DUMP'} || $options->{'Validate'} && !$tagInfo->{'AddedUnknown'}
9169 0 4500 866 not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'}
4500 137 729 not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'} and $tagID =~ /^\d+$/
4637 140 589 not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}
9228 5485 1 1744 defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'}
9249 7163 0 0 $purgeFlag and $tagInfo->{'Unknown'}
0 0 0 $purgeFlag and $tagInfo->{'Unknown'} and not $tagInfo->{'SubDirectory'}
9277 7576 2195 0 not $tagInfo and defined $tagInfo
9771 0 0 not $tagInfo and defined $tagInfo and $dataPt
9303 890 0 578 $subdir and not $tagInfo->{'Writable'}
890 0 578 $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
9309 0 0 890 $start >= 0 and $start + $size <= $dLen
9311 107 452 331 not $format and $pfmt
559 0 331 not $format and $pfmt and $formatSize{$pfmt}
9341 741 12 0 $tagInfo->{'MakerNotes'} and $self->{'OPTIONS'}{'FastScan'}
12 0 0 $tagInfo->{'MakerNotes'} and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} > 1
9346 752 0 1 $tagInfo->{'RawConv'} and not $tagInfo->{'Writable'}
9396 0 0 1 $num & 65280 and $num >> 8 > ($num & 255)
9450 2099 53007 55 not defined $priority and $tagInfo->{'Avoid'}
9465 8090 0 1840 ref $value eq "HASH" and $tagInfo->{'IsComposite'}
9531 603 3251 411 $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
9534 96 159 1879 not $priority and $self->{'DIR_NAME'}
159 1839 40 not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
9542 2388 519 3492 $priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
1001 53 2957 $priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'} and not $noListDel
9594 56749 116 1231 $tagInfo->{'List'} and not $self->{'NO_LIST'}
56865 65 1166 $tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel
9601 57861 22 213 $options->{'Validate'} and not ref $value
9670 627 0 49 $self->{'FileType'} and not $self->{'DOC_NUM'}
9675 44 308 275 defined $ext and $ext ne $fileType
352 0 275 defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'}
9677 15 247 13 ref $f eq "ARRAY" and ref $e eq "ARRAY"
262 3 10 ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0]
9704 0 6 12 defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'}
9749 12495 0 4 $self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level
9773 11 22 11 $byteOrder and $self->{'OPTIONS'}{'Verbose'} > 2
9787 1666 0 0 $verbose and $verbose > 2
9828 9 0 34 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'}
9 2 32 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'} and not $options->{'Validate'}
2 0 32 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'} and not $options->{'Validate'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag}
9835 0 5 10 $self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length
9839 0 5 0 $isPreview and not $self->{'BuildingComposite'}
9879 2224 0 0 $unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}
9906 0 0 0 $topIndex and $$tagTablePtr{$index - $topIndex}
9924 17384 262 0 $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
9976 0 0 0 $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
10033 367 2 0 $varSize != $oldVarSize and $verbose > 2
10051 17341 0 0 $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
10053 17157 0 184 defined $val and not $tagInfo->{'SubDirectory'}
10059 17143 0 198 $verbose and not $tagInfo->{'Hidden'}
10084 2 0 12 $tagInfo->{'Format'} and $formatSize{$format}
10089 0 0 2 $subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
10111 0 0 0 $len and $len <= $dataLen - $start
10130 17289 0 38 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3

or 2 conditions

line l !l condition
2339 508 0 ref $that || $that || 'Image::ExifTool'
2716 2 550 $options->{'FastScan'} || 0
2718 61 491 $options->{'RequestAll'} || 0
3082 0 3 &GetFileType($realname) || ''
3150 0 0 $self->{'FIRST_EXIF_POS'} || 0
3256 2 35 $nonVal{$_} || 0
3280 714 0 $self->{'REQUESTED_TAGS'} || []
3361 0 436 $1 || 0
3440 0 0 $self->{'DUPL_TAG'}{$tg} || 0
3752 254 9 $desc = $desc->{'Description'} or last
3758 0 0 $desc = $desc->{'Description'} or last
3799 74807 0 $self->{'TAG_INFO'}{$tag} || {}
3800 74807 0 $self->{'TAG_EXTRA'}{$tag} || {}
3806 39174 0 $tagInfo->{'Table'} || {'GROUPS', {}}
3811 109805 0 $tagTablePtr->{'GROUPS'}{$_} || ''
3859 255 96771 defined $groups[$_] or $groups[$_] = ""
3863 30783 0 $groups[$family] || ''
3868 0 42 $1 || '1'
3979 37978 6114 $tagInfo->{'Require'} || {}
3980 19305 24787 $tagInfo->{'Desire'} || {}
3981 2719 41373 $tagInfo->{'Inhibit'} || {}
3999 0 0 $2 || 0
4009 0 304 $self->{'DUPL_TAG'}{$reqTag} || 0
4017 0 0 $self->{'TAG_EXTRA'}{$_}{'G3'} or 0
4041 536 27284 $et->{'DUPL_TAG'}{$name} || 0
4367 0 0 shift() || 0
4814 0 0 $self->{'OPTIONS'}{'CharsetFileName'} || 'UTF8'
4934 0 0 eval { do { Win32API::File::FILE_ATTRIBUTE_DIRECTORY() } } || 0
5287 8 0 $et->{'TAG_EXTRA'}{$tag} || {}
5288 8 0 $et->{'FILE_ORDER'}{$tag} || 0
5306 720 0 $self->{'REQUESTED_TAGS'} || []
5386 0 0 $et->{'PRIORITY'}{$tag} || 1
5392 0 0 $priority || 1
5470 20 9 $1 || 0
5778 0 364 $tagInfo->{'Override'} || 0
0 364 $$compTable{$compositeID{$tagID}[0]}{'Override'} || 0
6766 0 1057 $Image::ExifTool::static_vars{'SystemTimeRes'} || 0
7024 0 78 $dirInfo->{'Offset'} || 0
7255 2 249 $options->{'FastScan'} || 0
7564 2 0 $self->{'VALUE'}{'HasExtendedXMP'} || ''
7566 2 0 $options->{'ExtendedXMP'} || 0
8523 446 56 $dirInfo->{'Parent'} || ''
8525 378 124 $dirInfo->{'Base'} || 0
8559 373 38 $dirInfo->{'DirStart'} || 0
9030 3747 1054 $tagTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::Exif::ProcessExif
9044 2905 1515 $dirInfo->{'Base'} || 0
9278 0 0 $parms{'Start'} || 0
9304 873 17 $parms{'Start'} || 0
9334 0 0 $parms{'Size'} || 0
0 0 $formatSize{$format} || 1
9514 1784 4615 $self->{'DUPL_TAG'}{$tag} || 0
9693 624 3 $mimeType || 'application/unknown'
9860 1373 851 $dirInfo->{'DirStart'} || 0
9863 1143 1081 $dirInfo->{'Base'} || 0
9866 863 1361 $dirInfo->{'DataPos'} || 0
9870 1441 783 $tagTablePtr->{'FORMAT'} || 'int8u'
9968 0 0 $formatSize{$format} || 1
10045 0 0 $formatSize{$format} || 1
10061 198 0 $formatSize{$format} || 1
10102 0 14 $subdir->{'Start'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
2433 0 0 59 $param eq 'Compact' || $param eq 'XMPShorthand'
2439 363 1 5687 $param =~ /^Charset/ or $param eq "IPTCCharset"
0 1 5317 $param eq "Compact" or $param eq "XMPShorthand"
59 59 4963 $param eq "KeepUTCTime" or $param eq "SystemTimeRes"
2469 60 59 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName"
119 0 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName" or $param eq "CharsetRIFF"
2516 0 0 0 length $newVal or $force
2722 2 0 0 ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB'
2739 11 0 539 defined $_[0] or $options->{'HtmlDump'}
0 1 538 defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'}
2768 0 61 489 $req->{'now'} or $reqAll
2769 0 61 489 $req->{'newguid'} or $reqAll
2771 0 61 489 $req->{'filesequence'} or $reqAll
2773 0 61 489 $req->{'processingtime'} or $reqAll
2812 0 206 299 $req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2818 0 206 299 $req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2855 0 0 505 $filename eq "-" or $filename =~ /\|$/
2869 552 0 0 $raf or $isDir
2911 0 61 464 $options->{'SystemTags'} || $reqAll && !defined($options->{'SystemTags'})
2912 61 0 464 $sys or $req->{'fileattributes'}
2930 61 0 464 $sys or $req->{'filedevicenumber'}
2931 61 0 464 $sys or $req->{'fileinodenumber'}
2932 61 0 464 $sys or $req->{'filehardlinks'}
2933 61 0 464 $sys or $req->{'fileuserid'}
2934 61 0 464 $sys or $req->{'filegroupid'}
2935 61 0 464 $sys or $req->{'filedeviceid'}
2936 61 0 464 $sys or $req->{'fileblocksize'}
2937 61 0 464 $sys or $req->{'fileblockcount'}
2941 0 0 0 $reqAll > 1 || $req->{'macos:'}
2942 0 0 0 $reqMacOS || $req->{'filecreatedate'}
2943 0 0 0 $reqMacOS || $options->{'MDItemTags'} || grep(/^mditem/, keys %$req)
2944 0 0 0 $reqMacOS || $options->{'XAttrTags'} || grep(/^xattr/, keys %$req)
2945 0 0 0 $crDate or $mdItem
0 0 0 $crDate or $mdItem or $xattr
2953 0 0 552 $isDir or defined $stat[2] and ($stat[2] & 61440) == 16384
3013 554 2 1745 $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
3039 0 0 0 !$ext || $ext ne $type
3078 0 549 3 $err or defined $type
549 0 3 $err or defined $type or $self->{'DOC_NUM'}
3087 0 0 0 length $buff < 16 or $buff =~ /[^\Q$ch\E]/
3135 1 95 159 $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
3209 3 0 549 not defined $type or exists $self->{'VALUE'}{'Error'}
3310 7 0 3 @$reqTags or $sort and $sort ne "Input"
3351 0 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3358 0 0 439 $sort eq "Tag" or $sort eq "Alpha"
3375 0 0 436 $sort2 eq "Tag" or $sort2 eq "Alpha"
3403 1 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3581 7811 9424 385 defined $val[$_] or not $tagInfo->{'Require'}{$_}
3729 25 23518 465 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3819 0 0 0 $ex->{'G0'} || $groups->{'0'}
3825 182 69615 0 $$ex{"G$family"} || $groups->{$family}
69455 342 30783 $family == 0 or $family == 2
3829 0 380 0 $ex->{'G0'} || $groups->{'0'}
3839 218 37 0 $ex->{'G5'} || $groups[1]
3850 105 47424 984 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3988 50322 2026 9508 $require->{$index} || $desire->{$index} || $inhibit->{$index}
4020 0 304 0 $cacheTag->[$doc] || "$reqTag (0)"
4050 2162 25658 0 $key || "$name (0)"
4223 955 0 0 !defined($desc) || $desc ne '0'
4231 0 0 0 $fileDescription{$file} || $file
4262 0 0 0 &GetFileExtension($file) || uc $file
4266 0 0 0 &GetFileExtension($file) || uc $file
4283 0 24 0 &GetFileExtension($file) || uc $file
4285 24 0 0 $createTypes{$ext} or $createTypes{$type}
4425 0 0 0 $digest eq "d41d8cd98f00b204e9800998ecf8427e" or $digest eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
0 0 0 $digest eq "d41d8cd98f00b204e9800998ecf8427e" or $digest eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" or $digest eq "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
4512 4 0 0 @$cities < 2 || $dist || !$self->Warn('Multiple Geolocation cities are possible', 2)
4554 539 1 0 !$opts->{'FastScan'} || $opts->{'FastScan'} < 5
4661 44 1 153 $ch < 194 or $ch >= 248
4681 0 0 77 $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160
0 0 77 $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160 or $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
4686 0 0 75 $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143
0 0 75 $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
4740 0 0 1198 $hasSpecialChars or $force
0 0 1198 $hasSpecialChars or $force or $self->{'OPTIONS'}{'WindowsLongPath'}
0 0 1198 $hasSpecialChars or $force or $self->{'OPTIONS'}{'WindowsLongPath'} or $self->{'OPTIONS'}{'WindowsWideFile'}
4787 0 0 0 not length $path or $path =~ m([:./\\]$)
4858 0 0 0 $mode eq ">" or $mode eq ">>"
4884 0 0 0 not defined $fd or $fd < 0
5078 25 1 19 ref $arg eq "SCALAR" or UNIVERSAL::isa($arg, "GLOB")
5104 0 0 25 $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
5109 0 0 0 $self->{'OPTIONS'}{'EncodeHangs'} || $@
5148 45 0 680 @exclude or $wasExcludeOpt
5218 0 0 18951 $grp eq "*" or $grp eq "all"
5251 1 5 67 @$list1 or @$list2
5313 708 6 6 $duplicates || $exclude || @groupOptions
5331 6 0 0 $self->{'ALT_EXIFTOOL'}{$g8} || $self
5342 739 9 62 $doDups or defined $group
5346 163 0 1 $doDups or $allGrp
5358 9 0 0 $doDups or $allGrp
5378 193 42 20 @matches or not $allTag
5384 161 1 0 $doDups or $allTag
162 0 0 $doDups or $allTag or $allGrp
5428 45 27 648 $exclude || @groupOptions
5518 0 0 0 not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
5668 10 13 8 $post =~ /^[-+]?>/ or not $post =~ /\$/
5702 1 0 16 length $pre or length $post
1 0 16 length $pre or length $post or $v
6173 0 0 16141 $pack1d eq "\000\000\cO\363\000\000\000\000" || $pack1d eq "\000\000\360?\000\000\000\000"
6274 8 21 1388 defined $count or $size < $len
6332 732 93 340 ($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/
6395 74 0 134 $$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s
74 10 124 $$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors")
6434 0 1 39040 length $name < 2 or $name =~ /^[-0-9]/
6976 26 0 426 $buff =~ /~\0\x04\0zmie~\0\0\x06.{4}[\x10\x18]\x04$/s or $buff =~ /~\0\x04\0zmie~\0\0\x0a.{8}[\x10\x18]\x08$/s
7046 47 185 0 {'Insta360', 'QuickTimeStream.pl', 'NikonApp', 'Nikon.pm', 'Vivo', 'Trailer.pm', 'OnePlus', 'Trailer.pm', 'Google', 'Trailer.pm'}->{$dirName} || "$dirName.pm"
7110 0 0 7 $self->{'DEL_GROUP'}{'Trailer'} or $self->{'DEL_GROUP'}{$dirName}
7291 243 0 8 not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
7327 247 1 1675 $marker == 217 || $marker == 218 && !$wantTrailer && !$hash || $marker == 147
7347 0 0 0 $marker == 0 || $marker == 218 || $marker >= 208 && $marker <= 215
7397 247 0 250 $marker == 192 || $marker & 3
0 0 247 $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
7406 0 0 247 $length < 6 or $gotSize
7451 21 2 0 $foundSOS or $self->{'FILE_TYPE'} eq "EXV"
7473 0 0 0 $start or $options->{'ExtractEmbedded'}
7481 0 0 0 $buff =~ /\xff\xd8\xff./g or $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
7540 1 0 22 $verbose or $htmlDump
7582 2 0 0 $guid eq $readGuid or $readGuid eq 2
7625 0 0 0 $options->{'Validate'} || $req->{'hiddendata'}
0 0 246 $options->{'ExtractEmbedded'} or $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'} and $options->{'Validate'} || $req->{'hiddendata'}
7634 20 0 226 $trailInfo or $wantTrailer
20 1 225 $trailInfo or $wantTrailer or $verbose > 2
1 0 225 $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
7637 0 0 226 $options->{'Validate'} or $calcImageLen
0 0 226 $options->{'Validate'} or $calcImageLen or $req->{'trailer'}
0 0 226 $options->{'Validate'} or $calcImageLen or $req->{'trailer'} or $hash
7650 0 0 1 $verbose > 2 or $htmlDump
7790 187 0 16 not $start or not $plen and $self->{'PreviewError'}
7794 0 0 0 $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'}
7889 72 0 0 $$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/
7991 1 0 0 $self->{'HasIJPEG'} or $self->{'Make'} eq "DJI"
8350 66 0 19 $$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1
8388 0 34 11 $req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
8417 0 0 2 $reg == 0 || $reg == 65535
8435 0 0 1 $options->{'Unknown'} || $options->{'Validate'}
8545 0 0 1 $n or not $outfile
0 0 1 $n or not $outfile or $fileType ne "EXIF"
8560 357 54 0 $dirInfo->{'DirLen'} || length($$dataPt) - $dirStart
8561 411 0 0 $dirLen > 0 or not $outfile
8638 0 0 13 $identifier == 20306 or $identifier == 21330
8667 38 0 0 ref $lookup or not $lookup
8670 37 0 1 $baseType eq 'TIFF' || $fileType =~ /RAW/
8678 243 177 76 not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq "EXIF"
8784 0 1 122 $fileType eq "ORF" or $identifier != 42
8870 0 0 0 &Write($outfile, scalar "\0" x ($extra - $size)) or $err = 1, last
8872 0 0 0 &CopyBlock($raf, $outfile, $size - $n) or $err = 1
8883 0 0 0 $self->WriteTrailerBuffer($trailInfo, $outfile) or $err = 1
8886 2 0 0 &Write($outfile, $$trailPt) or $err = 1
8970 548 1 4276 $defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'}
8982 784 3907 0 $tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/
9040 4419 1 49 $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
9158 1998 44 199 !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'}
0 4 1957 $options->{'Verbose'} || $self->{'HTML_DUMP'} || $options->{'Validate'} && !$tagInfo->{'AddedUnknown'}
9169 38 0 4500 $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'}
9237 6714 2 514 defined $tagInfo->{'Name'} or $noPrefix
6716 0 514 defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'}
9243 13 0 7217 length $name < 2 or not $name =~ /^[A-Z]/i
9247 67 0 7163 defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID}
9272 1611 5965 2195 $parms{'TagInfo'} || $self->GetTagInfo($tagTablePtr, $tag, $valPt, $pfmt, $parms{'Count'})
9294 0 0 0 length $name < 2 or $name =~ /^[-0-9]/
9303 6108 1393 75 defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
9310 82 25 783 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'}
9389 165 588 0 $subdir->{'DirName'} || $tagInfo->{'Name'}
9402 753 0 0 &GetTagTable($subdir->{'TagTable'}) || $tagTablePtr
9403 59 35 659 $subdir->{'ProcessProc'} || $parms{'ProcessProc'}
9456 0 0 0 $grps[$_] || $tagInfo->{'Groups'}{$_} || $tagInfo->{'Table'}{'GROUPS'}{$_}
9457 0 0 0 $options->{'IgnoreGroups'}{$g} or $options->{'IgnoreGroups'}{"$_$g"}
9524 1041 15 4352 $self->{'DOC_NUM'} or $tag eq "Warning"
1056 4317 35 $self->{'DOC_NUM'} or $tag eq "Warning" or not $self->{'TAG_EXTRA'}{$tag}{'G3'}
9531 0 0 4265 $self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
9542 2992 500 519 !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
9679 4 0 6 $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
9684 606 0 21 $mimeType or $baseType eq "TIFF"
9729 8 0 0 $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
9767 0 0 0 $name->{'Name'} || $name->{'DirName'}
9771 22 0 22 $entries || defined $entries && !$size
9828 34 0 9 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag}
9868 33 0 2191 not defined $size or $size > $maxLen
9924 1 0 261 $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
9983 2 168 14 $format eq "pstr32" or $format eq "ustr32"
10011 0 0 184 not defined $count or $count > $more
10015 0 168 13 $format eq "ustring" or $format eq "ustr32"
10060 198 0 0 not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}
10109 0 0 0 $start < $dirStart or $start > $dataLen

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
4071 1 1 72 37010 $requireAlt xor $altOnly
5255 0 150 0 79 $exclude->{$tag} xor $inv
5265 1019 283 3486 2162 $exclude->{$_} xor $inv