<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>38503</bug_id>
          
          <creation_ts>2004-01-17 05:33 0000</creation_ts>
          <short_desc>jpegtran, included in the jpeg-6b ebuilds, kills EXIF data</short_desc>
          <delta_ts>2005-09-06 15:37:35 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>ajs@pigpond.com</reporter>
          <assigned_to>graphics@gentoo.org</assigned_to>
          <cc>jakub@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>ajs@pigpond.com</who>
            <bug_when>2004-01-17 05:33:48 0000</bug_when>
            <thetext>The jpegtran utility is used to perform lossless transformations of JPEG files. Many digital cameras now include EXIF data in the JPEG files they create. Unfortunately the jpegtran utility does not preserve the location of the EXIF data, which causes some applications (apparently) to fail.

This problem, and an appropriate fix, is described in further detail at &lt;http://sylvana.net/jpegcrop/exifpatch.html&gt;.

I&apos;ve modified the ebuild to apply that patch given at that page. In addition, I&apos;ve altered it to build the &apos;jpegexiforient&apos; program also supplied at that page. This allows for querying and setting the EXIF orientation tag, useful for auto-rotating images captured from cameras which set this tag.

I&apos;ll attach the ebuild files to subsequent comments since the initial bugreport form doesn&apos;t allow attachments.

Cheers,

 - Andrew</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ajs@pigpond.com</who>
            <bug_when>2004-01-17 05:50:36 0000</bug_when>
            <thetext>Created an attachment (id=23967)
Revised ebuild for jpeg-6b

This is the revised ebuild for jpeg-6b. It applies a patch for jpegtran, and
also ensures the jpegexiforient utility is built.

 - Andrew</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ajs@pigpond.com</who>
            <bug_when>2004-01-17 05:52:28 0000</bug_when>
            <thetext>Created an attachment (id=23968)
Patch for jpeg-6b jpegtran utility

This patch should be dropped into the files/ directory for the ebuild to ensure
it gets applied. It alters jpegtran such that if the input file has EXIF data,
the output file will have the EXIF data in the correct location within the
file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ajs@pigpond.com</who>
            <bug_when>2004-01-17 05:53:48 0000</bug_when>
            <thetext>Created an attachment (id=23969)
Code for jpegexiforient utility for querying and setting EXIF orientation tags

This file should be dropped in the files/ directory for the ebuild. It will
then be copied into the source directory and compiled/installed as is
appropriate.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-07-27 15:57:43 0000</bug_when>
            <thetext>What&apos;s the status here? This bug is 1 1/2 year old...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-09-06 15:37:35 0000</bug_when>
            <thetext>fixed in jpeg-6b-r6</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23967</attachid>
            <date>2004-01-17 05:50 0000</date>
            <desc>Revised ebuild for jpeg-6b</desc>
            <filename>jpeg-6b-r4.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDAzIEdlbnRvbyBUZWNobm9sb2dpZXMsIEluYy4KIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYy
CiMgJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC9nZW50b28teDg2L21lZGlhLWxpYnMvanBlZy9qcGVn
LTZiLXIzLmVidWlsZCx2IDEuMTcgMjAwMy8xMS8xNiAxNDo0MjowNCBtaG9semVyIEV4cCAkCgpp
bmhlcml0IGdudWNvbmZpZyBmbGFnLW8tbWF0aWMKCk1ZX1A9JHtQTn1zcmMudiR7UFZ9CkRFU0NS
SVBUSU9OPSJMaWJyYXJ5IHRvIGxvYWQsIGhhbmRsZSBhbmQgbWFuaXB1bGF0ZSBpbWFnZXMgaW4g
dGhlIEpQRUcgZm9ybWF0IgpTUkNfVVJJPSJmdHA6Ly9mdHAudXUubmV0L2dyYXBoaWNzL2pwZWcv
JHtNWV9QfS50YXIuZ3oiCkhPTUVQQUdFPSJodHRwOi8vd3d3LmlqZy5vcmcvIgoKU0xPVD0iMCIK
TElDRU5TRT0iYXMtaXMiCktFWVdPUkRTPSJ4ODYgcHBjIHNwYXJjIGFscGhhIGhwcGEgYXJtIGFt
ZDY0IGlhNjQiCgpERVBFTkQ9InZpcnR1YWwvZ2xpYmMiCgpyZXBsYWNlLWZsYWdzIGs2LTMgaTU4
NgpyZXBsYWNlLWZsYWdzIGs2LTIgaTU4NgpyZXBsYWNlLWZsYWdzIGs2IGk1ODYKCnNyY191bnBh
Y2soKSB7Cgl1bnBhY2sgJHtBfQoJZXBhdGNoICR7RklMRVNESVJ9L2pwZWctNmItZXhpZi5wYXRj
aAoJY3AgJHtGSUxFU0RJUn0vanBlZ2V4aWZvcmllbnQuYyAke1N9CgoJIyBhbGxvdyAvZXRjL21h
a2UuY29uZidzIEhPU1Qgc2V0dGluZyB0byBhcHBseQoJY2QgJHtTfQoJY3AgY29uZmlndXJlIGNv
bmZpZ3VyZS5vcmlnCglzZWQgJ3MvbHRjb25maWcuKi8mICRDSE9TVC8nIGNvbmZpZ3VyZS5vcmln
ID4gY29uZmlndXJlCgl1c2UgYWxwaGEgJiYgZ251Y29uZmlnX3VwZGF0ZQoJdXNlIGhwcGEgJiYg
Z251Y29uZmlnX3VwZGF0ZQoJdXNlIGFtZDY0ICYmIGdudWNvbmZpZ191cGRhdGUKCXVzZSBpYTY0
ICYmIGdudWNvbmZpZ191cGRhdGUKfQoKc3JjX2NvbXBpbGUoKSB7CgllY29uZiAtLWVuYWJsZS1z
aGFyZWQgLS1lbmFibGUtc3RhdGljCgoJbWFrZSAmJiBnY2MgJHtDRkxBR1N9IC1vIGpwZWdleGlm
b3JpZW50IGpwZWdleGlmb3JpZW50LmMgfHwgZGllCn0KCnNyY19pbnN0YWxsKCkgewoJZG9kaXIg
L3Vzci97aW5jbHVkZSxsaWIsYmluLHNoYXJlL21hbi9tYW4xfQoJbWFrZSBcCgkJcHJlZml4PSR7
RH0vdXNyIFwKCQltYW5kaXI9JHtEfS91c3Ivc2hhcmUvbWFuL21hbjEgXAoJCWluc3RhbGwgJiYg
ZG9iaW4ganBlZ2V4aWZvcmllbnQgfHwgZGllCgoJZG9kb2MgUkVBRE1FIGluc3RhbGwuZG9jIHVz
YWdlLmRvYyB3aXphcmQuZG9jIGNoYW5nZS5sb2cgXAoJCWxpYmpwZWcuZG9jIGV4YW1wbGUuYyBz
dHJ1Y3R1cmUuZG9jIGZpbGVsaXN0LmRvYyBcCgkJY29kZXJ1bGVzLmRvYwp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23968</attachid>
            <date>2004-01-17 05:52 0000</date>
            <desc>Patch for jpeg-6b jpegtran utility</desc>
            <filename>jpeg-6b-exif.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXJOIGpwZWctNmIvdHJhbnN1cHAuYyBqcGVnLTZiLWV4aWYvdHJhbnN1cHAuYwotLS0g
anBlZy02Yi90cmFuc3VwcC5jCTE5OTctMDgtMTAgMDI6MTU6MjYuMDAwMDAwMDAwICswMjAwCisr
KyBqcGVnLTZiLWV4aWYvdHJhbnN1cHAuYwkyMDAxLTAxLTA4IDAwOjI1OjM2LjAwMDAwMDAwMCAr
MDEwMApAQCAtNzE3LDYgKzcxNywxNjIgQEAKIH0KIAogCisvKiBBZGp1c3QgRXhpZiBpbWFnZSBw
YXJhbWV0ZXJzLgorICoKKyAqIFdlIHRyeSB0byBhZGp1c3QgdGhlIFRhZ3MgRXhpZkltYWdlV2lk
dGggYW5kIEV4aWZJbWFnZUhlaWdodCBpZiBwb3NzaWJsZS4KKyAqLworCitMT0NBTCh2b2lkKQor
YWRqdXN0X2V4aWZfcGFyYW1ldGVycyAoSk9DVEVUIEZBUiAqIGRhdGEsIHVuc2lnbmVkIGludCBs
ZW5ndGgsCisJCQlKRElNRU5TSU9OIG5ld193aWR0aCwgSkRJTUVOU0lPTiBuZXdfaGVpZ2h0KQor
eworICBib29sZWFuIGlzX21vdG9yb2xhOyAvKiBGbGFnIGZvciBieXRlIG9yZGVyICovCisgIHVu
c2lnbmVkIGludCBudW1iZXJfb2ZfdGFncywgdGFnbnVtOworICB1bnNpZ25lZCBpbnQgZmlyc3Rv
ZmZzZXQsIG9mZnNldDsKKyAgSkRJTUVOU0lPTiBuZXdfdmFsdWU7CisKKyAgaWYgKGxlbmd0aCA8
IDEyKSByZXR1cm47IC8qIExlbmd0aCBvZiBhbiBJRkQgZW50cnkgKi8KKworICAvKiBEaXNjb3Zl
ciBieXRlIG9yZGVyICovCisgIGlmIChHRVRKT0NURVQoZGF0YVswXSkgPT0gMHg0OSAmJiBHRVRK
T0NURVQoZGF0YVsxXSkgPT0gMHg0OSkKKyAgICBpc19tb3Rvcm9sYSA9IEZBTFNFOworICBlbHNl
IGlmIChHRVRKT0NURVQoZGF0YVswXSkgPT0gMHg0RCAmJiBHRVRKT0NURVQoZGF0YVsxXSkgPT0g
MHg0RCkKKyAgICBpc19tb3Rvcm9sYSA9IFRSVUU7CisgIGVsc2UKKyAgICByZXR1cm47CisKKyAg
LyogQ2hlY2sgVGFnIE1hcmsgKi8KKyAgaWYgKGlzX21vdG9yb2xhKSB7CisgICAgaWYgKEdFVEpP
Q1RFVChkYXRhWzJdKSAhPSAwKSByZXR1cm47CisgICAgaWYgKEdFVEpPQ1RFVChkYXRhWzNdKSAh
PSAweDJBKSByZXR1cm47CisgIH0gZWxzZSB7CisgICAgaWYgKEdFVEpPQ1RFVChkYXRhWzNdKSAh
PSAwKSByZXR1cm47CisgICAgaWYgKEdFVEpPQ1RFVChkYXRhWzJdKSAhPSAweDJBKSByZXR1cm47
CisgIH0KKworICAvKiBHZXQgZmlyc3QgSUZEIG9mZnNldCAob2Zmc2V0IHRvIElGRDApICovCisg
IGlmIChpc19tb3Rvcm9sYSkgeworICAgIGlmIChHRVRKT0NURVQoZGF0YVs0XSkgIT0gMCkgcmV0
dXJuOworICAgIGlmIChHRVRKT0NURVQoZGF0YVs1XSkgIT0gMCkgcmV0dXJuOworICAgIGZpcnN0
b2Zmc2V0ID0gR0VUSk9DVEVUKGRhdGFbNl0pOworICAgIGZpcnN0b2Zmc2V0IDw8PSA4OworICAg
IGZpcnN0b2Zmc2V0ICs9IEdFVEpPQ1RFVChkYXRhWzddKTsKKyAgfSBlbHNlIHsKKyAgICBpZiAo
R0VUSk9DVEVUKGRhdGFbN10pICE9IDApIHJldHVybjsKKyAgICBpZiAoR0VUSk9DVEVUKGRhdGFb
Nl0pICE9IDApIHJldHVybjsKKyAgICBmaXJzdG9mZnNldCA9IEdFVEpPQ1RFVChkYXRhWzVdKTsK
KyAgICBmaXJzdG9mZnNldCA8PD0gODsKKyAgICBmaXJzdG9mZnNldCArPSBHRVRKT0NURVQoZGF0
YVs0XSk7CisgIH0KKyAgaWYgKGZpcnN0b2Zmc2V0ID4gbGVuZ3RoIC0gMikgcmV0dXJuOyAvKiBj
aGVjayBlbmQgb2YgZGF0YSBzZWdtZW50ICovCisKKyAgLyogR2V0IHRoZSBudW1iZXIgb2YgZGly
ZWN0b3J5IGVudHJpZXMgY29udGFpbmVkIGluIHRoaXMgSUZEICovCisgIGlmIChpc19tb3Rvcm9s
YSkgeworICAgIG51bWJlcl9vZl90YWdzID0gR0VUSk9DVEVUKGRhdGFbZmlyc3RvZmZzZXRdKTsK
KyAgICBudW1iZXJfb2ZfdGFncyA8PD0gODsKKyAgICBudW1iZXJfb2ZfdGFncyArPSBHRVRKT0NU
RVQoZGF0YVtmaXJzdG9mZnNldCsxXSk7CisgIH0gZWxzZSB7CisgICAgbnVtYmVyX29mX3RhZ3Mg
PSBHRVRKT0NURVQoZGF0YVtmaXJzdG9mZnNldCsxXSk7CisgICAgbnVtYmVyX29mX3RhZ3MgPDw9
IDg7CisgICAgbnVtYmVyX29mX3RhZ3MgKz0gR0VUSk9DVEVUKGRhdGFbZmlyc3RvZmZzZXRdKTsK
KyAgfQorICBpZiAobnVtYmVyX29mX3RhZ3MgPT0gMCkgcmV0dXJuOworICBmaXJzdG9mZnNldCAr
PSAyOworCisgIC8qIFNlYXJjaCBmb3IgRXhpZlN1YklGRCBvZmZzZXQgVGFnIGluIElGRDAgKi8K
KyAgZm9yICg7OykgeworICAgIGlmIChmaXJzdG9mZnNldCA+IGxlbmd0aCAtIDEyKSByZXR1cm47
IC8qIGNoZWNrIGVuZCBvZiBkYXRhIHNlZ21lbnQgKi8KKyAgICAvKiBHZXQgVGFnIG51bWJlciAq
LworICAgIGlmIChpc19tb3Rvcm9sYSkgeworICAgICAgdGFnbnVtID0gR0VUSk9DVEVUKGRhdGFb
Zmlyc3RvZmZzZXRdKTsKKyAgICAgIHRhZ251bSA8PD0gODsKKyAgICAgIHRhZ251bSArPSBHRVRK
T0NURVQoZGF0YVtmaXJzdG9mZnNldCsxXSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHRhZ251bSA9
IEdFVEpPQ1RFVChkYXRhW2ZpcnN0b2Zmc2V0KzFdKTsKKyAgICAgIHRhZ251bSA8PD0gODsKKyAg
ICAgIHRhZ251bSArPSBHRVRKT0NURVQoZGF0YVtmaXJzdG9mZnNldF0pOworICAgIH0KKyAgICBp
ZiAodGFnbnVtID09IDB4ODc2OSkgYnJlYWs7IC8qIGZvdW5kIEV4aWZTdWJJRkQgb2Zmc2V0IFRh
ZyAqLworICAgIGlmICgtLW51bWJlcl9vZl90YWdzID09IDApIHJldHVybjsKKyAgICBmaXJzdG9m
ZnNldCArPSAxMjsKKyAgfQorCisgIC8qIEdldCB0aGUgRXhpZlN1YklGRCBvZmZzZXQgKi8KKyAg
aWYgKGlzX21vdG9yb2xhKSB7CisgICAgaWYgKEdFVEpPQ1RFVChkYXRhW2ZpcnN0b2Zmc2V0Kzhd
KSAhPSAwKSByZXR1cm47CisgICAgaWYgKEdFVEpPQ1RFVChkYXRhW2ZpcnN0b2Zmc2V0KzldKSAh
PSAwKSByZXR1cm47CisgICAgb2Zmc2V0ID0gR0VUSk9DVEVUKGRhdGFbZmlyc3RvZmZzZXQrMTBd
KTsKKyAgICBvZmZzZXQgPDw9IDg7CisgICAgb2Zmc2V0ICs9IEdFVEpPQ1RFVChkYXRhW2ZpcnN0
b2Zmc2V0KzExXSk7CisgIH0gZWxzZSB7CisgICAgaWYgKEdFVEpPQ1RFVChkYXRhW2ZpcnN0b2Zm
c2V0KzExXSkgIT0gMCkgcmV0dXJuOworICAgIGlmIChHRVRKT0NURVQoZGF0YVtmaXJzdG9mZnNl
dCsxMF0pICE9IDApIHJldHVybjsKKyAgICBvZmZzZXQgPSBHRVRKT0NURVQoZGF0YVtmaXJzdG9m
ZnNldCs5XSk7CisgICAgb2Zmc2V0IDw8PSA4OworICAgIG9mZnNldCArPSBHRVRKT0NURVQoZGF0
YVtmaXJzdG9mZnNldCs4XSk7CisgIH0KKyAgaWYgKG9mZnNldCA+IGxlbmd0aCAtIDIpIHJldHVy
bjsgLyogY2hlY2sgZW5kIG9mIGRhdGEgc2VnbWVudCAqLworCisgIC8qIEdldCB0aGUgbnVtYmVy
IG9mIGRpcmVjdG9yeSBlbnRyaWVzIGNvbnRhaW5lZCBpbiB0aGlzIFN1YklGRCAqLworICBpZiAo
aXNfbW90b3JvbGEpIHsKKyAgICBudW1iZXJfb2ZfdGFncyA9IEdFVEpPQ1RFVChkYXRhW29mZnNl
dF0pOworICAgIG51bWJlcl9vZl90YWdzIDw8PSA4OworICAgIG51bWJlcl9vZl90YWdzICs9IEdF
VEpPQ1RFVChkYXRhW29mZnNldCsxXSk7CisgIH0gZWxzZSB7CisgICAgbnVtYmVyX29mX3RhZ3Mg
PSBHRVRKT0NURVQoZGF0YVtvZmZzZXQrMV0pOworICAgIG51bWJlcl9vZl90YWdzIDw8PSA4Owor
ICAgIG51bWJlcl9vZl90YWdzICs9IEdFVEpPQ1RFVChkYXRhW29mZnNldF0pOworICB9CisgIGlm
IChudW1iZXJfb2ZfdGFncyA8IDIpIHJldHVybjsKKyAgb2Zmc2V0ICs9IDI7CisKKyAgLyogU2Vh
cmNoIGZvciBFeGlmSW1hZ2VXaWR0aCBhbmQgRXhpZkltYWdlSGVpZ2h0IFRhZ3MgaW4gdGhpcyBT
dWJJRkQgKi8KKyAgZG8geworICAgIGlmIChvZmZzZXQgPiBsZW5ndGggLSAxMikgcmV0dXJuOyAv
KiBjaGVjayBlbmQgb2YgZGF0YSBzZWdtZW50ICovCisgICAgLyogR2V0IFRhZyBudW1iZXIgKi8K
KyAgICBpZiAoaXNfbW90b3JvbGEpIHsKKyAgICAgIHRhZ251bSA9IEdFVEpPQ1RFVChkYXRhW29m
ZnNldF0pOworICAgICAgdGFnbnVtIDw8PSA4OworICAgICAgdGFnbnVtICs9IEdFVEpPQ1RFVChk
YXRhW29mZnNldCsxXSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHRhZ251bSA9IEdFVEpPQ1RFVChk
YXRhW29mZnNldCsxXSk7CisgICAgICB0YWdudW0gPDw9IDg7CisgICAgICB0YWdudW0gKz0gR0VU
Sk9DVEVUKGRhdGFbb2Zmc2V0XSk7CisgICAgfQorICAgIGlmICh0YWdudW0gPT0gMHhBMDAyIHx8
IHRhZ251bSA9PSAweEEwMDMpIHsKKyAgICAgIGlmICh0YWdudW0gPT0gMHhBMDAyKQorCW5ld192
YWx1ZSA9IG5ld193aWR0aDsgLyogRXhpZkltYWdlV2lkdGggVGFnICovCisgICAgICBlbHNlCisJ
bmV3X3ZhbHVlID0gbmV3X2hlaWdodDsgLyogRXhpZkltYWdlSGVpZ2h0IFRhZyAqLworICAgICAg
aWYgKGlzX21vdG9yb2xhKSB7CisJZGF0YVtvZmZzZXQrMl0gPSAwOyAvKiBGb3JtYXQgPSB1bnNp
Z25lZCBsb25nICg0IG9jdGV0cykgKi8KKwlkYXRhW29mZnNldCszXSA9IDQ7CisJZGF0YVtvZmZz
ZXQrNF0gPSAwOyAvKiBOdW1iZXIgT2YgQ29tcG9uZW50cyA9IDEgKi8KKwlkYXRhW29mZnNldCs1
XSA9IDA7CisJZGF0YVtvZmZzZXQrNl0gPSAwOworCWRhdGFbb2Zmc2V0KzddID0gMTsKKwlkYXRh
W29mZnNldCs4XSA9IDA7CisJZGF0YVtvZmZzZXQrOV0gPSAwOworCWRhdGFbb2Zmc2V0KzEwXSA9
IChKT0NURVQpKChuZXdfdmFsdWUgPj4gOCkgJiAweEZGKTsKKwlkYXRhW29mZnNldCsxMV0gPSAo
Sk9DVEVUKShuZXdfdmFsdWUgJiAweEZGKTsKKyAgICAgIH0gZWxzZSB7CisJZGF0YVtvZmZzZXQr
Ml0gPSA0OyAvKiBGb3JtYXQgPSB1bnNpZ25lZCBsb25nICg0IG9jdGV0cykgKi8KKwlkYXRhW29m
ZnNldCszXSA9IDA7CisJZGF0YVtvZmZzZXQrNF0gPSAxOyAvKiBOdW1iZXIgT2YgQ29tcG9uZW50
cyA9IDEgKi8KKwlkYXRhW29mZnNldCs1XSA9IDA7CisJZGF0YVtvZmZzZXQrNl0gPSAwOworCWRh
dGFbb2Zmc2V0KzddID0gMDsKKwlkYXRhW29mZnNldCs4XSA9IChKT0NURVQpKG5ld192YWx1ZSAm
IDB4RkYpOworCWRhdGFbb2Zmc2V0KzldID0gKEpPQ1RFVCkoKG5ld192YWx1ZSA+PiA4KSAmIDB4
RkYpOworCWRhdGFbb2Zmc2V0KzEwXSA9IDA7CisJZGF0YVtvZmZzZXQrMTFdID0gMDsKKyAgICAg
IH0KKyAgICB9CisgICAgb2Zmc2V0ICs9IDEyOworICB9IHdoaWxlICgtLW51bWJlcl9vZl90YWdz
KTsKK30KKworCiAvKiBBZGp1c3Qgb3V0cHV0IGltYWdlIHBhcmFtZXRlcnMgYXMgbmVlZGVkLgog
ICoKICAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgYWZ0ZXIganBlZ19jb3B5X2NyaXRpY2FsX3BhcmFt
ZXRlcnMoKQpAQCAtNzk5LDYgKzk1NSwyNyBAQAogICAgIGJyZWFrOwogICB9CiAKKyAgLyogQWRq
dXN0IEV4aWYgcHJvcGVydGllcyAqLworICBpZiAoc3JjaW5mby0+bWFya2VyX2xpc3QgIT0gTlVM
TCAmJgorICAgICAgc3JjaW5mby0+bWFya2VyX2xpc3QtPm1hcmtlciA9PSBKUEVHX0FQUDArMSAm
JgorICAgICAgc3JjaW5mby0+bWFya2VyX2xpc3QtPmRhdGFfbGVuZ3RoID49IDYgJiYKKyAgICAg
IEdFVEpPQ1RFVChzcmNpbmZvLT5tYXJrZXJfbGlzdC0+ZGF0YVswXSkgPT0gMHg0NSAmJgorICAg
ICAgR0VUSk9DVEVUKHNyY2luZm8tPm1hcmtlcl9saXN0LT5kYXRhWzFdKSA9PSAweDc4ICYmCisg
ICAgICBHRVRKT0NURVQoc3JjaW5mby0+bWFya2VyX2xpc3QtPmRhdGFbMl0pID09IDB4NjkgJiYK
KyAgICAgIEdFVEpPQ1RFVChzcmNpbmZvLT5tYXJrZXJfbGlzdC0+ZGF0YVszXSkgPT0gMHg2NiAm
JgorICAgICAgR0VUSk9DVEVUKHNyY2luZm8tPm1hcmtlcl9saXN0LT5kYXRhWzRdKSA9PSAwICYm
CisgICAgICBHRVRKT0NURVQoc3JjaW5mby0+bWFya2VyX2xpc3QtPmRhdGFbNV0pID09IDApIHsK
KyAgICAvKiBTdXBwcmVzcyBvdXRwdXQgb2YgSkZJRiBtYXJrZXIgKi8KKyAgICBkc3RpbmZvLT53
cml0ZV9KRklGX2hlYWRlciA9IEZBTFNFOworICAgIC8qIEFkanVzdCBFeGlmIGltYWdlIHBhcmFt
ZXRlcnMgKi8KKyAgICBpZiAoZHN0aW5mby0+aW1hZ2Vfd2lkdGggIT0gc3JjaW5mby0+aW1hZ2Vf
d2lkdGggfHwKKwlkc3RpbmZvLT5pbWFnZV9oZWlnaHQgIT0gc3JjaW5mby0+aW1hZ2VfaGVpZ2h0
KQorICAgICAgLyogQWxpZ24gZGF0YSBzZWdtZW50IHRvIHN0YXJ0IG9mIFRJRkYgc3RydWN0dXJl
IGZvciBwYXJzaW5nICovCisgICAgICBhZGp1c3RfZXhpZl9wYXJhbWV0ZXJzKHNyY2luZm8tPm1h
cmtlcl9saXN0LT5kYXRhICsgNiwKKwlzcmNpbmZvLT5tYXJrZXJfbGlzdC0+ZGF0YV9sZW5ndGgg
LSA2LAorCWRzdGluZm8tPmltYWdlX3dpZHRoLCBkc3RpbmZvLT5pbWFnZV9oZWlnaHQpOworICB9
CisKICAgLyogUmV0dXJuIHRoZSBhcHByb3ByaWF0ZSBvdXRwdXQgZGF0YSBzZXQgKi8KICAgaWYg
KGluZm8tPndvcmtzcGFjZV9jb2VmX2FycmF5cyAhPSBOVUxMKQogICAgIHJldHVybiBpbmZvLT53
b3Jrc3BhY2VfY29lZl9hcnJheXM7Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23969</attachid>
            <date>2004-01-17 05:53 0000</date>
            <desc>Code for jpegexiforient utility for querying and setting EXIF orientation tags</desc>
            <filename>jpegexiforient.c</filename>
            <type>text/plain</type>
            <data encoding="base64">LyoKICoganBlZ2V4aWZvcmllbnQuYwogKgogKiBUaGlzIGlzIGEgdXRpbGl0eSBwcm9ncmFtIHRv
IGdldCBhbmQgc2V0IHRoZSBFeGlmIE9yaWVudGF0aW9uIFRhZy4KICogSXQgY2FuIGJlIHVzZWQg
dG9nZXRoZXIgd2l0aCBqcGVndHJhbiBpbiBzY3JpcHRzIGZvciBhdXRvbWF0aWMKICogb3JpZW50
YXRpb24gY29ycmVjdGlvbiBvZiBkaWdpdGFsIGNhbWVyYSBwaWN0dXJlcy4KICoKICogVGhlIEV4
aWYgb3JpZW50YXRpb24gdmFsdWUgZ2l2ZXMgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBjYW1lcmEK
ICogcmVsYXRpdmUgdG8gdGhlIHNjZW5lIHdoZW4gdGhlIGltYWdlIHdhcyBjYXB0dXJlZC4gIFRo
ZSByZWxhdGlvbgogKiBvZiB0aGUgJzB0aCByb3cnIGFuZCAnMHRoIGNvbHVtbicgdG8gdmlzdWFs
IHBvc2l0aW9uIGlzIHNob3duIGFzCiAqIGJlbG93LgogKgogKiBWYWx1ZSB8IDB0aCBSb3cgICAg
IHwgMHRoIENvbHVtbgogKiAtLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQogKiAgIDEg
ICB8IHRvcCAgICAgICAgIHwgbGVmdCBzaWRlCiAqICAgMiAgIHwgdG9wICAgICAgICAgfCByaWd0
aCBzaWRlCiAqICAgMyAgIHwgYm90dG9tICAgICAgfCByaWd0aCBzaWRlCiAqICAgNCAgIHwgYm90
dG9tICAgICAgfCBsZWZ0IHNpZGUKICogICA1ICAgfCBsZWZ0IHNpZGUgICB8IHRvcAogKiAgIDYg
ICB8IHJpZ2h0IHNpZGUgIHwgdG9wCiAqICAgNyAgIHwgcmlnaHQgc2lkZSAgfCBib3R0b20KICog
ICA4ICAgfCBsZWZ0IHNpZGUgICB8IGJvdHRvbQogKgogKiBGb3IgY29udmVuaWVuY2UsIGhlcmUg
aXMgd2hhdCB0aGUgbGV0dGVyIEYgd291bGQgbG9vayBsaWtlIGlmIGl0IHdlcmUKICogdGFnZ2Vk
IGNvcnJlY3RseSBhbmQgZGlzcGxheWVkIGJ5IGEgcHJvZ3JhbSB0aGF0IGlnbm9yZXMgdGhlIG9y
aWVudGF0aW9uCiAqIHRhZzoKICoKICogICAxICAgICAgICAyICAgICAgIDMgICAgICA0ICAgICAg
ICAgNSAgICAgICAgICAgIDYgICAgICAgICAgIDcgICAgICAgICAgOAogKgogKiA4ODg4ODggIDg4
ODg4OCAgICAgIDg4ICA4OCAgICAgIDg4ODg4ODg4ODggIDg4ICAgICAgICAgICAgICAgICAgODgg
IDg4ODg4ODg4ODgKICogODggICAgICAgICAgODggICAgICA4OCAgODggICAgICA4OCAgODggICAg
ICA4OCAgODggICAgICAgICAgODggIDg4ICAgICAgODggIDg4CiAqIDg4ODggICAgICA4ODg4ICAg
IDg4ODggIDg4ODggICAgODggICAgICAgICAgODg4ODg4ODg4OCAgODg4ODg4ODg4OCAgICAgICAg
ICA4OAogKiA4OCAgICAgICAgICA4OCAgICAgIDg4ICA4OAogKiA4OCAgICAgICAgICA4OCAgODg4
ODg4ICA4ODg4ODgKICoKICovCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5o
PgoKc3RhdGljIEZJTEUgKiBteWZpbGU7CQkvKiBNeSBKUEVHIGZpbGUgKi8KCnN0YXRpYyB1bnNp
Z25lZCBjaGFyIGV4aWZfZGF0YVs2NTUzNkxdOwoKLyogUmV0dXJuIG5leHQgaW5wdXQgYnl0ZSwg
b3IgRU9GIGlmIG5vIG1vcmUgKi8KI2RlZmluZSBORVhUQllURSgpICBnZXRjKG15ZmlsZSkKCi8q
IEVycm9yIGV4aXQgaGFuZGxlciAqLwojZGVmaW5lIEVSUkVYSVQobXNnKSAgKGV4aXQoMCkpCgov
KiBSZWFkIG9uZSBieXRlLCB0ZXN0aW5nIGZvciBFT0YgKi8Kc3RhdGljIGludApyZWFkXzFfYnl0
ZSAodm9pZCkKewogIGludCBjOwoKICBjID0gTkVYVEJZVEUoKTsKICBpZiAoYyA9PSBFT0YpCiAg
ICBFUlJFWElUKCJQcmVtYXR1cmUgRU9GIGluIEpQRUcgZmlsZSIpOwogIHJldHVybiBjOwp9Cgov
KiBSZWFkIDIgYnl0ZXMsIGNvbnZlcnQgdG8gdW5zaWduZWQgaW50ICovCi8qIEFsbCAyLWJ5dGUg
cXVhbnRpdGllcyBpbiBKUEVHIG1hcmtlcnMgYXJlIE1TQiBmaXJzdCAqLwpzdGF0aWMgdW5zaWdu
ZWQgaW50CnJlYWRfMl9ieXRlcyAodm9pZCkKewogIGludCBjMSwgYzI7CgogIGMxID0gTkVYVEJZ
VEUoKTsKICBpZiAoYzEgPT0gRU9GKQogICAgRVJSRVhJVCgiUHJlbWF0dXJlIEVPRiBpbiBKUEVH
IGZpbGUiKTsKICBjMiA9IE5FWFRCWVRFKCk7CiAgaWYgKGMyID09IEVPRikKICAgIEVSUkVYSVQo
IlByZW1hdHVyZSBFT0YgaW4gSlBFRyBmaWxlIik7CiAgcmV0dXJuICgoKHVuc2lnbmVkIGludCkg
YzEpIDw8IDgpICsgKCh1bnNpZ25lZCBpbnQpIGMyKTsKfQoKc3RhdGljIGNvbnN0IGNoYXIgKiBw
cm9nbmFtZTsJLyogcHJvZ3JhbSBuYW1lIGZvciBlcnJvciBtZXNzYWdlcyAqLwoKc3RhdGljIHZv
aWQKdXNhZ2UgKHZvaWQpCi8qIGNvbXBsYWluIGFib3V0IGJhZCBjb21tYW5kIGxpbmUgKi8Kewog
IGZwcmludGYoc3RkZXJyLCAianBlZ2V4aWZvcmllbnQgcmVhZHMgb3Igd3JpdGVzIHRoZSBFeGlm
IE9yaWVudGF0aW9uIFRhZyAiKTsKICBmcHJpbnRmKHN0ZGVyciwgImluIGEgSlBFRyBFeGlmIGZp
bGUuXG4iKTsKCiAgZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgW3N3aXRjaGVzXSBqcGVnZmls
ZVxuIiwgcHJvZ25hbWUpOwoKICBmcHJpbnRmKHN0ZGVyciwgIlN3aXRjaGVzOlxuIik7CiAgZnBy
aW50ZihzdGRlcnIsICIgIC1uICAgICAgICAgRG8gbm90IG91dHB1dCB0aGUgdHJhaWxpbmcgbmV3
bGluZVxuIik7CiAgZnByaW50ZihzdGRlcnIsICIgIC0xIC4uIC04ICAgU2V0IG9yaWVudGF0aW9u
IHZhbHVlIDEgLi4gOFxuIik7Cn0KCi8qCiAqIFRoZSBtYWluIHByb2dyYW0uCiAqLwoKaW50Cm1h
aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKewogIGludCBuX2ZsYWcsIHNldF9mbGFnOwogIHVu
c2lnbmVkIGludCBsZW5ndGgsIGk7CiAgaW50IGlzX21vdG9yb2xhOyAvKiBGbGFnIGZvciBieXRl
IG9yZGVyICovCiAgdW5zaWduZWQgaW50IG9mZnNldCwgbnVtYmVyX29mX3RhZ3MsIHRhZ251bTsK
CiAgcHJvZ25hbWUgPSBhcmd2WzBdOwogIGlmIChwcm9nbmFtZSA9PSBOVUxMIHx8IHByb2duYW1l
WzBdID09IDApCiAgICBwcm9nbmFtZSA9ICJqcGVnZXhpZm9yaWVudCI7CS8qIGluIGNhc2UgQyBs
aWJyYXJ5IGRvZXNuJ3QgcHJvdmlkZSBpdCAqLwoKICBpZiAoYXJnYyA8IDIpIHsgdXNhZ2UoKTsg
cmV0dXJuIDA7IH0KCiAgbl9mbGFnID0gMDsgc2V0X2ZsYWcgPSAwOwoKICBpID0gMTsKICB3aGls
ZSAoYXJndltpXVswXSA9PSAnLScpIHsKICAgIHN3aXRjaCAoYXJndltpXVsxXSkgewogICAgY2Fz
ZSAnbic6CiAgICAgIG5fZmxhZyA9IDE7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnMSc6CiAgICBj
YXNlICcyJzoKICAgIGNhc2UgJzMnOgogICAgY2FzZSAnNCc6CiAgICBjYXNlICc1JzoKICAgIGNh
c2UgJzYnOgogICAgY2FzZSAnNyc6CiAgICBjYXNlICc4JzoKICAgICAgc2V0X2ZsYWcgPSBhcmd2
W2ldWzFdIC0gJzAnOwogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgIHVzYWdlKCk7IHJl
dHVybiAwOwogICAgfQogICAgaWYgKCsraSA+PSBhcmdjKSB7IHVzYWdlKCk7IHJldHVybiAwOyB9
CiAgfQoKICBpZiAoc2V0X2ZsYWcpIHsKICAgIGlmICgobXlmaWxlID0gZm9wZW4oYXJndltpXSwg
InJiKyIpKSA9PSBOVUxMKSB7CiAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IGNhbid0IG9wZW4g
JXNcbiIsIHByb2duYW1lLCBhcmd2W2ldKTsKICAgICAgcmV0dXJuIDA7CiAgICB9CiAgfSBlbHNl
IHsKICAgIGlmICgobXlmaWxlID0gZm9wZW4oYXJndltpXSwgInJiIikpID09IE5VTEwpIHsKICAg
ICAgZnByaW50ZihzdGRlcnIsICIlczogY2FuJ3Qgb3BlbiAlc1xuIiwgcHJvZ25hbWUsIGFyZ3Zb
aV0pOwogICAgICByZXR1cm4gMDsKICAgIH0KICB9CgogIC8qIFJlYWQgRmlsZSBoZWFkLCBjaGVj
ayBmb3IgSlBFRyBTT0kgKyBFeGlmIEFQUDEgKi8KICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQog
ICAgZXhpZl9kYXRhW2ldID0gKHVuc2lnbmVkIGNoYXIpIHJlYWRfMV9ieXRlKCk7CiAgaWYgKGV4
aWZfZGF0YVswXSAhPSAweEZGIHx8CiAgICAgIGV4aWZfZGF0YVsxXSAhPSAweEQ4IHx8CiAgICAg
IGV4aWZfZGF0YVsyXSAhPSAweEZGIHx8CiAgICAgIGV4aWZfZGF0YVszXSAhPSAweEUxKQogICAg
cmV0dXJuIDA7CgogIC8qIEdldCB0aGUgbWFya2VyIHBhcmFtZXRlciBsZW5ndGggY291bnQgKi8K
ICBsZW5ndGggPSByZWFkXzJfYnl0ZXMoKTsKICAvKiBMZW5ndGggaW5jbHVkZXMgaXRzZWxmLCBz
byBtdXN0IGJlIGF0IGxlYXN0IDIgKi8KICAvKiBGb2xsb3dpbmcgRXhpZiBkYXRhIGxlbmd0aCBt
dXN0IGJlIGF0IGxlYXN0IDYgKi8KICBpZiAobGVuZ3RoIDwgOCkKICAgIHJldHVybiAwOwogIGxl
bmd0aCAtPSA4OwogIC8qIFJlYWQgRXhpZiBoZWFkLCBjaGVjayBmb3IgIkV4aWYiICovCiAgZm9y
IChpID0gMDsgaSA8IDY7IGkrKykKICAgIGV4aWZfZGF0YVtpXSA9ICh1bnNpZ25lZCBjaGFyKSBy
ZWFkXzFfYnl0ZSgpOwogIGlmIChleGlmX2RhdGFbMF0gIT0gMHg0NSB8fAogICAgICBleGlmX2Rh
dGFbMV0gIT0gMHg3OCB8fAogICAgICBleGlmX2RhdGFbMl0gIT0gMHg2OSB8fAogICAgICBleGlm
X2RhdGFbM10gIT0gMHg2NiB8fAogICAgICBleGlmX2RhdGFbNF0gIT0gMCB8fAogICAgICBleGlm
X2RhdGFbNV0gIT0gMCkKICAgIHJldHVybiAwOwogIC8qIFJlYWQgRXhpZiBib2R5ICovCiAgZm9y
IChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQogICAgZXhpZl9kYXRhW2ldID0gKHVuc2lnbmVkIGNo
YXIpIHJlYWRfMV9ieXRlKCk7CgogIGlmIChsZW5ndGggPCAxMikgcmV0dXJuIDA7IC8qIExlbmd0
aCBvZiBhbiBJRkQgZW50cnkgKi8KCiAgLyogRGlzY292ZXIgYnl0ZSBvcmRlciAqLwogIGlmIChl
eGlmX2RhdGFbMF0gPT0gMHg0OSAmJiBleGlmX2RhdGFbMV0gPT0gMHg0OSkKICAgIGlzX21vdG9y
b2xhID0gMDsKICBlbHNlIGlmIChleGlmX2RhdGFbMF0gPT0gMHg0RCAmJiBleGlmX2RhdGFbMV0g
PT0gMHg0RCkKICAgIGlzX21vdG9yb2xhID0gMTsKICBlbHNlCiAgICByZXR1cm4gMDsKCiAgLyog
Q2hlY2sgVGFnIE1hcmsgKi8KICBpZiAoaXNfbW90b3JvbGEpIHsKICAgIGlmIChleGlmX2RhdGFb
Ml0gIT0gMCkgcmV0dXJuIDA7CiAgICBpZiAoZXhpZl9kYXRhWzNdICE9IDB4MkEpIHJldHVybiAw
OwogIH0gZWxzZSB7CiAgICBpZiAoZXhpZl9kYXRhWzNdICE9IDApIHJldHVybiAwOwogICAgaWYg
KGV4aWZfZGF0YVsyXSAhPSAweDJBKSByZXR1cm4gMDsKICB9CgogIC8qIEdldCBmaXJzdCBJRkQg
b2Zmc2V0IChvZmZzZXQgdG8gSUZEMCkgKi8KICBpZiAoaXNfbW90b3JvbGEpIHsKICAgIGlmIChl
eGlmX2RhdGFbNF0gIT0gMCkgcmV0dXJuIDA7CiAgICBpZiAoZXhpZl9kYXRhWzVdICE9IDApIHJl
dHVybiAwOwogICAgb2Zmc2V0ID0gZXhpZl9kYXRhWzZdOwogICAgb2Zmc2V0IDw8PSA4OwogICAg
b2Zmc2V0ICs9IGV4aWZfZGF0YVs3XTsKICB9IGVsc2UgewogICAgaWYgKGV4aWZfZGF0YVs3XSAh
PSAwKSByZXR1cm4gMDsKICAgIGlmIChleGlmX2RhdGFbNl0gIT0gMCkgcmV0dXJuIDA7CiAgICBv
ZmZzZXQgPSBleGlmX2RhdGFbNV07CiAgICBvZmZzZXQgPDw9IDg7CiAgICBvZmZzZXQgKz0gZXhp
Zl9kYXRhWzRdOwogIH0KICBpZiAob2Zmc2V0ID4gbGVuZ3RoIC0gMikgcmV0dXJuIDA7IC8qIGNo
ZWNrIGVuZCBvZiBkYXRhIHNlZ21lbnQgKi8KCiAgLyogR2V0IHRoZSBudW1iZXIgb2YgZGlyZWN0
b3J5IGVudHJpZXMgY29udGFpbmVkIGluIHRoaXMgSUZEICovCiAgaWYgKGlzX21vdG9yb2xhKSB7
CiAgICBudW1iZXJfb2ZfdGFncyA9IGV4aWZfZGF0YVtvZmZzZXRdOwogICAgbnVtYmVyX29mX3Rh
Z3MgPDw9IDg7CiAgICBudW1iZXJfb2ZfdGFncyArPSBleGlmX2RhdGFbb2Zmc2V0KzFdOwogIH0g
ZWxzZSB7CiAgICBudW1iZXJfb2ZfdGFncyA9IGV4aWZfZGF0YVtvZmZzZXQrMV07CiAgICBudW1i
ZXJfb2ZfdGFncyA8PD0gODsKICAgIG51bWJlcl9vZl90YWdzICs9IGV4aWZfZGF0YVtvZmZzZXRd
OwogIH0KICBpZiAobnVtYmVyX29mX3RhZ3MgPT0gMCkgcmV0dXJuIDA7CiAgb2Zmc2V0ICs9IDI7
CgogIC8qIFNlYXJjaCBmb3IgT3JpZW50YXRpb24gVGFnIGluIElGRDAgKi8KICBmb3IgKDs7KSB7
CiAgICBpZiAob2Zmc2V0ID4gbGVuZ3RoIC0gMTIpIHJldHVybiAwOyAvKiBjaGVjayBlbmQgb2Yg
ZGF0YSBzZWdtZW50ICovCiAgICAvKiBHZXQgVGFnIG51bWJlciAqLwogICAgaWYgKGlzX21vdG9y
b2xhKSB7CiAgICAgIHRhZ251bSA9IGV4aWZfZGF0YVtvZmZzZXRdOwogICAgICB0YWdudW0gPDw9
IDg7CiAgICAgIHRhZ251bSArPSBleGlmX2RhdGFbb2Zmc2V0KzFdOwogICAgfSBlbHNlIHsKICAg
ICAgdGFnbnVtID0gZXhpZl9kYXRhW29mZnNldCsxXTsKICAgICAgdGFnbnVtIDw8PSA4OwogICAg
ICB0YWdudW0gKz0gZXhpZl9kYXRhW29mZnNldF07CiAgICB9CiAgICBpZiAodGFnbnVtID09IDB4
MDExMikgYnJlYWs7IC8qIGZvdW5kIE9yaWVudGF0aW9uIFRhZyAqLwogICAgaWYgKC0tbnVtYmVy
X29mX3RhZ3MgPT0gMCkgcmV0dXJuIDA7CiAgICBvZmZzZXQgKz0gMTI7CiAgfQoKICBpZiAoc2V0
X2ZsYWcpIHsKICAgIC8qIFNldCB0aGUgT3JpZW50YXRpb24gdmFsdWUgKi8KICAgIGlmIChpc19t
b3Rvcm9sYSkgewogICAgICBleGlmX2RhdGFbb2Zmc2V0KzJdID0gMDsgLyogRm9ybWF0ID0gdW5z
aWduZWQgc2hvcnQgKDIgb2N0ZXRzKSAqLwogICAgICBleGlmX2RhdGFbb2Zmc2V0KzNdID0gMzsK
ICAgICAgZXhpZl9kYXRhW29mZnNldCs0XSA9IDA7IC8qIE51bWJlciBPZiBDb21wb25lbnRzID0g
MSAqLwogICAgICBleGlmX2RhdGFbb2Zmc2V0KzVdID0gMDsKICAgICAgZXhpZl9kYXRhW29mZnNl
dCs2XSA9IDA7CiAgICAgIGV4aWZfZGF0YVtvZmZzZXQrN10gPSAxOwogICAgICBleGlmX2RhdGFb
b2Zmc2V0KzhdID0gMDsKICAgICAgZXhpZl9kYXRhW29mZnNldCs5XSA9ICh1bnNpZ25lZCBjaGFy
KXNldF9mbGFnOwogICAgICBleGlmX2RhdGFbb2Zmc2V0KzEwXSA9IDA7CiAgICAgIGV4aWZfZGF0
YVtvZmZzZXQrMTFdID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIGV4aWZfZGF0YVtvZmZzZXQrMl0g
PSAzOyAvKiBGb3JtYXQgPSB1bnNpZ25lZCBzaG9ydCAoMiBvY3RldHMpICovCiAgICAgIGV4aWZf
ZGF0YVtvZmZzZXQrM10gPSAwOwogICAgICBleGlmX2RhdGFbb2Zmc2V0KzRdID0gMTsgLyogTnVt
YmVyIE9mIENvbXBvbmVudHMgPSAxICovCiAgICAgIGV4aWZfZGF0YVtvZmZzZXQrNV0gPSAwOwog
ICAgICBleGlmX2RhdGFbb2Zmc2V0KzZdID0gMDsKICAgICAgZXhpZl9kYXRhW29mZnNldCs3XSA9
IDA7CiAgICAgIGV4aWZfZGF0YVtvZmZzZXQrOF0gPSAodW5zaWduZWQgY2hhcilzZXRfZmxhZzsK
ICAgICAgZXhpZl9kYXRhW29mZnNldCs5XSA9IDA7CiAgICAgIGV4aWZfZGF0YVtvZmZzZXQrMTBd
ID0gMDsKICAgICAgZXhpZl9kYXRhW29mZnNldCsxMV0gPSAwOwogICAgfQogICAgZnNlZWsobXlm
aWxlLCAoNCArIDIgKyA2ICsgMikgKyBvZmZzZXQsIFNFRUtfU0VUKTsKICAgIGZ3cml0ZShleGlm
X2RhdGEgKyAyICsgb2Zmc2V0LCAxLCAxMCwgbXlmaWxlKTsKICB9IGVsc2UgewogICAgLyogR2V0
IHRoZSBPcmllbnRhdGlvbiB2YWx1ZSAqLwogICAgaWYgKGlzX21vdG9yb2xhKSB7CiAgICAgIGlm
IChleGlmX2RhdGFbb2Zmc2V0KzhdICE9IDApIHJldHVybiAwOwogICAgICBzZXRfZmxhZyA9IGV4
aWZfZGF0YVtvZmZzZXQrOV07CiAgICB9IGVsc2UgewogICAgICBpZiAoZXhpZl9kYXRhW29mZnNl
dCs5XSAhPSAwKSByZXR1cm4gMDsKICAgICAgc2V0X2ZsYWcgPSBleGlmX2RhdGFbb2Zmc2V0Kzhd
OwogICAgfQogICAgaWYgKHNldF9mbGFnID4gOCkgcmV0dXJuIDA7CiAgfQoKICAvKiBXcml0ZSBv
dXQgT3JpZW50YXRpb24gdmFsdWUgKi8KICBpZiAobl9mbGFnKQogICAgcHJpbnRmKCIlYyIsICcw
JyArIHNldF9mbGFnKTsKICBlbHNlCiAgICBwcmludGYoIiVjXG4iLCAnMCcgKyBzZXRfZmxhZyk7
CgogIC8qIEFsbCBkb25lLiAqLwogIHJldHVybiAwOwp9Cg==
</data>        

          </attachment>
    </bug>

</bugzilla>