<?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>105097</bug_id>
          
          <creation_ts>2012-12-15 11:39:34 -0800</creation_ts>
          <short_desc>SVG images are sized incorrectly on first load</short_desc>
          <delta_ts>2012-12-17 21:03:00 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philip Rogers">pdr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>blambov</cc>
    
    <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>fmalita</cc>
    
    <cc>japhet</cc>
    
    <cc>mitz</cc>
    
    <cc>philn</cc>
    
    <cc>schenney</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>792149</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-12-15 11:39:34 -0800</bug_when>
    <thetext>On first load, SVG images that depend on the image size will be sized incorrectly. Additionally, the SVG image cache is not used much of the time because it depends on a call to CachedImage::setContainerSizeForRenderer(...) that it never receives.

Patch forthcoming!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792152</commentid>
    <comment_count>1</comment_count>
      <attachid>179602</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-12-15 11:42:42 -0800</bug_when>
    <thetext>Created attachment 179602
First pass - Queue container size requests while images are loading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792922</commentid>
    <comment_count>2</comment_count>
      <attachid>179602</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-17 12:19:58 -0800</bug_when>
    <thetext>Comment on attachment 179602
First pass - Queue container size requests while images are loading.

View in context: https://bugs.webkit.org/attachment.cgi?id=179602&amp;action=review

&gt; Source/WebCore/ChangeLog:33
&gt; +        (CachedImage):

Nit: remove this line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792926</commentid>
    <comment_count>3</comment_count>
      <attachid>179602</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-17 12:25:35 -0800</bug_when>
    <thetext>Comment on attachment 179602
First pass - Queue container size requests while images are loading.

View in context: https://bugs.webkit.org/attachment.cgi?id=179602&amp;action=review

&gt; Source/WebCore/loader/cache/CachedImage.cpp:335
&gt; +        for (ContainerSizeRequests::iterator it = m_pendingContainerSizeRequests.begin(); it != m_pendingContainerSizeRequests.end(); ++it)
&gt; +            setContainerSizeForRenderer(it-&gt;key, it-&gt;value.first, it-&gt;value.second);

We should clear pending requests after we send them.

&gt; Source/WebCore/loader/cache/CachedImage.h:64
&gt; -    void setContainerSizeForRenderer(const RenderObject*, const IntSize&amp;, float);
&gt; +    void setContainerSizeForRenderer(const CachedImageClient*, const IntSize&amp;, float);

We should just remove &quot;renderer&quot; from this.  It&apos;s somewhat of a layering violation IMO for the loader to know anything about the rendering tree.  This can be in a follow-up patch if you&apos;d rather.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792927</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-17 12:25:51 -0800</bug_when>
    <thetext>Thanks dino. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793296</commentid>
    <comment_count>5</comment_count>
      <attachid>179868</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-12-17 20:16:47 -0800</bug_when>
    <thetext>Created attachment 179868
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793299</commentid>
    <comment_count>6</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-12-17 20:19:48 -0800</bug_when>
    <thetext>Thanks for the reviews Dino and Eric!

(In reply to comment #3)
&gt; (From update of attachment 179602 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179602&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedImage.cpp:335
&gt; &gt; +        for (ContainerSizeRequests::iterator it = m_pendingContainerSizeRequests.begin(); it != m_pendingContainerSizeRequests.end(); ++it)
&gt; &gt; +            setContainerSizeForRenderer(it-&gt;key, it-&gt;value.first, it-&gt;value.second);
&gt; 
&gt; We should clear pending requests after we send them.
Done.

&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedImage.h:64
&gt; &gt; -    void setContainerSizeForRenderer(const RenderObject*, const IntSize&amp;, float);
&gt; &gt; +    void setContainerSizeForRenderer(const CachedImageClient*, const IntSize&amp;, float);
&gt; 
&gt; We should just remove &quot;renderer&quot; from this.  It&apos;s somewhat of a layering violation IMO for the loader to know anything about the rendering tree.  This can be in a follow-up patch if you&apos;d rather.

I agree; lets do it as a followup though. I filed WK105244 to track this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793326</commentid>
    <comment_count>7</comment_count>
      <attachid>179868</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 21:02:55 -0800</bug_when>
    <thetext>Comment on attachment 179868
Patch for landing

Clearing flags on attachment: 179868

Committed r137981: &lt;http://trac.webkit.org/changeset/137981&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793327</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 21:03:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179602</attachid>
            <date>2012-12-15 11:42:42 -0800</date>
            <delta_ts>2012-12-17 20:16:47 -0800</delta_ts>
            <desc>First pass - Queue container size requests while images are loading.</desc>
            <filename>105097.1.patch</filename>
            <type>text/plain</type>
            <size>8688</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzc5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEyLTE0ICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUXVldWUgY29udGFpbmVyIHNpemUg
cmVxdWVzdHMgd2hpbGUgaW1hZ2VzIGFyZSBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlIENhY2hlZEltYWdlOjpzZXRDb250YWlu
ZXJTaXplRm9yUmVuZGVyZXIoLi4uKSB0byBub3RpZnkgaW1hZ2VzIG9mIHJlcXVlc3RpbmcKKyAg
ICAgICAgY29udGFpbmVyIHNpemVzLiBVbmZvcnR1bmF0ZWx5LCBpZiB0aGUgaW1hZ2UgaXMgbm90
IHlldCBsb2FkZWQgd2UgaWdub3JlIHRoaXMgY29udGFpbmVyCisgICAgICAgIHNpemUgaW5mb3Jt
YXRpb24hIFRoaXMgcGF0Y2ggc3RvcmVzIHJlcXVlc3RpbmcgY29udGFpbmVyIHNpemVzIG1hZGUg
d2hpbGUgdGhlIGltYWdlIGlzCisgICAgICAgIG5vdCB5ZXQgbG9hZGVkLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZml4ZXMgYSBidWcgd2hlcmUgU1ZHIGltYWdlcyB3b3VsZCBkaXNwbGF5IGluY29y
cmVjdGx5IG9uIHRoZSBmaXJzdCBsb2FkIGJ1dAorICAgICAgICBjb3JyZWN0bHkgdGhlcmVhZnRl
ci4gQWRkaXRpb25hbGx5LCB0aGlzIGJ1ZyBjYXVzZWQgdGhlIFNWR0ltYWdlQ2FjaGUgdG8gbm90
IGJlIHVzZWQgaW4gbWFueQorICAgICAgICByZWFsIHdvcmxkIHNjZW5hcmlvcy4KKworICAgICAg
ICBUaGlzIHBhdGNoIGlzIGxvb3NlbHkgYmFzZWQgb24gYSBwYXRjaCBieSBibGFtYm92IGluIFdL
OTg0MDMuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9taXNjL3N2Zy1pbWFnZS1kZWxheWVk
LXNpemUtbmVnb3RpYXRpb24uaHRtbAorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZElt
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpkaWRSZW1vdmVDbGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmFsbENsaWVudHNSZW1vdmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpzZXRDb250YWluZXJTaXplRm9yUmVuZGVyZXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNsZWFyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZEltYWdlLmg6CisKKyAgICAgICAgICAgIEEgbmV3IG1hcCBoYXMgYmVlbiBhZGRlZCB0byB0
cmFjayByZW5kZXJlciAtPiBzaXplIGluZm9ybWF0aW9uIGJlZm9yZSBhbiBpbWFnZSBoYXMKKyAg
ICAgICAgICAgIGxvYWRlZC4gTm90ZSB0aGF0IHRoaXMgYWZmZWN0cyBhbGwgaW1hZ2VzIChub3Qg
anVzdCBpbWFnZXMgdGhhdCByZXF1aXJlIGNvbnRhaW5lciBzaXplCisgICAgICAgICAgICBpbmZv
cm1hdGlvbikgYnV0IHdlIGNhbm5vdCBrbm93IHRoZSBpbWFnZSB0eXBlIGJlZm9yZSB0aGUgaW1h
Z2UgaGFzIGxvYWRlZC4KKworICAgICAgICAoQ2FjaGVkSW1hZ2UpOgorCiAyMDEyLTEyLTE0ICBZ
dWtpIFNla2lndWNoaSAgPHl1a2kuc2VraWd1Y2hpQGFjY2Vzcy1jb21wYW55LmNvbT4KIAogICAg
ICAgICBFbXBoYXNpcyBtYXJrIGlzIHByaW50ZWQgYWZ0ZXIgaW5saW5lLWJsb2NrIHdpdGgganVz
dGlmeQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3Bw
CShyZXZpc2lvbiAxMzc2NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
SW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDEwIEBAIHZvaWQgQ2FjaGVk
SW1hZ2U6OmRpZEFkZENsaWVudChDYWNoZWRSZXMKIAogdm9pZCBDYWNoZWRJbWFnZTo6ZGlkUmVt
b3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50KiBjKQogeworICAgIEFTU0VSVChjKTsKICAg
ICBBU1NFUlQoYy0+cmVzb3VyY2VDbGllbnRUeXBlKCkgPT0gQ2FjaGVkSW1hZ2VDbGllbnQ6OmV4
cGVjdGVkVHlwZSgpKTsKKworICAgIG1fcGVuZGluZ0NvbnRhaW5lclNpemVSZXF1ZXN0cy5yZW1v
dmUoc3RhdGljX2Nhc3Q8Q2FjaGVkSW1hZ2VDbGllbnQqPihjKSk7CiAjaWYgRU5BQkxFKFNWRykK
ICAgICBpZiAobV9zdmdJbWFnZUNhY2hlKQogICAgICAgICBtX3N2Z0ltYWdlQ2FjaGUtPnJlbW92
ZUNsaWVudEZyb21DYWNoZShzdGF0aWNfY2FzdDxDYWNoZWRJbWFnZUNsaWVudCo+KGMpKTsKQEAg
LTExMSw2ICsxMTQsNyBAQCB2b2lkIENhY2hlZEltYWdlOjpkaWRSZW1vdmVDbGllbnQoQ2FjaGVk
CiAKIHZvaWQgQ2FjaGVkSW1hZ2U6OmFsbENsaWVudHNSZW1vdmVkKCkKIHsKKyAgICBtX3BlbmRp
bmdDb250YWluZXJTaXplUmVxdWVzdHMuY2xlYXIoKTsKICAgICBpZiAobV9pbWFnZSAmJiAhZXJy
b3JPY2N1cnJlZCgpKQogICAgICAgICBtX2ltYWdlLT5yZXNldEFuaW1hdGlvbigpOwogfQpAQCAt
MTg0LDEwICsxODgsMTUgQEAgSW1hZ2UqIENhY2hlZEltYWdlOjppbWFnZUZvclJlbmRlcmVyKGNv
bgogICAgIHJldHVybiBJbWFnZTo6bnVsbEltYWdlKCk7CiB9CiAKLXZvaWQgQ2FjaGVkSW1hZ2U6
OnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBjb25zdCBJbnRTaXplJiBjb250YWluZXJTaXplLCBmbG9hdCBjb250YWluZXJab29tKQordm9p
ZCBDYWNoZWRJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKGNvbnN0IENhY2hlZElt
YWdlQ2xpZW50KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgY29udGFpbmVyU2l6ZSwgZmxvYXQg
Y29udGFpbmVyWm9vbSkKIHsKLSAgICBpZiAoIW1faW1hZ2UgfHwgY29udGFpbmVyU2l6ZS5pc0Vt
cHR5KCkpCisgICAgaWYgKGNvbnRhaW5lclNpemUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisgICAgQVNTRVJUKHJlbmRlcmVyKTsKKyAgICBpZiAoIW1faW1hZ2UpIHsKKyAgICAgICAgbV9w
ZW5kaW5nQ29udGFpbmVyU2l6ZVJlcXVlc3RzLnNldChyZW5kZXJlciwgU2l6ZUFuZFpvb20oY29u
dGFpbmVyU2l6ZSwgY29udGFpbmVyWm9vbSkpOwogICAgICAgICByZXR1cm47CisgICAgfQogI2lm
IEVOQUJMRShTVkcpCiAgICAgaWYgKCFtX2ltYWdlLT5pc1NWR0ltYWdlKCkpIHsKICAgICAgICAg
bV9pbWFnZS0+c2V0Q29udGFpbmVyU2l6ZShjb250YWluZXJTaXplKTsKQEAgLTI5Nyw2ICszMDYs
NyBAQCB2b2lkIENhY2hlZEltYWdlOjpjbGVhcigpCiAgICAgbV9zdmdJbWFnZUNhY2hlLmNsZWFy
KCk7CiAjZW5kaWYKICAgICBjbGVhckltYWdlKCk7CisgICAgbV9wZW5kaW5nQ29udGFpbmVyU2l6
ZVJlcXVlc3RzLmNsZWFyKCk7CiAgICAgc2V0RW5jb2RlZFNpemUoMCk7CiB9CiAKQEAgLTMwNiwy
MCArMzE2LDI0IEBAIGlubGluZSB2b2lkIENhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSgpCiAgICAg
aWYgKG1faW1hZ2UpCiAgICAgICAgIHJldHVybjsKICNpZiBVU0UoQ0cpICYmICFVU0UoV0VCS0lU
X0lNQUdFX0RFQ09ERVJTKQotICAgIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0gImFwcGxp
Y2F0aW9uL3BkZiIpIHsKKyAgICBlbHNlIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0gImFw
cGxpY2F0aW9uL3BkZiIpCiAgICAgICAgIG1faW1hZ2UgPSBQREZEb2N1bWVudEltYWdlOjpjcmVh
dGUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRpZgogI2lmIEVOQUJMRShTVkcpCi0g
ICAgaWYgKG1fcmVzcG9uc2UubWltZVR5cGUoKSA9PSAiaW1hZ2Uvc3ZnK3htbCIpIHsKKyAgICBl
bHNlIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0gImltYWdlL3N2Zyt4bWwiKSB7CiAgICAg
ICAgIFJlZlB0cjxTVkdJbWFnZT4gc3ZnSW1hZ2UgPSBTVkdJbWFnZTo6Y3JlYXRlKHRoaXMpOwog
ICAgICAgICBtX3N2Z0ltYWdlQ2FjaGUgPSBTVkdJbWFnZUNhY2hlOjpjcmVhdGUoc3ZnSW1hZ2Uu
Z2V0KCkpOwogICAgICAgICBtX2ltYWdlID0gc3ZnSW1hZ2UucmVsZWFzZSgpOwotICAgICAgICBy
ZXR1cm47CiAgICAgfQogI2VuZGlmCi0gICAgbV9pbWFnZSA9IEJpdG1hcEltYWdlOjpjcmVhdGUo
dGhpcyk7CisgICAgZWxzZQorICAgICAgICBtX2ltYWdlID0gQml0bWFwSW1hZ2U6OmNyZWF0ZSh0
aGlzKTsKKworICAgIC8vIFNlbmQgcXVldWVkIGNvbnRhaW5lciBzaXplIHJlcXVlc3RzLgorICAg
IGlmIChtX2ltYWdlICYmIG1faW1hZ2UtPnVzZXNDb250YWluZXJTaXplKCkpIHsKKyAgICAgICAg
Zm9yIChDb250YWluZXJTaXplUmVxdWVzdHM6Oml0ZXJhdG9yIGl0ID0gbV9wZW5kaW5nQ29udGFp
bmVyU2l6ZVJlcXVlc3RzLmJlZ2luKCk7IGl0ICE9IG1fcGVuZGluZ0NvbnRhaW5lclNpemVSZXF1
ZXN0cy5lbmQoKTsgKytpdCkKKyAgICAgICAgICAgIHNldENvbnRhaW5lclNpemVGb3JSZW5kZXJl
cihpdC0+a2V5LCBpdC0+dmFsdWUuZmlyc3QsIGl0LT52YWx1ZS5zZWNvbmQpOworICAgIH0KIH0K
IAogaW5saW5lIHZvaWQgQ2FjaGVkSW1hZ2U6OmNsZWFySW1hZ2UoKQpJbmRleDogU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgJKHJldmlzaW9uIDEzNzY0MikKKysrIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw4ICsyNiwxMCBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAjaW5jbHVkZSAi
SW1hZ2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJJbnRTaXpl
SGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKICNpbmNsdWRlICJTVkdJbWFnZUNhY2hl
LmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU5LDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBjYW5SZW5kZXIoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgZmxvYXQgbXVsdGlwbGll
cikgeyByZXR1cm4gIWVycm9yT2NjdXJyZWQoKSAmJiAhaW1hZ2VTaXplRm9yUmVuZGVyZXIocmVu
ZGVyZXIsIG11bHRpcGxpZXIpLmlzRW1wdHkoKTsgfQogCi0gICAgdm9pZCBzZXRDb250YWluZXJT
aXplRm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50U2l6ZSYsIGZsb2F0
KTsKKyAgICB2b2lkIHNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcihjb25zdCBDYWNoZWRJbWFn
ZUNsaWVudCosIGNvbnN0IEludFNpemUmLCBmbG9hdCk7CiAgICAgYm9vbCB1c2VzSW1hZ2VDb250
YWluZXJTaXplKCkgY29uc3Q7CiAgICAgYm9vbCBpbWFnZUhhc1JlbGF0aXZlV2lkdGgoKSBjb25z
dDsKICAgICBib29sIGltYWdlSGFzUmVsYXRpdmVIZWlnaHQoKSBjb25zdDsKQEAgLTEwNyw2ICsx
MDksMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFB1cmdlUHJpb3JpdHkgcHVyZ2VQcmlvcml0
eSgpIGNvbnN0IHsgcmV0dXJuIFB1cmdlRmlyc3Q7IH0KICAgICB2b2lkIGNoZWNrU2hvdWxkUGFp
bnRCcm9rZW5JbWFnZSgpOwogCisgICAgdHlwZWRlZiBwYWlyPEludFNpemUsIGZsb2F0PiBTaXpl
QW5kWm9vbTsKKyAgICB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgQ2FjaGVkSW1hZ2VDbGllbnQqLCBT
aXplQW5kWm9vbT4gQ29udGFpbmVyU2l6ZVJlcXVlc3RzOworICAgIENvbnRhaW5lclNpemVSZXF1
ZXN0cyBtX3BlbmRpbmdDb250YWluZXJTaXplUmVxdWVzdHM7CisKICAgICBSZWZQdHI8SW1hZ2U+
IG1faW1hZ2U7CiAjaWYgRU5BQkxFKFNWRykKICAgICBPd25QdHI8U1ZHSW1hZ2VDYWNoZT4gbV9z
dmdJbWFnZUNhY2hlOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTM3Nzk0KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTQgIFBo
aWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KKworICAgICAgICBRdWV1ZSBjb250YWluZXIg
c2l6ZSByZXF1ZXN0cyB3aGlsZSBpbWFnZXMgYXJlIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUwOTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIHJldXNlZCB0aGUgZW1iZWRkZWQuc3Zn
IGFuZCBzdmctc2xvdy5wbCB0ZXN0IGZpbGVzIGZyb20gYSBzaW1pbGFyIHRlc3QgZm9yIHN2Zy1h
cy1vYmplY3QKKyAgICAgICAgc2l6ZSBuZWdvdGlhdGlvbi4gc3ZnLXNsb3cucGwgc2ltcGx5IGRl
bGF5cyB0aGUgbG9hZGluZyBvZiB0aGUgZW1iZWRkZWQuc3ZnIGZpbGUuCisgICAgICAgIFRyaWdn
ZXJpbmcgdGhpcyBidWcgcmVsaWFibHkgdXNpbmcgdGhlIGxvY2FsIGZpbGVzeXN0ZW0gaXMgdG9v
IGJyaXR0bGUuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5ZWQt
c2l6ZS1uZWdvdGlhdGlvbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi5odG1sOiBBZGRlZC4K
KwogMjAxMi0xMi0xNCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTA2NApJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3N2Zy1pbWFnZS1kZWxheWVkLXNpemUtbmVnb3RpYXRp
b24tZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2Mvc3ZnLWltYWdlLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3N2Zy1pbWFnZS1kZWxheWVk
LXNpemUtbmVnb3RpYXRpb24tZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij4KKyAgVGVzdCB0aGF0IGFuIGltYWdlIGxvYWRlZCBhZnRlciBpbml0aWFsIGxheW91dCB3aWxs
IGhhdmUgdGhlIGNvcnJlY3Qgc2l6ZS48YnIvPgorICBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJl
IGlzIGEgYmx1ZSBzcXVhcmUgKG5vdCByZWN0YW5nbGUpIHdpdGggYSBncmVlbiBjaXJjbGUgKG5v
dCBvdmFsKS4KKzwvcD4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvZW1iZWRkZWQuc3ZnIiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjMwMCI+PC9pbWc+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9zdmctaW1hZ2Ut
ZGVsYXllZC1zaXplLW5lZ290aWF0aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPgorICBUZXN0IHRoYXQgYW4gaW1hZ2UgbG9hZGVkIGFmdGVyIGlu
aXRpYWwgbGF5b3V0IHdpbGwgaGF2ZSB0aGUgY29ycmVjdCBzaXplLjxici8+CisgIFRoaXMgdGVz
dCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBibHVlIHNxdWFyZSAobm90IHJlY3RhbmdsZSkgd2l0aCBh
IGdyZWVuIGNpcmNsZSAobm90IG92YWwpLgorPC9wPgorPGltZyBzcmM9InJlc291cmNlcy9zdmct
c2xvdy5wbCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIzMDAiIG9ubG9hZD0iZmluaXNoVGVzdCgpIj48
L2ltZz4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="196538"
          type_id="1"
          status="+"
          setter="dino"
    />
    <flag name="commit-queue"
          id="196539"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179868</attachid>
            <date>2012-12-17 20:16:47 -0800</date>
            <delta_ts>2012-12-17 21:02:54 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>105097.2.patch</filename>
            <type>text/plain</type>
            <size>9089</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzkzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTE3ICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUXVldWUgY29udGFpbmVyIHNpemUg
cmVxdWVzdHMgd2hpbGUgaW1hZ2VzIGFyZSBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGVhbiBKYWNrc29uLgorCisgICAgICAgIFdlIHVzZSBDYWNoZWRJbWFnZTo6c2V0Q29udGFpbmVy
U2l6ZUZvclJlbmRlcmVyKC4uLikgdG8gbm90aWZ5IGltYWdlcyBvZiByZXF1ZXN0aW5nCisgICAg
ICAgIGNvbnRhaW5lciBzaXplcy4gVW5mb3J0dW5hdGVseSwgaWYgdGhlIGltYWdlIGlzIG5vdCB5
ZXQgbG9hZGVkIHdlIGlnbm9yZSB0aGlzIGNvbnRhaW5lcgorICAgICAgICBzaXplIGluZm9ybWF0
aW9uISBUaGlzIHBhdGNoIHN0b3JlcyByZXF1ZXN0aW5nIGNvbnRhaW5lciBzaXplcyBtYWRlIHdo
aWxlIHRoZSBpbWFnZSBpcworICAgICAgICBub3QgeWV0IGxvYWRlZC4KKworICAgICAgICBUaGlz
IHBhdGNoIGZpeGVzIGEgYnVnIHdoZXJlIFNWRyBpbWFnZXMgd291bGQgZGlzcGxheSBpbmNvcnJl
Y3RseSBvbiB0aGUgZmlyc3QgbG9hZCBidXQKKyAgICAgICAgY29ycmVjdGx5IHRoZXJlYWZ0ZXIu
IEFkZGl0aW9uYWxseSwgdGhpcyBidWcgY2F1c2VkIHRoZSBTVkdJbWFnZUNhY2hlIHRvIG5vdCBi
ZSB1c2VkIGluIG1hbnkKKyAgICAgICAgcmVhbCB3b3JsZCBzY2VuYXJpb3MuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpcyBsb29zZWx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkgYmxhbWJvdiBpbiBXSzk4
NDAzLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbWlzYy9zdmctaW1hZ2UtZGVsYXllZC1z
aXplLW5lZ290aWF0aW9uLmh0bWwKKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6ZGlkUmVtb3ZlQ2xpZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjphbGxDbGllbnRzUmVtb3ZlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpjbGVhcik6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRJbWFnZTo6Y3JlYXRlSW1hZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5oOgorCisgICAgICAgICAgICBBIG5ldyBtYXAgaGFzIGJlZW4gYWRkZWQgdG8gdHJh
Y2sgcmVuZGVyZXIgLT4gc2l6ZSBpbmZvcm1hdGlvbiBiZWZvcmUgYW4gaW1hZ2UgaGFzCisgICAg
ICAgICAgICBsb2FkZWQuIE5vdGUgdGhhdCB0aGlzIGFmZmVjdHMgYWxsIGltYWdlcyAobm90IGp1
c3QgaW1hZ2VzIHRoYXQgcmVxdWlyZSBjb250YWluZXIgc2l6ZQorICAgICAgICAgICAgaW5mb3Jt
YXRpb24pIGJ1dCB3ZSBjYW5ub3Qga25vdyB0aGUgaW1hZ2UgdHlwZSBiZWZvcmUgdGhlIGltYWdl
IGhhcyBsb2FkZWQuCisKIDIwMTItMTItMTcgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0cmFja2luZyBoaXQgdGVzdCByZWN0
YW5nbGVzIHRvIGVuYWJsZSBmYXN0IGV2ZW50IHJlamVjdGlvbiBpbiB0aGUgY29tcG9zaXRvcgpJ
bmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCShyZXZp
c2lvbiAxMzc5MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDEwIEBAIHZvaWQgQ2FjaGVkSW1hZ2U6
OmRpZEFkZENsaWVudChDYWNoZWRSZXMKIAogdm9pZCBDYWNoZWRJbWFnZTo6ZGlkUmVtb3ZlQ2xp
ZW50KENhY2hlZFJlc291cmNlQ2xpZW50KiBjKQogeworICAgIEFTU0VSVChjKTsKICAgICBBU1NF
UlQoYy0+cmVzb3VyY2VDbGllbnRUeXBlKCkgPT0gQ2FjaGVkSW1hZ2VDbGllbnQ6OmV4cGVjdGVk
VHlwZSgpKTsKKworICAgIG1fcGVuZGluZ0NvbnRhaW5lclNpemVSZXF1ZXN0cy5yZW1vdmUoc3Rh
dGljX2Nhc3Q8Q2FjaGVkSW1hZ2VDbGllbnQqPihjKSk7CiAjaWYgRU5BQkxFKFNWRykKICAgICBp
ZiAobV9zdmdJbWFnZUNhY2hlKQogICAgICAgICBtX3N2Z0ltYWdlQ2FjaGUtPnJlbW92ZUNsaWVu
dEZyb21DYWNoZShzdGF0aWNfY2FzdDxDYWNoZWRJbWFnZUNsaWVudCo+KGMpKTsKQEAgLTExMSw2
ICsxMTQsNyBAQCB2b2lkIENhY2hlZEltYWdlOjpkaWRSZW1vdmVDbGllbnQoQ2FjaGVkCiAKIHZv
aWQgQ2FjaGVkSW1hZ2U6OmFsbENsaWVudHNSZW1vdmVkKCkKIHsKKyAgICBtX3BlbmRpbmdDb250
YWluZXJTaXplUmVxdWVzdHMuY2xlYXIoKTsKICAgICBpZiAobV9pbWFnZSAmJiAhZXJyb3JPY2N1
cnJlZCgpKQogICAgICAgICBtX2ltYWdlLT5yZXNldEFuaW1hdGlvbigpOwogfQpAQCAtMTg0LDEw
ICsxODgsMTUgQEAgSW1hZ2UqIENhY2hlZEltYWdlOjppbWFnZUZvclJlbmRlcmVyKGNvbgogICAg
IHJldHVybiBJbWFnZTo6bnVsbEltYWdlKCk7CiB9CiAKLXZvaWQgQ2FjaGVkSW1hZ2U6OnNldENv
bnRhaW5lclNpemVGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25z
dCBJbnRTaXplJiBjb250YWluZXJTaXplLCBmbG9hdCBjb250YWluZXJab29tKQordm9pZCBDYWNo
ZWRJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKGNvbnN0IENhY2hlZEltYWdlQ2xp
ZW50KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgY29udGFpbmVyU2l6ZSwgZmxvYXQgY29udGFp
bmVyWm9vbSkKIHsKLSAgICBpZiAoIW1faW1hZ2UgfHwgY29udGFpbmVyU2l6ZS5pc0VtcHR5KCkp
CisgICAgaWYgKGNvbnRhaW5lclNpemUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAg
QVNTRVJUKHJlbmRlcmVyKTsKKyAgICBpZiAoIW1faW1hZ2UpIHsKKyAgICAgICAgbV9wZW5kaW5n
Q29udGFpbmVyU2l6ZVJlcXVlc3RzLnNldChyZW5kZXJlciwgU2l6ZUFuZFpvb20oY29udGFpbmVy
U2l6ZSwgY29udGFpbmVyWm9vbSkpOwogICAgICAgICByZXR1cm47CisgICAgfQogI2lmIEVOQUJM
RShTVkcpCiAgICAgaWYgKCFtX2ltYWdlLT5pc1NWR0ltYWdlKCkpIHsKICAgICAgICAgbV9pbWFn
ZS0+c2V0Q29udGFpbmVyU2l6ZShjb250YWluZXJTaXplKTsKQEAgLTE5Niw3ICsyMDUsNiBAQCB2
b2lkIENhY2hlZEltYWdlOjpzZXRDb250YWluZXJTaXplRm9yUmVuCiAKICAgICBtX3N2Z0ltYWdl
Q2FjaGUtPnNldFJlcXVlc3RlZFNpemVBbmRTY2FsZXMocmVuZGVyZXIsIFNWR0ltYWdlQ2FjaGU6
OlNpemVBbmRTY2FsZXMoY29udGFpbmVyU2l6ZSwgY29udGFpbmVyWm9vbSkpOwogI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0ocmVuZGVyZXIpOwogICAgIFVOVVNFRF9QQVJBTShjb250YWluZXJab29t
KTsKICAgICBtX2ltYWdlLT5zZXRDb250YWluZXJTaXplKGNvbnRhaW5lclNpemUpOwogI2VuZGlm
CkBAIC0yOTcsNiArMzA1LDcgQEAgdm9pZCBDYWNoZWRJbWFnZTo6Y2xlYXIoKQogICAgIG1fc3Zn
SW1hZ2VDYWNoZS5jbGVhcigpOwogI2VuZGlmCiAgICAgY2xlYXJJbWFnZSgpOworICAgIG1fcGVu
ZGluZ0NvbnRhaW5lclNpemVSZXF1ZXN0cy5jbGVhcigpOwogICAgIHNldEVuY29kZWRTaXplKDAp
OwogfQogCkBAIC0zMDYsMjAgKzMxNSwyNSBAQCBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y3Jl
YXRlSW1hZ2UoKQogICAgIGlmIChtX2ltYWdlKQogICAgICAgICByZXR1cm47CiAjaWYgVVNFKENH
KSAmJiAhVVNFKFdFQktJVF9JTUFHRV9ERUNPREVSUykKLSAgICBpZiAobV9yZXNwb25zZS5taW1l
VHlwZSgpID09ICJhcHBsaWNhdGlvbi9wZGYiKSB7CisgICAgZWxzZSBpZiAobV9yZXNwb25zZS5t
aW1lVHlwZSgpID09ICJhcHBsaWNhdGlvbi9wZGYiKQogICAgICAgICBtX2ltYWdlID0gUERGRG9j
dW1lbnRJbWFnZTo6Y3JlYXRlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAjZW5kaWYKICNp
ZiBFTkFCTEUoU1ZHKQotICAgIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0gImltYWdlL3N2
Zyt4bWwiKSB7CisgICAgZWxzZSBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgpID09ICJpbWFnZS9z
dmcreG1sIikgewogICAgICAgICBSZWZQdHI8U1ZHSW1hZ2U+IHN2Z0ltYWdlID0gU1ZHSW1hZ2U6
OmNyZWF0ZSh0aGlzKTsKICAgICAgICAgbV9zdmdJbWFnZUNhY2hlID0gU1ZHSW1hZ2VDYWNoZTo6
Y3JlYXRlKHN2Z0ltYWdlLmdldCgpKTsKICAgICAgICAgbV9pbWFnZSA9IHN2Z0ltYWdlLnJlbGVh
c2UoKTsKLSAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZgotICAgIG1faW1hZ2UgPSBCaXRt
YXBJbWFnZTo6Y3JlYXRlKHRoaXMpOworICAgIGVsc2UKKyAgICAgICAgbV9pbWFnZSA9IEJpdG1h
cEltYWdlOjpjcmVhdGUodGhpcyk7CisKKyAgICAvLyBTZW5kIHF1ZXVlZCBjb250YWluZXIgc2l6
ZSByZXF1ZXN0cy4KKyAgICBpZiAobV9pbWFnZSAmJiBtX2ltYWdlLT51c2VzQ29udGFpbmVyU2l6
ZSgpKSB7CisgICAgICAgIGZvciAoQ29udGFpbmVyU2l6ZVJlcXVlc3RzOjppdGVyYXRvciBpdCA9
IG1fcGVuZGluZ0NvbnRhaW5lclNpemVSZXF1ZXN0cy5iZWdpbigpOyBpdCAhPSBtX3BlbmRpbmdD
b250YWluZXJTaXplUmVxdWVzdHMuZW5kKCk7ICsraXQpCisgICAgICAgICAgICBzZXRDb250YWlu
ZXJTaXplRm9yUmVuZGVyZXIoaXQtPmtleSwgaXQtPnZhbHVlLmZpcnN0LCBpdC0+dmFsdWUuc2Vj
b25kKTsKKyAgICAgICAgbV9wZW5kaW5nQ29udGFpbmVyU2l6ZVJlcXVlc3RzLmNsZWFyKCk7Cisg
ICAgfQogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRJbWFnZTo6Y2xlYXJJbWFnZSgpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAkocmV2aXNpb24gMTM3OTM5
KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDggKzI2LDEwIEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNp
bmNsdWRlICJJbWFnZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUg
IkludFNpemVIYXNoLmgiCiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlNWR0lt
YWdlQ2FjaGUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTksNyArNjEsNyBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGNhblJlbmRlcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBmbG9hdCBt
dWx0aXBsaWVyKSB7IHJldHVybiAhZXJyb3JPY2N1cnJlZCgpICYmICFpbWFnZVNpemVGb3JSZW5k
ZXJlcihyZW5kZXJlciwgbXVsdGlwbGllcikuaXNFbXB0eSgpOyB9CiAKLSAgICB2b2lkIHNldENv
bnRhaW5lclNpemVGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBJbnRTaXpl
JiwgZmxvYXQpOworICAgIHZvaWQgc2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKGNvbnN0IENh
Y2hlZEltYWdlQ2xpZW50KiwgY29uc3QgSW50U2l6ZSYsIGZsb2F0KTsKICAgICBib29sIHVzZXNJ
bWFnZUNvbnRhaW5lclNpemUoKSBjb25zdDsKICAgICBib29sIGltYWdlSGFzUmVsYXRpdmVXaWR0
aCgpIGNvbnN0OwogICAgIGJvb2wgaW1hZ2VIYXNSZWxhdGl2ZUhlaWdodCgpIGNvbnN0OwpAQCAt
MTA3LDYgKzEwOSwxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUHVyZ2VQcmlvcml0eSBwdXJn
ZVByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gUHVyZ2VGaXJzdDsgfQogICAgIHZvaWQgY2hlY2tT
aG91bGRQYWludEJyb2tlbkltYWdlKCk7CiAKKyAgICB0eXBlZGVmIHBhaXI8SW50U2l6ZSwgZmxv
YXQ+IFNpemVBbmRab29tOworICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBDYWNoZWRJbWFnZUNs
aWVudCosIFNpemVBbmRab29tPiBDb250YWluZXJTaXplUmVxdWVzdHM7CisgICAgQ29udGFpbmVy
U2l6ZVJlcXVlc3RzIG1fcGVuZGluZ0NvbnRhaW5lclNpemVSZXF1ZXN0czsKKwogICAgIFJlZlB0
cjxJbWFnZT4gbV9pbWFnZTsKICNpZiBFTkFCTEUoU1ZHKQogICAgIE93blB0cjxTVkdJbWFnZUNh
Y2hlPiBtX3N2Z0ltYWdlQ2FjaGU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzc5MzkpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0x
Mi0xNyAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgorCisgICAgICAgIFF1ZXVlIGNv
bnRhaW5lciBzaXplIHJlcXVlc3RzIHdoaWxlIGltYWdlcyBhcmUgbG9hZGluZy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTA5NworCisgICAgICAg
IFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBJIHJldXNlZCB0aGUgZW1iZWRk
ZWQuc3ZnIGFuZCBzdmctc2xvdy5wbCB0ZXN0IGZpbGVzIGZyb20gYSBzaW1pbGFyIHRlc3QgZm9y
IHN2Zy1hcy1vYmplY3QKKyAgICAgICAgc2l6ZSBuZWdvdGlhdGlvbi4gc3ZnLXNsb3cucGwgc2lt
cGx5IGRlbGF5cyB0aGUgbG9hZGluZyBvZiB0aGUgZW1iZWRkZWQuc3ZnIGZpbGUuCisgICAgICAg
IFRyaWdnZXJpbmcgdGhpcyBidWcgcmVsaWFibHkgdXNpbmcgdGhlIGxvY2FsIGZpbGVzeXN0ZW0g
aXMgdG9vIGJyaXR0bGUuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRl
bGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi5odG1sOiBB
ZGRlZC4KKwogMjAxMi0xMi0xNyAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRyYWNraW5nIGhpdCB0ZXN0IHJlY3RhbmdsZXMg
dG8gZW5hYmxlIGZhc3QgZXZlbnQgcmVqZWN0aW9uIGluIHRoZSBjb21wb3NpdG9yCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5ZWQtc2l6ZS1uZWdvdGlh
dGlvbi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9zdmctaW1hZ2UtZGVsYXllZC1zaXplLW5lZ290aWF0aW9uLWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvc3ZnLWltYWdlLWRlbGF5
ZWQtc2l6ZS1uZWdvdGlhdGlvbi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPgorICBUZXN0IHRoYXQgYW4gaW1hZ2UgbG9hZGVkIGFmdGVyIGluaXRpYWwgbGF5b3V0IHdp
bGwgaGF2ZSB0aGUgY29ycmVjdCBzaXplLjxici8+CisgIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhl
cmUgaXMgYSBibHVlIHNxdWFyZSAobm90IHJlY3RhbmdsZSkgd2l0aCBhIGdyZWVuIGNpcmNsZSAo
bm90IG92YWwpLgorPC9wPgorPGltZyBzcmM9InJlc291cmNlcy9lbWJlZGRlZC5zdmciIHdpZHRo
PSIxMDAiIGhlaWdodD0iMzAwIj48L2ltZz4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9zdmctaW1hZ2UtZGVsYXllZC1zaXplLW5lZ290aWF0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3N2Zy1pbWFn
ZS1kZWxheWVkLXNpemUtbmVnb3RpYXRpb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9zdmctaW1hZ2UtZGVsYXllZC1zaXplLW5lZ290aWF0aW9uLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKworZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKKyAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+CisgIFRlc3QgdGhhdCBhbiBpbWFnZSBsb2FkZWQgYWZ0ZXIg
aW5pdGlhbCBsYXlvdXQgd2lsbCBoYXZlIHRoZSBjb3JyZWN0IHNpemUuPGJyLz4KKyAgVGhpcyB0
ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGJsdWUgc3F1YXJlIChub3QgcmVjdGFuZ2xlKSB3aXRo
IGEgZ3JlZW4gY2lyY2xlIChub3Qgb3ZhbCkuCis8L3A+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3N2
Zy1zbG93LnBsIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjMwMCIgb25sb2FkPSJmaW5pc2hUZXN0KCki
PjwvaW1nPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>