<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>5966</bug_id>
          
          <creation_ts>2005-12-06 03:49:07 -0800</creation_ts>
          <short_desc>&lt;image&gt; does not preserveAspectRatio</short_desc>
          <delta_ts>2006-03-03 08:19:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/Graphics/SVG/Test/20030813/htmlframe/full-coords-viewattr-01-b.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>SVGHitList</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>5977</blocked>
    
    <blocked>7219</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25614</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-06 03:49:07 -0800</bug_when>
    <thetext>&lt;image&gt; and &lt;feImage&gt; do not respect viewBox or preserveAspectRatio

This can be clearly seen by viewing the W3C &lt;image&gt; test case:
http://www.w3.org/Graphics/SVG/Test/20030813/htmlframe/full-coords-viewattr-01-b.html

This could be done using parts of khtml, if things were refactored properly so that this logic was pulled 
out of the layer.  This could also just be done manually in the kcanvas render tree w/o too much trouble.  
Some code is already written on the DOM side to calculate the proper localTransform to represent this 
transform/clip.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30165</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-26 14:55:23 -0800</bug_when>
    <thetext>Bumping to P2 and adding to the SVGHitList.  This is a pretty basic feature of SVG images.  We would not ship SVG w/o this support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32351</commentid>
    <comment_count>2</comment_count>
      <attachid>6468</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-02-13 14:32:11 -0800</bug_when>
    <thetext>Created attachment 6468
implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33575</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-20 23:25:07 -0800</bug_when>
    <thetext>Alexander and I discussed this on IRC. Marking r- because the algorithm to scale/crop is confusing, incorrectly commented, duplicative, and possibly buggy in some cases. Alexander has good ideas on how to improve this though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34462</commentid>
    <comment_count>4</comment_count>
      <attachid>6779</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-02-28 14:14:38 -0800</bug_when>
    <thetext>Created attachment 6779
cleaned up patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34464</commentid>
    <comment_count>5</comment_count>
      <attachid>6779</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-02-28 14:22:24 -0800</bug_when>
    <thetext>Comment on attachment 6779
cleaned up patch

 namespace WebCore {
+using namespace WebCore;

That seems unecessary.

Why not just pass 0?

+    int x = 0, y = 0;
+    if (!shouldPaint(paintInfo, x, y))

Effectively the same code for:
+                case SVG_PRESERVEASPECTRATIO_XMIDYMIN:
+                case SVG_PRESERVEASPECTRATIO_XMIDYMID:
+                case SVG_PRESERVEASPECTRATIO_XMIDYMAX:
+                    srcRect.setX(image()-&gt;width() / 2 - srcRect.width() / 2);
+                    break;


is repeated 4 times... Could we perhaps use a function there?

int newLength = calcAlignedLength(int, int, align)
srcRect.setX(newLength)

I think it&apos;s best to talk about this over IRC or at least get mjs to review it, given that he&apos;s looked at it once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34502</commentid>
    <comment_count>6</comment_count>
      <attachid>6779</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-28 18:00:26 -0800</bug_when>
    <thetext>Comment on attachment 6779
cleaned up patch

+        if (origDestWidth &gt; (origDestHeight / widthToHeightMultiplier)) {
+            destRect.setWidth(origDestHeight / widthToHeightMultiplier);
+            switch(aspectRatio-&gt;align()) {
+                case SVG_PRESERVEASPECTRATIO_XMINYMID:
+                case SVG_PRESERVEASPECTRATIO_XMIDYMID:
+                case SVG_PRESERVEASPECTRATIO_XMAXYMID:
+                    destRect.setX(origDestWidth / 2 - destRect.width() / 2);
+                    break;
+                case SVG_PRESERVEASPECTRATIO_XMINYMAX:
+                case SVG_PRESERVEASPECTRATIO_XMIDYMAX:
+                case SVG_PRESERVEASPECTRATIO_XMAXYMAX:
+                    destRect.setX(origDestWidth - destRect.width());
+                    break;
+            }
+        }

I think this part is wrong, I think it should be grouping the switch blocks by XMID and XMAX, not YMID and YMAX. Shouldn&apos;t it? The other setX branch does that. Other than this apparent bug, looks fine.

r- for the bug.

I think you could consider refactoring it like Eric said but I don&apos;t believe this is required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34955</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-03 07:25:40 -0800</bug_when>
    <thetext>What&apos;s going on with this bug?

There&apos;s a change log entry that mentions this bug number, but the bug is still open, and not marked FIXED.

And also svg/W3C-SVG-1.1/coords-viewattr-02-b.svg is showing up as a failure in layout tests. Is that because we fixed it and haven&apos;t updated the results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34956</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-03 07:27:56 -0800</bug_when>
    <thetext>I&apos;d really like to get layout tests passing again on the buildbot. Please see my question above.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6468</attachid>
            <date>2006-02-13 14:32:11 -0800</date>
            <delta_ts>2006-02-28 14:14:38 -0800</delta_ts>
            <desc>implementation</desc>
            <filename>5966.patch</filename>
            <type>text/plain</type>
            <size>7738</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IGtjYW52YXMvUmVuZGVyU1ZHSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMv
UmVuZGVyU1ZHSW1hZ2UuY3BwCShyZXZpc2lvbiAxMjc2NCkKKysrIGtjYW52YXMvUmVuZGVyU1ZH
SW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiUmVu
ZGVyU1ZHSW1hZ2UuaCIKIAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoSW1wbC5oIgorI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb0ltcGwuaCIKICNpbmNsdWRlICJL
Q2FudmFzUmVuZGVyaW5nU3R5bGUuaCIKIAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhcy5oPgpA
QCAtMzUsMTAgKzM2LDE2IEBACiAKICNpbmNsdWRlICJTVkdJbWFnZUVsZW1lbnRJbXBsLmgiCiAK
KyNpbmNsdWRlICJJbWFnZS5oIgorCiAjaW5jbHVkZSAiS0NhbnZhc1Jlc291cmNlc1F1YXJ0ei5o
IgogI2luY2x1ZGUgIktDYW52YXNNYXNrZXJRdWFydHouaCIKIAorI2luY2x1ZGUgImtzdmcuaCIK
KwordXNpbmcgbmFtZXNwYWNlIEtTVkc7CiBuYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogUmVuZGVyU1ZHSW1hZ2U6OlJlbmRlclNWR0ltYWdlKFNWR0ltYWdl
RWxlbWVudEltcGwgKmltcGwpCiA6IFJlbmRlckltYWdlKGltcGwpCkBAIC00OSw2ICs1Niw4MyBA
QCBSZW5kZXJTVkdJbWFnZTo6flJlbmRlclNWR0ltYWdlKCkKIHsKIH0KIAordm9pZCBSZW5kZXJT
VkdJbWFnZTo6YWRqdXN0UmVjdHNGb3JBc3BlY3RSYXRpbyhGbG9hdFJlY3QmIGRlc3RSZWN0LCBG
bG9hdFJlY3QmIHNyY1JlY3QsIGZsb2F0IGNXaWR0aCwgZmxvYXQgY0hlaWdodCwgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpb0ltcGwgKmFzcGVjdFJhdGlvKQoreworICAgIC8vIFRPRE8gLSByZWZhY3Rv
ciB0byB1c2UgYXNwZWN0UmF0aW8tPmdldENUTQorCisgICAgaWYgKGFzcGVjdFJhdGlvLT5tZWV0
T3JTbGljZSgpID09IFNWR19NRUVUT1JTTElDRV9NRUVUKSB7CisgICAgICAgIGZsb2F0IHdpZHRo
VG9IZWlnaHRNdWx0aXBsaWVyID0gc3JjUmVjdC5oZWlnaHQoKSAvIHNyY1JlY3Qud2lkdGgoKTsK
KyAgICAgICAgaWYgKGNIZWlnaHQgPiAoY1dpZHRoICogd2lkdGhUb0hlaWdodE11bHRpcGxpZXIp
KSB7CisgICAgICAgICAgICAvLyBpZiB0aGUgdmVydGljYWwgc3BhY2UgYXZhaWxhYmxlIGZvciB0
aGUgaW1hZ2UgaXMgbGFyZ2VyIHRoYW4gdGhlIGltYWdlcyBmaW5hbCBoZWlnaHQgaXRzZWxmCisg
ICAgICAgICAgICAvLyB3ZSBzZXQgdGhlIGltYWdlcyBoZWlnaHQgZXF1YWwgdG8gdGhlIGZpbmFs
IGhlaWdodCB0YWtpbmcgYXNwZWN0IHJhdGlvIGludG8gYWNjb3VudAorICAgICAgICAgICAgZGVz
dFJlY3Quc2V0SGVpZ2h0KGNXaWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKTsKKyAgICAg
ICAgICAgIHN3aXRjaChhc3BlY3RSYXRpby0+YWxpZ24oKSkgeworICAgICAgICAgICAgICAgIGNh
c2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSUQ6CisgICAgICAgICAgICAgICAgY2Fz
ZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDoKKyAgICAgICAgICAgICAgICBjYXNl
IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgorICAgICAgICAgICAgICAgICAgICBk
ZXN0UmVjdC5zZXRZKGNIZWlnaHQgLyAyIC0gZGVzdFJlY3QuaGVpZ2h0KCkgLyAyKTsKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVB
U1BFQ1RSQVRJT19YTUlOWU1BWDoKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUFYOgorICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1BWFlNQVg6CisgICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0LnNldFkoY0hl
aWdodCAtIGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNXaWR0aCA+IChjSGVpZ2h0IC8g
d2lkdGhUb0hlaWdodE11bHRpcGxpZXIpKSB7CisgICAgICAgICAgICAvLyBpZiB0aGUgdmVydGlj
YWwgc3BhY2UgYXZhaWxhYmxlIGZvciB0aGUgaW1hZ2UgaXMgbGFyZ2VyIHRoYW4gdGhlIGltYWdl
cyBmaW5hbCBoZWlnaHQgaXRzZWxmCisgICAgICAgICAgICAvLyB3ZSBzZXQgdGhlIGltYWdlcyBo
ZWlnaHQgZXF1YWwgdG8gdGhlIGZpbmFsIGhlaWdodCB0YWtpbmcgYXNwZWN0IHJhdGlvIGludG8g
YWNjb3VudAorICAgICAgICAgICAgZGVzdFJlY3Quc2V0V2lkdGgoY0hlaWdodCAvIHdpZHRoVG9I
ZWlnaHRNdWx0aXBsaWVyKTsKKyAgICAgICAgICAgIHN3aXRjaChhc3BlY3RSYXRpby0+YWxpZ24o
KSkgeworICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllN
SUQ6CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1J
RDoKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlE
OgorICAgICAgICAgICAgICAgICAgICBkZXN0UmVjdC5zZXRYKGNXaWR0aCAvIDIgLSBkZXN0UmVj
dC53aWR0aCgpIC8gMik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CisgICAgICAgICAgICAg
ICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDoKKyAgICAgICAgICAgICAg
ICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgorICAgICAgICAgICAgICAg
ICAgICBkZXN0UmVjdC5zZXRYKGNXaWR0aCAtIGRlc3RSZWN0LndpZHRoKCkpOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBp
ZiAoYXNwZWN0UmF0aW8tPm1lZXRPclNsaWNlKCkgPT0gU1ZHX01FRVRPUlNMSUNFX1NMSUNFKSB7
CisgICAgICAgIGZsb2F0IHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyID0gc3JjUmVjdC5oZWlnaHQo
KSAvIHNyY1JlY3Qud2lkdGgoKTsKKyAgICAgICAgaWYgKGNIZWlnaHQgPCAoY1dpZHRoICogd2lk
dGhUb0hlaWdodE11bHRpcGxpZXIpKSB7CisgICAgICAgICAgICAvLyBpZiB0aGUgYXZhaWxhYmxl
IGRpc3BsYXkgaGVpZ2h0IGlzIGxvd2VyIHRoYW4gdGhlIHdhbnRlZCBkaXNwbGF5IGhlaWdodAor
ICAgICAgICAgICAgc3JjUmVjdC5zZXRIZWlnaHQod2lkdGhUb0hlaWdodE11bHRpcGxpZXIgKiBj
V2lkdGgpOworICAgICAgICAgICAgc3dpdGNoKGFzcGVjdFJhdGlvLT5hbGlnbigpKSB7CisgICAg
ICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JRDoKKyAgICAg
ICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgorICAgICAg
ICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6CisgICAgICAg
ICAgICAgICAgICAgIHNyY1JlY3Quc2V0WShpbWFnZSgpLT5oZWlnaHQoKSAvIDIgLSBzcmNSZWN0
LmhlaWdodCgpIC8gMik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CisgICAgICAgICAgICAg
ICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDoKKyAgICAgICAgICAgICAg
ICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgorICAgICAgICAgICAgICAg
ICAgICBzcmNSZWN0LnNldFkoaW1hZ2UoKS0+aGVpZ2h0KCkgLSBzcmNSZWN0LmhlaWdodCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKGNXaWR0aCA8IChjSGVpZ2h0IC8gd2lkdGhUb0hlaWdodE11bHRpcGxpZXIpKSB7
CisgICAgICAgICAgICAvLyBpZiB0aGUgYXZhaWxhYmxlIGRpc3BsYXkgd2lkdGggaXMgbG93ZXIg
dGhhbiB0aGUgd2FudGVkIGRpc3BsYXkgd2lkdGgKKyAgICAgICAgICAgIHNyY1JlY3Quc2V0V2lk
dGgoY0hlaWdodCAvIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKTsKKyAgICAgICAgICAgIHN3aXRj
aChhc3BlY3RSYXRpby0+YWxpZ24oKSkgeworICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSU46CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUlEWU1JRDoKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX1hNSURZTUFYOgorICAgICAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgo
aW1hZ2UoKS0+d2lkdGgoKSAvIDIgLSBzcmNSZWN0LndpZHRoKCkgLyAyKTsKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUFYWU1JTjoKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNQVhZTUlEOgorICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1BWFlNQVg6CisgICAgICAgICAgICAgICAgICAgIHNyY1JlY3Quc2V0WChpbWFnZSgpLT53
aWR0aCgpIC0gc3JjUmVjdC53aWR0aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyU1ZHSW1hZ2U6
OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgcGFyZW50WCwgaW50IHBhcmVudFkpCiB7
CiAgICAgaWYgKHBhaW50SW5mby5wLT5wYWludGluZ0Rpc2FibGVkKCkgfHwgKHBhaW50SW5mby5w
aGFzZSAhPSBQYWludEFjdGlvbkZvcmVncm91bmQpIHx8IHN0eWxlKCktPnZpc2liaWxpdHkoKSA9
PSBISURERU4pCkBAIC04Miw3ICsxNjYsMjcgQEAgdm9pZCBSZW5kZXJTVkdJbWFnZTo6cGFpbnQo
UGFpbnRJbmZvJiBwYQogICAgIGlmIChmaWx0ZXIpCiAgICAgICAgIGZpbHRlci0+cHJlcGFyZUZp
bHRlcihib3VuZGluZ0JveCk7CiAgICAgCi0gICAgUmVuZGVySW1hZ2U6OnBhaW50KHBhaW50SW5m
bywgMCwgMCk7CisgICAgaW50IHggPSAwLCB5ID0gMDsKKyAgICBpZiAoIXNob3VsZFBhaW50KHBh
aW50SW5mbywgeCwgeSkpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgU1ZHSW1hZ2VF
bGVtZW50SW1wbCAqaW1hZ2VFbHQgPSBzdGF0aWNfY2FzdDxTVkdJbWFnZUVsZW1lbnRJbXBsICo+
KG5vZGUoKSk7CisgICAgICAgIAorICAgIGlmIChpbWFnZUVsdC0+cHJlc2VydmVBc3BlY3RSYXRp
bygpLT5iYXNlVmFsKCktPmFsaWduKCkgPT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkK
KyAgICAgICAgUmVuZGVySW1hZ2U6OnBhaW50KHBhaW50SW5mbywgMCwgMCk7CisgICAgZWxzZSB7
CisgICAgICAgIGZsb2F0IGNXaWR0aCA9IGNvbnRlbnRXaWR0aCgpOworICAgICAgICBmbG9hdCBj
SGVpZ2h0ID0gY29udGVudEhlaWdodCgpOworICAgICAgICAKKyAgICAgICAgRmxvYXRSZWN0IGRl
c3RSZWN0KG1feCwgbV95LCBjV2lkdGgsIGNIZWlnaHQpOworICAgICAgICBGbG9hdFJlY3Qgc3Jj
UmVjdCgwLCAwLCBpbWFnZSgpLT53aWR0aCgpLCBpbWFnZSgpLT5oZWlnaHQoKSk7CisKKyAgICAg
ICAgYWRqdXN0UmVjdHNGb3JBc3BlY3RSYXRpbyhkZXN0UmVjdCwgc3JjUmVjdCwgY1dpZHRoLCBj
SGVpZ2h0LCBpbWFnZUVsdC0+cHJlc2VydmVBc3BlY3RSYXRpbygpLT5iYXNlVmFsKCkpOworICAg
ICAgICBwYWludEluZm8ucC0+ZHJhd0Zsb2F0SW1hZ2UoaW1hZ2UoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0LngoKSwgZGVzdFJlY3QueSgpLCBkZXN0UmVj
dC53aWR0aCgpLCBkZXN0UmVjdC5oZWlnaHQoKSwgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzcmNSZWN0LngoKSwgc3JjUmVjdC55KCksIHNyY1JlY3Qud2lkdGgoKSwgc3Jj
UmVjdC5oZWlnaHQoKSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFn
ZTo6Q29tcG9zaXRlU291cmNlT3Zlcik7CisgICAgfQogICAgIAogICAgIGlmIChmaWx0ZXIpCiAg
ICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIoYm91bmRpbmdCb3gpOwpJbmRleDoga2NhbnZhcy9S
ZW5kZXJTVkdJbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMvUmVuZGVyU1ZHSW1hZ2UuaAko
cmV2aXNpb24gMTI3NjQpCisrKyBrY2FudmFzL1JlbmRlclNWR0ltYWdlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlCiB7CiAgICAgY2xhc3MgU1ZH
SW1hZ2VFbGVtZW50SW1wbDsKKyAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvSW1wbDsK
ICAgICBjbGFzcyBSZW5kZXJTVkdJbWFnZSA6IHB1YmxpYyBSZW5kZXJJbWFnZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBSZW5kZXJTVkdJbWFnZShTVkdJbWFnZUVsZW1lbnRJbXBsICppbXBsKTsK
QEAgLTQzLDYgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBpbWFnZUNoYW5nZWQoQ2FjaGVkSW1hZ2UqKTsKICAgICAgICAgCisgICAgICAg
IHZvaWQgYWRqdXN0UmVjdHNGb3JBc3BlY3RSYXRpbyhGbG9hdFJlY3QmIGRlc3RSZWN0LCBGbG9h
dFJlY3QmIHNyY1JlY3QsIGZsb2F0IGNXaWR0aCwgZmxvYXQgY0hlaWdodCwgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpb0ltcGwgKmFzcGVjdFJhdGlvKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhaW50
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgcGFyZW50WCwgaW50IHBhcmVudFkpOwogICAgIHBy
aXZhdGU6CiAgICAgICAgIHZvaWQgdHJhbnNsYXRlRm9yQXR0cmlidXRlcygpOwpJbmRleDogQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gMTI3ODApCisrKyBDaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAwNi0wMi0xMyAgQWxleGFu
ZGVyIEtlbGxldHQgIDxseXBhbm92QGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4u
b3JnL3Nob3dfYnVnLmNnaT9pZD01OTY2CisgICAgICAgIAorICAgICAgICBGaXhlcyBhbHJlYWR5
IGV4aXN0aW5nIHRlc3Q6CisgICAgICAgICAgc3ZnL1czQy1TVkctMS4xL2Nvb3Jkcy12aWV3YXR0
ci0wMi1iLnN2ZworCisgICAgICAgICoga2NhbnZhcy9SZW5kZXJTVkdJbWFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbWFnZTo6YWRqdXN0UmVjdHNGb3JBc3BlY3RSYXRpbyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbWFnZTo6cGFpbnQpOgorICAgICAgICAqIGtj
YW52YXMvUmVuZGVyU1ZHSW1hZ2UuaDoKKwogMjAwNi0wMi0xMiAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQuCg==
</data>
<flag name="review"
          id="1605"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6779</attachid>
            <date>2006-02-28 14:14:38 -0800</date>
            <delta_ts>2006-02-28 18:00:26 -0800</delta_ts>
            <desc>cleaned up patch</desc>
            <filename>5966.patch</filename>
            <type>text/plain</type>
            <size>8007</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IGtjYW52YXMvUmVuZGVyU1ZHSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMv
UmVuZGVyU1ZHSW1hZ2UuY3BwCShyZXZpc2lvbiAxMzA1OCkKKysrIGtjYW52YXMvUmVuZGVyU1ZH
SW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiUmVu
ZGVyU1ZHSW1hZ2UuaCIKIAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoSW1wbC5oIgorI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb0ltcGwuaCIKICNpbmNsdWRlICJL
Q2FudmFzUmVuZGVyaW5nU3R5bGUuaCIKIAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhcy5oPgpA
QCAtMzUsMTAgKzM2LDEzIEBACiAKICNpbmNsdWRlICJTVkdJbWFnZUVsZW1lbnRJbXBsLmgiCiAK
KyNpbmNsdWRlICJrc3ZnLmgiCisKICNpbmNsdWRlICJLQ2FudmFzUmVzb3VyY2VzUXVhcnR6Lmgi
CiAjaW5jbHVkZSAiS0NhbnZhc01hc2tlclF1YXJ0ei5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogUmVuZGVyU1ZHSW1hZ2U6OlJlbmRlclNWR0lt
YWdlKFNWR0ltYWdlRWxlbWVudEltcGwgKmltcGwpCiA6IFJlbmRlckltYWdlKGltcGwpCkBAIC00
OSw2ICs1Myw4MSBAQCBSZW5kZXJTVkdJbWFnZTo6flJlbmRlclNWR0ltYWdlKCkKIHsKIH0KIAor
dm9pZCBSZW5kZXJTVkdJbWFnZTo6YWRqdXN0UmVjdHNGb3JBc3BlY3RSYXRpbyhGbG9hdFJlY3Qm
IGRlc3RSZWN0LCBGbG9hdFJlY3QmIHNyY1JlY3QsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9JbXBs
ICphc3BlY3RSYXRpbykKK3sKKyAgICBmbG9hdCBvcmlnRGVzdFdpZHRoID0gZGVzdFJlY3Qud2lk
dGgoKTsKKyAgICBmbG9hdCBvcmlnRGVzdEhlaWdodCA9IGRlc3RSZWN0LmhlaWdodCgpOworICAg
IGlmIChhc3BlY3RSYXRpby0+bWVldE9yU2xpY2UoKSA9PSBTVkdfTUVFVE9SU0xJQ0VfTUVFVCkg
eworICAgICAgICBmbG9hdCB3aWR0aFRvSGVpZ2h0TXVsdGlwbGllciA9IHNyY1JlY3QuaGVpZ2h0
KCkgLyBzcmNSZWN0LndpZHRoKCk7CisgICAgICAgIGlmIChvcmlnRGVzdEhlaWdodCA+IChvcmln
RGVzdFdpZHRoICogd2lkdGhUb0hlaWdodE11bHRpcGxpZXIpKSB7CisgICAgICAgICAgICBkZXN0
UmVjdC5zZXRIZWlnaHQob3JpZ0Rlc3RXaWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKTsK
KyAgICAgICAgICAgIHN3aXRjaChhc3BlY3RSYXRpby0+YWxpZ24oKSkgeworICAgICAgICAgICAg
ICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSUQ6CisgICAgICAgICAgICAg
ICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDoKKyAgICAgICAgICAgICAg
ICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgorICAgICAgICAgICAgICAg
ICAgICBkZXN0UmVjdC5zZXRZKG9yaWdEZXN0SGVpZ2h0IC8gMiAtIGRlc3RSZWN0LmhlaWdodCgp
IC8gMik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2Ug
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CisgICAgICAgICAgICAgICAgY2FzZSBT
VkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDoKKyAgICAgICAgICAgICAgICBjYXNlIFNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgorICAgICAgICAgICAgICAgICAgICBkZXN0
UmVjdC5zZXRZKG9yaWdEZXN0SGVpZ2h0IC0gZGVzdFJlY3QuaGVpZ2h0KCkpOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAo
b3JpZ0Rlc3RXaWR0aCA+IChvcmlnRGVzdEhlaWdodCAvIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVy
KSkgeworICAgICAgICAgICAgZGVzdFJlY3Quc2V0V2lkdGgob3JpZ0Rlc3RIZWlnaHQgLyB3aWR0
aFRvSGVpZ2h0TXVsdGlwbGllcik7CisgICAgICAgICAgICBzd2l0Y2goYXNwZWN0UmF0aW8tPmFs
aWduKCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hN
SU5ZTUlEOgorICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1J
RFlNSUQ6CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFY
WU1JRDoKKyAgICAgICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0WChvcmlnRGVzdFdpZHRoIC8g
MiAtIGRlc3RSZWN0LndpZHRoKCkgLyAyKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1BWDoKKyAg
ICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgorICAg
ICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg6CisgICAg
ICAgICAgICAgICAgICAgIGRlc3RSZWN0LnNldFgob3JpZ0Rlc3RXaWR0aCAtIGRlc3RSZWN0Lndp
ZHRoKCkpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0gZWxzZSBpZiAoYXNwZWN0UmF0aW8tPm1lZXRPclNsaWNlKCkgPT0gU1ZHX01F
RVRPUlNMSUNFX1NMSUNFKSB7CisgICAgICAgIGZsb2F0IHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVy
ID0gc3JjUmVjdC5oZWlnaHQoKSAvIHNyY1JlY3Qud2lkdGgoKTsKKyAgICAgICAgLy8gaWYgdGhl
IGRlc3RpbmF0aW9uIGhlaWdodCBpcyBsZXNzIHRoYW4gdGhlIGhlaWdodCBvZiB0aGUgaW1hZ2Ug
d2UnbGwgYmUgZHJhd2luZworICAgICAgICBpZiAob3JpZ0Rlc3RIZWlnaHQgPCAob3JpZ0Rlc3RX
aWR0aCAqIHdpZHRoVG9IZWlnaHRNdWx0aXBsaWVyKSkgeworICAgICAgICAgICAgZmxvYXQgZGVz
dFRvU3JjTXVsdGlwbGllciA9IHNyY1JlY3Qud2lkdGgoKSAvIGRlc3RSZWN0LndpZHRoKCk7Cisg
ICAgICAgICAgICBzcmNSZWN0LnNldEhlaWdodChkZXN0UmVjdC5oZWlnaHQoKSAqIGRlc3RUb1Ny
Y011bHRpcGxpZXIpOworICAgICAgICAgICAgc3dpdGNoKGFzcGVjdFJhdGlvLT5hbGlnbigpKSB7
CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JRDoK
KyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgor
ICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Cisg
ICAgICAgICAgICAgICAgICAgIHNyY1JlY3Quc2V0WShpbWFnZSgpLT5oZWlnaHQoKSAvIDIgLSBz
cmNSZWN0LmhlaWdodCgpIC8gMik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CisgICAgICAg
ICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDoKKyAgICAgICAg
ICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgorICAgICAgICAg
ICAgICAgICAgICBzcmNSZWN0LnNldFkoaW1hZ2UoKS0+aGVpZ2h0KCkgLSBzcmNSZWN0LmhlaWdo
dCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgLy8gaWYgdGhlIGRlc3RpbmF0aW9uIHdpZHRoIGlzIGxlc3MgdGhhbiB0aGUg
d2lkdGggb2YgdGhlIGltYWdlIHdlJ2xsIGJlIGRyYXdpbmcKKyAgICAgICAgaWYgKG9yaWdEZXN0
V2lkdGggPCAob3JpZ0Rlc3RIZWlnaHQgLyB3aWR0aFRvSGVpZ2h0TXVsdGlwbGllcikpIHsKKyAg
ICAgICAgICAgIGZsb2F0IGRlc3RUb1NyY011bHRpcGxpZXIgPSBzcmNSZWN0LmhlaWdodCgpIC8g
ZGVzdFJlY3QuaGVpZ2h0KCk7CisgICAgICAgICAgICBzcmNSZWN0LnNldFdpZHRoKGRlc3RSZWN0
LndpZHRoKCkgKiBkZXN0VG9TcmNNdWx0aXBsaWVyKTsKKyAgICAgICAgICAgIHN3aXRjaChhc3Bl
Y3RSYXRpby0+YWxpZ24oKSkgeworICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JRFlNSU46CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19YTUlEWU1JRDoKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSURZTUFYOgorICAgICAgICAgICAgICAgICAgICBzcmNSZWN0LnNldFgoaW1hZ2Uo
KS0+d2lkdGgoKSAvIDIgLSBzcmNSZWN0LndpZHRoKCkgLyAyKTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1JTjoKKyAgICAgICAgICAgICAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hN
QVhZTUlEOgorICAgICAgICAgICAgICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1B
WFlNQVg6CisgICAgICAgICAgICAgICAgICAgIHNyY1JlY3Quc2V0WChpbWFnZSgpLT53aWR0aCgp
IC0gc3JjUmVjdC53aWR0aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyU1ZHSW1hZ2U6OnBhaW50
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgcGFyZW50WCwgaW50IHBhcmVudFkpCiB7CiAgICAg
aWYgKHBhaW50SW5mby5wLT5wYWludGluZ0Rpc2FibGVkKCkgfHwgKHBhaW50SW5mby5waGFzZSAh
PSBQYWludEFjdGlvbkZvcmVncm91bmQpIHx8IHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBISURE
RU4pCkBAIC03MCw3ICsxNDksNyBAQCB2b2lkIFJlbmRlclNWR0ltYWdlOjpwYWludChQYWludElu
Zm8mIHBhCiAgICAgdHJhbnNsYXRlRm9yQXR0cmlidXRlcygpOwogICAgIAogICAgIEZsb2F0UmVj
dCBib3VuZGluZ0JveCA9IHJlbGF0aXZlQkJveCh0cnVlKTsKLSAgICBjb25zdCBLU1ZHOjpTVkdS
ZW5kZXJTdHlsZSAqc3ZnU3R5bGUgPSBzdHlsZSgpLT5zdmdTdHlsZSgpOworICAgIGNvbnN0IFNW
R1JlbmRlclN0eWxlICpzdmdTdHlsZSA9IHN0eWxlKCktPnN2Z1N0eWxlKCk7CiAgICAgICAgICAg
ICAKICAgICBpZiAoS0NhbnZhc0NsaXBwZXIgKmNsaXBwZXIgPSBnZXRDbGlwcGVyQnlJZChkb2N1
bWVudCgpLCBzdmdTdHlsZS0+Y2xpcFBhdGgoKS5taWQoMSkpKQogICAgICAgICBjbGlwcGVyLT5h
cHBseUNsaXAoYm91bmRpbmdCb3gpOwpAQCAtODIsMTEgKzE2MSwyNyBAQCB2b2lkIFJlbmRlclNW
R0ltYWdlOjpwYWludChQYWludEluZm8mIHBhCiAgICAgaWYgKGZpbHRlcikKICAgICAgICAgZmls
dGVyLT5wcmVwYXJlRmlsdGVyKGJvdW5kaW5nQm94KTsKICAgICAKLSAgICBSZW5kZXJJbWFnZTo6
cGFpbnQocGFpbnRJbmZvLCAwLCAwKTsKLSAgICAKKyAgICBpbnQgeCA9IDAsIHkgPSAwOworICAg
IGlmICghc2hvdWxkUGFpbnQocGFpbnRJbmZvLCB4LCB5KSkKKyAgICAgICAgcmV0dXJuOworICAg
ICAgICAKKyAgICBTVkdJbWFnZUVsZW1lbnRJbXBsICppbWFnZUVsdCA9IHN0YXRpY19jYXN0PFNW
R0ltYWdlRWxlbWVudEltcGwgKj4obm9kZSgpKTsKKyAgICAgICAgCisgICAgaWYgKGltYWdlRWx0
LT5wcmVzZXJ2ZUFzcGVjdFJhdGlvKCktPmJhc2VWYWwoKS0+YWxpZ24oKSA9PSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19OT05FKQorICAgICAgICBSZW5kZXJJbWFnZTo6cGFpbnQocGFpbnRJbmZv
LCAwLCAwKTsKKyAgICBlbHNlIHsKKyAgICAgICAgRmxvYXRSZWN0IGRlc3RSZWN0KG1feCwgbV95
LCBjb250ZW50V2lkdGgoKSwgY29udGVudEhlaWdodCgpKTsKKyAgICAgICAgRmxvYXRSZWN0IHNy
Y1JlY3QoMCwgMCwgaW1hZ2UoKS0+d2lkdGgoKSwgaW1hZ2UoKS0+aGVpZ2h0KCkpOworICAgICAg
ICBhZGp1c3RSZWN0c0ZvckFzcGVjdFJhdGlvKGRlc3RSZWN0LCBzcmNSZWN0LCBpbWFnZUVsdC0+
cHJlc2VydmVBc3BlY3RSYXRpbygpLT5iYXNlVmFsKCkpOworICAgICAgICBwYWludEluZm8ucC0+
ZHJhd0Zsb2F0SW1hZ2UoaW1hZ2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlc3RSZWN0LngoKSwgZGVzdFJlY3QueSgpLCBkZXN0UmVjdC53aWR0aCgpLCBkZXN0UmVj
dC5oZWlnaHQoKSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNSZWN0
LngoKSwgc3JjUmVjdC55KCksIHNyY1JlY3Qud2lkdGgoKSwgc3JjUmVjdC5oZWlnaHQoKSwgCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6Q29tcG9zaXRlU291cmNl
T3Zlcik7CisgICAgfQorCiAgICAgaWYgKGZpbHRlcikKICAgICAgICAgZmlsdGVyLT5hcHBseUZp
bHRlcihib3VuZGluZ0JveCk7Ci0KKyAgICAKICAgICAvLyByZXN0b3JlIGRyYXdpbmcgc3RhdGUK
ICAgICBpZiAoc2hvdWxkUG9wQ29udGV4dCkgewogICAgICAgICByZW5kZXJpbmdEZXZpY2UtPnBv
cENvbnRleHQoKTsKSW5kZXg6IGtjYW52YXMvUmVuZGVyU1ZHSW1hZ2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBrY2FudmFzL1JlbmRlclNWR0ltYWdlLmgJKHJldmlzaW9uIDEzMDU4KQorKysga2NhbnZhcy9S
ZW5kZXJTVkdJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZQogewogICAgIGNsYXNzIFNWR0ltYWdlRWxlbWVudEltcGw7CisgICAgY2xhc3Mg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpb0ltcGw7CiAgICAgY2xhc3MgUmVuZGVyU1ZHSW1hZ2UgOiBw
dWJsaWMgUmVuZGVySW1hZ2UgewogICAgIHB1YmxpYzoKICAgICAgICAgUmVuZGVyU1ZHSW1hZ2Uo
U1ZHSW1hZ2VFbGVtZW50SW1wbCAqaW1wbCk7CkBAIC00Miw3ICs0Myw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgSW50UmVjdCBnZXRBYnNvbHV0ZVJlcGFpbnRSZWN0KCk7
CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VDaGFuZ2VkKENhY2hlZEltYWdl
Kik7Ci0gICAgICAgIAorICAgICAgICB2b2lkIGFkanVzdFJlY3RzRm9yQXNwZWN0UmF0aW8oRmxv
YXRSZWN0JiBkZXN0UmVjdCwgRmxvYXRSZWN0JiBzcmNSZWN0LCBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvSW1wbCAqYXNwZWN0UmF0aW8pOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJ
bmZvJiBwYWludEluZm8sIGludCBwYXJlbnRYLCBpbnQgcGFyZW50WSk7CiAgICAgcHJpdmF0ZToK
ICAgICAgICAgdm9pZCB0cmFuc2xhdGVGb3JBdHRyaWJ1dGVzKCk7CkluZGV4OiBDaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzA1OCkKKysrIENoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA2LTAyLTI4ICBBbGV4YW5kZXIgS2Vs
bGV0dCAgPGx5cGFub3ZAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWouCisK
KyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNn
aT9pZD01OTY2CisKKyAgICAgICAgRml4ZXMgYWxyZWFkeSBleGlzdGluZyB0ZXN0OgorICAgICAg
ICAgIHN2Zy9XM0MtU1ZHLTEuMS9jb29yZHMtdmlld2F0dHItMDItYi5zdmcKKworICAgICAgICAq
IGtjYW52YXMvUmVuZGVyU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
SW1hZ2U6OmFkanVzdFJlY3RzRm9yQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHSW1hZ2U6OnBhaW50KToKKyAgICAgICAgKiBrY2FudmFzL1JlbmRlclNWR0ltYWdlLmg6
CisKIDIwMDYtMDItMjggIEp1c3RpbiBHYXJjaWEgIDxqdXN0aW4uZ2FyY2lhQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBtanMK
</data>
<flag name="review"
          id="1735"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>