<?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>28064</bug_id>
          
          <creation_ts>2009-08-07 01:01:30 -0700</creation_ts>
          <short_desc>wrong calculation of overflow size for flexbox and table</short_desc>
          <delta_ts>2009-08-13 09:16:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Shinichiro Hamaji">hamaji</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>137818</commentid>
    <comment_count>0</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-08-07 01:01:30 -0700</bug_when>
    <thetext>RenderFlexibleBox and RenderTable has following code

    IntRect reflection(reflectionBox());
    m_overflowTop = min(m_overflowTop, reflection.y());
    m_overflowHeight = max(m_overflowHeight, reflection.bottom());
    m_overflowLeft = min(m_overflowLeft, reflection.x());
    m_overflowHeight = max(m_overflowWidth, reflection.right());

The last line is obviously wrong. I&apos;ll send a patch later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137824</commentid>
    <comment_count>1</comment_count>
      <attachid>34258</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-08-07 01:14:22 -0700</bug_when>
    <thetext>Created attachment 34258
Patch v1


---
 9 files changed, 117 insertions(+), 62 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137897</commentid>
    <comment_count>2</comment_count>
      <attachid>34258</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 08:40:40 -0700</bug_when>
    <thetext>Comment on attachment 34258
Patch v1

It is not immediately apparent to me what was wrong in the table code.  Please explain in your ChangeLog.

I like how the line spacing was where you copied this from:
+    style()-&gt;getBoxShadowExtent(shadowTop, shadowRight, shadowBottom, shadowLeft);
+    m_overflowLeft = min(m_overflowLeft, shadowLeft);

I would prefer there was a line between the shadow lookups and the first m_overflowLeft setting.

r- because your ChangeLog isn&apos;t clear enough (or my eyes aren&apos;t good enough) to understand easily what this does besides moving code.

This change looks GREAT!  But I need to know (and future people looking at your patch need to know) what is changed for Table/Flexbox.  A simple pointer in the ChangeLog to what the error in the old code was would suffice.

Thanks for doing this!  Such a fantastic cleanup. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138601</commentid>
    <comment_count>3</comment_count>
      <attachid>34440</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-08-09 22:09:54 -0700</bug_when>
    <thetext>Created attachment 34440
Patch v2


---
 9 files changed, 130 insertions(+), 62 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138602</commentid>
    <comment_count>4</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-08-09 22:18:17 -0700</bug_when>
    <thetext>Done! Thanks for the review. As for RenderBlock style, I slightly preferred no spacing, but it was not strong preference. I&apos;m 100% sure your preference should be closer to webkit&apos;s preference :) and I added a vertical space. I also added some descriptions in ChangeLog. Sorry for poor descriptions before. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138604</commentid>
    <comment_count>5</comment_count>
      <attachid>34440</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-09 22:23:11 -0700</bug_when>
    <thetext>Comment on attachment 34440
Patch v2

Fantastic!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139613</commentid>
    <comment_count>6</comment_count>
      <attachid>34440</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-12 15:41:52 -0700</bug_when>
    <thetext>Comment on attachment 34440
Patch v2

Rejecting patch 34440 from commit-queue.  This patch will require manual commit.

WebKitTools/Scripts/run-webkit-tests --no-launch-safari --quiet failed with exit code 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139618</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-12 15:51:35 -0700</bug_when>
    <thetext>transitions/transition-end-event-transform.html -&gt; failed
Not sure if it was related to your patch or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139756</commentid>
    <comment_count>8</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-08-13 02:01:27 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; transitions/transition-end-event-transform.html -&gt; failed
&gt; Not sure if it was related to your patch or not.

Hmm... I don&apos;t see this failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139858</commentid>
    <comment_count>9</comment_count>
      <attachid>34440</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-13 08:54:39 -0700</bug_when>
    <thetext>Comment on attachment 34440
Patch v2

It&apos;s possible my local test run was simply flakey.  I&quot;ll add it back to the queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139864</commentid>
    <comment_count>10</comment_count>
      <attachid>34440</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-13 09:16:19 -0700</bug_when>
    <thetext>Comment on attachment 34440
Patch v2

Clearing flags on attachment: 34440

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	M	LayoutTests/fast/reflections/reflection-overflow-scroll-expected.txt
	M	LayoutTests/fast/reflections/reflection-overflow-scroll.html
	M	LayoutTests/fast/reflections/resources/reflection-overflow-scroll.js
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderBlock.cpp
	M	WebCore/rendering/RenderBlock.h
	M	WebCore/rendering/RenderFlexibleBox.cpp
	M	WebCore/rendering/RenderTable.cpp
Committed r47200
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderFlexibleBox.cpp
	M	WebCore/rendering/RenderBlock.cpp
	M	WebCore/rendering/RenderBlock.h
	M	WebCore/rendering/RenderTable.cpp
	M	LayoutTests/ChangeLog
	M	LayoutTests/fast/reflections/reflection-overflow-scroll-expected.txt
	M	LayoutTests/fast/reflections/reflection-overflow-scroll.html
	M	LayoutTests/fast/reflections/resources/reflection-overflow-scroll.js
r47200 = df611cf32e24948c658a71bf104e67f8eaf2971a (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/47200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139865</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-13 09:16:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34258</attachid>
            <date>2009-08-07 01:14:22 -0700</date>
            <delta_ts>2009-08-09 22:09:49 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-28064-20090807171420.patch</filename>
            <type>text/plain</type>
            <size>10546</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MDBiZWU5Li44MTJjNTc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMDktMDgt
MDcgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3cm9uZyBjYWxjdWxhdGlvbiBv
ZiBvdmVyZmxvdyBzaXplIGZvciBmbGV4Ym94IGFuZCB0YWJsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNjQKKworICAgICAgICAqIGZhc3QvcmVm
bGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3JlZmxlY3Rpb25zL3Jlc291cmNlcy9yZWZsZWN0aW9uLW92ZXJmbG93LXNj
cm9sbC5qczoKKworMjAwOS0wOC0wNyAgU2hpbmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlIFBldGVyc29uLgogCiAgICAgICAg
IENhbm5vdCBzY3JvbGwgZm9yIGJveC1yZWZsZWN0OnJpZ2h0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3JlZmxlY3Rpb24tb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1z
Y3JvbGwtZXhwZWN0ZWQudHh0CmluZGV4IDdiYTJkOGMuLjM0MzdkNmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1v
dmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsMTAgQEAgT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUKIAogUEFTUyBlbGVtZW50LnNjcm9sbExlZnQgaXMgMTUwCiBQQVNTIGVsZW1l
bnQuc2Nyb2xsVG9wIGlzIDgwCitQQVNTIGVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAxNTAKK1BBU1Mg
ZWxlbWVudC5zY3JvbGxUb3AgaXMgODAKK1BBU1MgZWxlbWVudC5zY3JvbGxMZWZ0IGlzIDE1MAor
UEFTUyBlbGVtZW50LnNjcm9sbFRvcCBpcyA4MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZmxl
Y3Rpb25zL3JlZmxlY3Rpb24tb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZmxlY3Rpb25zL3JlZmxlY3Rpb24tb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKaW5kZXggZDYwNGJi
NS4uNTFmZjFhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWZsZWN0aW9ucy9yZWZs
ZWN0aW9uLW92ZXJmbG93LXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVmbGVj
dGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwuaHRtbApAQCAtMjksNiArMjksNDggQEAg
QWRhbS4KIDwvZGl2PgogPC9kaXY+CiAKKzxwPgorV2l0aCBmbGV4Ym94LiBUaGVyZSBzaG91bGQg
YmUgaG9yaXpvbnRhbCBzY3JvbGwgYmFyLgorPGRpdiBpZD0iaG9yaXpvbnRhbF9mbGV4IiBzdHls
ZT0ib3ZlcmZsb3cteDpzY3JvbGw7IHdpZHRoOjE1MHB4OyI+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
Oi13ZWJraXQtYm94OyAtd2Via2l0LWJveC1yZWZsZWN0OnJpZ2h0OyB3aWR0aDoxNTBweDsiPgor
TWFkYW0sIEkgYW0gQWRhbS4KKzwvZGl2PgorPC9kaXY+CisKKzxwPgorV2l0aCBmbGV4Ym94LiBU
aGVyZSBzaG91bGQgYmUgdmVydGljYWwgc2Nyb2xsIGJhci4KKzxkaXYgaWQ9InZlcnRpY2FsX2Zs
ZXgiIHN0eWxlPSJvdmVyZmxvdy15OnNjcm9sbDsgd2lkdGg6MTUwcHg7IGhlaWdodDo4MHB4OyI+
Cis8ZGl2IHN0eWxlPSJkaXNwbGF5Oi13ZWJraXQtYm94OyAtd2Via2l0LWJveC1yZWZsZWN0OmJl
bG93OyBoZWlnaHQ6ODBweDsiPgorTWFkYW0sPGJyPgorSTxicj4KK2FtPGJyPgorQWRhbS4KKzwv
ZGl2PgorPC9kaXY+CisKKzxwPgorV2l0aCB0YWJsZS4gVGhlcmUgc2hvdWxkIGJlIGhvcml6b250
YWwgc2Nyb2xsIGJhci4KKzxkaXYgaWQ9Imhvcml6b250YWxfdGFibGUiIHN0eWxlPSJvdmVyZmxv
dy14OnNjcm9sbDsgd2lkdGg6MTUwcHg7Ij4KKzx0YWJsZSBzdHlsZT0iLXdlYmtpdC1ib3gtcmVm
bGVjdDpyaWdodDsgd2lkdGg6MTUwcHg7Ij4KKzx0cj48dGQ+CitNYWRhbSwgSSBhbSBBZGFtLgor
PC90cj48L3RkPgorPC90YWJsZT4KKzwvZGl2PgorCis8cD4KK1dpdGggdGFibGUuIFRoZXJlIHNo
b3VsZCBiZSB2ZXJ0aWNhbCBzY3JvbGwgYmFyLgorPGRpdiBpZD0idmVydGljYWxfdGFibGUiIHN0
eWxlPSJvdmVyZmxvdy15OnNjcm9sbDsgd2lkdGg6MTUwcHg7IGhlaWdodDo4MHB4OyI+Cis8dGFi
bGUgc3R5bGU9Ii13ZWJraXQtYm94LXJlZmxlY3Q6YmVsb3c7IGhlaWdodDo4MHB4OyI+Cis8dHI+
PHRkPgorTWFkYW0sPGJyPgorSTxicj4KK2FtPGJyPgorQWRhbS4KKzwvdHI+PC90ZD4KKzwvdGFi
bGU+Cis8L2Rpdj4KKwogPC9kaXY+CiAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVmbGVjdGlv
bi1vdmVyZmxvdy1zY3JvbGwuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZWZsZWN0aW9ucy9yZXNvdXJjZXMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3Jlc291cmNlcy9yZWZsZWN0aW9uLW92ZXJm
bG93LXNjcm9sbC5qcwppbmRleCBkOTZlNDc3Li5iZTdkZThmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3Jlc291cmNlcy9yZWZsZWN0aW9uLW92ZXJmbG93LXNjcm9s
bC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3Jlc291cmNlcy9yZWZsZWN0
aW9uLW92ZXJmbG93LXNjcm9sbC5qcwpAQCAtNywxMSArNywyNCBAQCB2YXIgZWxlbWVudCA9IG51
bGw7CiBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvcml6b250YWwiKTsKIGVs
ZW1lbnQuc2Nyb2xsTGVmdCA9IDUwMDsKIHNob3VsZEJlKCJlbGVtZW50LnNjcm9sbExlZnQiLCAi
MTUwIik7Ci0KIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVydGljYWwiKTsK
IGVsZW1lbnQuc2Nyb2xsVG9wID0gNTAwOwogc2hvdWxkQmUoImVsZW1lbnQuc2Nyb2xsVG9wIiwg
IjgwIik7CiAKK2VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9yaXpvbnRhbF9m
bGV4Iik7CitlbGVtZW50LnNjcm9sbExlZnQgPSA1MDA7CitzaG91bGRCZSgiZWxlbWVudC5zY3Jv
bGxMZWZ0IiwgIjE1MCIpOworZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJ0
aWNhbF9mbGV4Iik7CitlbGVtZW50LnNjcm9sbFRvcCA9IDUwMDsKK3Nob3VsZEJlKCJlbGVtZW50
LnNjcm9sbFRvcCIsICI4MCIpOworCitlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Imhvcml6b250YWxfdGFibGUiKTsKK2VsZW1lbnQuc2Nyb2xsTGVmdCA9IDUwMDsKK3Nob3VsZEJl
KCJlbGVtZW50LnNjcm9sbExlZnQiLCAiMTUwIik7CitlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInZlcnRpY2FsX3RhYmxlIik7CitlbGVtZW50LnNjcm9sbFRvcCA9IDUwMDsKK3No
b3VsZEJlKCJlbGVtZW50LnNjcm9sbFRvcCIsICI4MCIpOworCiAvLyBJZiB3ZSBhcmUgaW4gRFRS
LCB3ZSBkb24ndCBuZWVkIG1lYW5pbmdsZXNzIHRyYWlsaW5nIG1lc3NhZ2VzLgogaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJt
YWluIikuaW5uZXJIVE1MID0gIiI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ0YzczYTEuLmYwYTVlNzAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIw
MDktMDgtMDcgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAorICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3cm9uZyBjYWxjdWxh
dGlvbiBvZiBvdmVyZmxvdyBzaXplIGZvciBmbGV4Ym94IGFuZCB0YWJsZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNjQKKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
dXBkYXRlT3ZlcmZsb3dXaXRoU2hhZG93QW5kUmVmbGVjdGlvbik6IGNyZWF0ZWQgZnJvbSBjb2Rl
IG9mIGxheW91dEJsb2NrCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0Qmxv
Y2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6IHVzZSB1cGRhdGVPdmVyZmxvd1dpdGhTaGFkb3dB
bmRSZWZsZWN0aW9uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0
QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGF5b3V0KTogdXNlIHVwZGF0ZU92ZXJmbG93V2l0aFNoYWRv
d0FuZFJlZmxlY3Rpb24KKworMjAwOS0wOC0wNyAgU2hpbmljaGlybyBIYW1hamkgIDxoYW1hamlA
Y2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlIFBldGVyc29uLgogCiAg
ICAgICAgIENhbm5vdCBzY3JvbGwgZm9yIGJveC1yZWZsZWN0OnJpZ2h0CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKaW5kZXggNjkyOWYxMC4uMGNkMTFjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtNzMwLDYgKzczMCwzMCBAQCB2b2lkIFJlbmRlckJsb2NrOjp1cGRhdGVTY3Jv
bGxJbmZvQWZ0ZXJMYXlvdXQoKQogICAgIH0KIH0KIAordm9pZCBSZW5kZXJCbG9jazo6dXBkYXRl
T3ZlcmZsb3dXaXRoU2hhZG93QW5kUmVmbGVjdGlvbigpCit7CisgICAgaWYgKGhhc092ZXJmbG93
Q2xpcCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnQgc2hhZG93TGVmdDsKKyAgICBpbnQg
c2hhZG93UmlnaHQ7CisgICAgaW50IHNoYWRvd1RvcDsKKyAgICBpbnQgc2hhZG93Qm90dG9tOwor
ICAgIHN0eWxlKCktPmdldEJveFNoYWRvd0V4dGVudChzaGFkb3dUb3AsIHNoYWRvd1JpZ2h0LCBz
aGFkb3dCb3R0b20sIHNoYWRvd0xlZnQpOworICAgIG1fb3ZlcmZsb3dMZWZ0ID0gbWluKG1fb3Zl
cmZsb3dMZWZ0LCBzaGFkb3dMZWZ0KTsKKyAgICBtX292ZXJmbG93V2lkdGggPSBtYXgobV9vdmVy
Zmxvd1dpZHRoLCB3aWR0aCgpICsgc2hhZG93UmlnaHQpOworICAgIG1fb3ZlcmZsb3dUb3AgPSBt
aW4obV9vdmVyZmxvd1RvcCwgc2hhZG93VG9wKTsKKyAgICBtX292ZXJmbG93SGVpZ2h0ID0gbWF4
KG1fb3ZlcmZsb3dIZWlnaHQsIGhlaWdodCgpICsgc2hhZG93Qm90dG9tKTsKKworICAgIGlmICho
YXNSZWZsZWN0aW9uKCkpIHsKKyAgICAgICAgSW50UmVjdCByZWZsZWN0aW9uKHJlZmxlY3Rpb25C
b3goKSk7CisgICAgICAgIG1fb3ZlcmZsb3dMZWZ0ID0gbWluKG1fb3ZlcmZsb3dMZWZ0LCByZWZs
ZWN0aW9uLngoKSk7CisgICAgICAgIG1fb3ZlcmZsb3dXaWR0aCA9IG1heChtX292ZXJmbG93V2lk
dGgsIHJlZmxlY3Rpb24ucmlnaHQoKSk7CisgICAgICAgIG1fb3ZlcmZsb3dUb3AgPSBtaW4obV9v
dmVyZmxvd1RvcCwgcmVmbGVjdGlvbi55KCkpOworICAgICAgICBtX292ZXJmbG93SGVpZ2h0ID0g
bWF4KG1fb3ZlcmZsb3dIZWlnaHQsIHJlZmxlY3Rpb24uYm90dG9tKCkpOworICAgIH0KK30KKwog
dm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0KCkKIHsKICAgICAvLyBVcGRhdGUgb3VyIGZpcnN0IGxl
dHRlciBpbmZvIG5vdy4KQEAgLTg2OCwyNiArODkyLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5
b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuKQogICAgIG1fb3ZlcmZsb3dXaWR0aCA9IG1h
eChtX292ZXJmbG93V2lkdGgsIHdpZHRoKCkpOwogICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgo
bV9vdmVyZmxvd0hlaWdodCwgaGVpZ2h0KCkpOwogCi0gICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAo
KSkgewotICAgICAgICBpbnQgc2hhZG93TGVmdDsKLSAgICAgICAgaW50IHNoYWRvd1JpZ2h0Owot
ICAgICAgICBpbnQgc2hhZG93VG9wOwotICAgICAgICBpbnQgc2hhZG93Qm90dG9tOwotICAgICAg
ICBzdHlsZSgpLT5nZXRCb3hTaGFkb3dFeHRlbnQoc2hhZG93VG9wLCBzaGFkb3dSaWdodCwgc2hh
ZG93Qm90dG9tLCBzaGFkb3dMZWZ0KTsKLQotICAgICAgICBtX292ZXJmbG93TGVmdCA9IG1pbiht
X292ZXJmbG93TGVmdCwgc2hhZG93TGVmdCk7Ci0gICAgICAgIG1fb3ZlcmZsb3dXaWR0aCA9IG1h
eChtX292ZXJmbG93V2lkdGgsIHdpZHRoKCkgKyBzaGFkb3dSaWdodCk7Ci0gICAgICAgIG1fb3Zl
cmZsb3dUb3AgPSBtaW4obV9vdmVyZmxvd1RvcCwgc2hhZG93VG9wKTsKLSAgICAgICAgbV9vdmVy
Zmxvd0hlaWdodCA9IG1heChtX292ZXJmbG93SGVpZ2h0LCBoZWlnaHQoKSArIHNoYWRvd0JvdHRv
bSk7Ci0KLSAgICAgICAgaWYgKGhhc1JlZmxlY3Rpb24oKSkgewotICAgICAgICAgICAgSW50UmVj
dCByZWZsZWN0aW9uKHJlZmxlY3Rpb25Cb3goKSk7Ci0gICAgICAgICAgICBtX292ZXJmbG93TGVm
dCA9IG1pbihtX292ZXJmbG93TGVmdCwgcmVmbGVjdGlvbi54KCkpOwotICAgICAgICAgICAgbV9v
dmVyZmxvd1dpZHRoID0gbWF4KG1fb3ZlcmZsb3dXaWR0aCwgcmVmbGVjdGlvbi5yaWdodCgpKTsK
LSAgICAgICAgICAgIG1fb3ZlcmZsb3dUb3AgPSBtaW4obV9vdmVyZmxvd1RvcCwgcmVmbGVjdGlv
bi55KCkpOwotICAgICAgICAgICAgbV9vdmVyZmxvd0hlaWdodCA9IG1heChtX292ZXJmbG93SGVp
Z2h0LCByZWZsZWN0aW9uLmJvdHRvbSgpKTsKLSAgICAgICAgfQotICAgIH0KKyAgICB1cGRhdGVP
dmVyZmxvd1dpdGhTaGFkb3dBbmRSZWZsZWN0aW9uKCk7CiAKICAgICBzdGF0ZVB1c2hlci5wb3Ao
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggZjY3NWI2Ny4uZWZiMWI2MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCkBAIC0yMDQsNyArMjA0LDkgQEAgcHJvdGVjdGVkOgogCiAgICAg
dmlydHVhbCBib29sIGhhc0xpbmVJZkVtcHR5KCkgY29uc3Q7CiAgICAgYm9vbCBsYXlvdXRPbmx5
UG9zaXRpb25lZE9iamVjdHMoKTsKLSAgICAKKworICAgIHZvaWQgdXBkYXRlT3ZlcmZsb3dXaXRo
U2hhZG93QW5kUmVmbGVjdGlvbigpOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CiAg
ICAgdmlydHVhbCBjb25zdCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigp
IGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcAppbmRleCAyNmMzZjFkLi43MGZiNmY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guY3BwCkBAIC0yNzgsMjYgKzI3OCw3IEBAIHZvaWQgUmVuZGVyRmxleGli
bGVCb3g6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKICAgICBpZiAobV9vdmVy
Zmxvd1dpZHRoIDwgd2lkdGgoKSkKICAgICAgICAgbV9vdmVyZmxvd1dpZHRoID0gd2lkdGgoKTsK
IAotICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkpIHsKLSAgICAgICAgaW50IHNoYWRvd0xlZnQ7
Ci0gICAgICAgIGludCBzaGFkb3dSaWdodDsKLSAgICAgICAgaW50IHNoYWRvd1RvcDsKLSAgICAg
ICAgaW50IHNoYWRvd0JvdHRvbTsKLSAgICAgICAgc3R5bGUoKS0+Z2V0Qm94U2hhZG93RXh0ZW50
KHNoYWRvd1RvcCwgc2hhZG93UmlnaHQsIHNoYWRvd0JvdHRvbSwgc2hhZG93TGVmdCk7Ci0KLSAg
ICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9vdmVyZmxvd0xlZnQsIHNoYWRvd0xlZnQpOwot
ICAgICAgICBtX292ZXJmbG93V2lkdGggPSBtYXgobV9vdmVyZmxvd1dpZHRoLCB3aWR0aCgpICsg
c2hhZG93UmlnaHQpOwotICAgICAgICBtX292ZXJmbG93VG9wID0gbWluKG1fb3ZlcmZsb3dUb3As
IHNoYWRvd1RvcCk7Ci0gICAgICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hl
aWdodCwgaGVpZ2h0KCkgKyBzaGFkb3dCb3R0b20pOwotCi0gICAgICAgIGlmIChoYXNSZWZsZWN0
aW9uKCkpIHsKLSAgICAgICAgICAgIEludFJlY3QgcmVmbGVjdGlvbihyZWZsZWN0aW9uQm94KCkp
OwotICAgICAgICAgICAgbV9vdmVyZmxvd1RvcCA9IG1pbihtX292ZXJmbG93VG9wLCByZWZsZWN0
aW9uLnkoKSk7Ci0gICAgICAgICAgICBtX292ZXJmbG93SGVpZ2h0ID0gbWF4KG1fb3ZlcmZsb3dI
ZWlnaHQsIHJlZmxlY3Rpb24uYm90dG9tKCkpOwotICAgICAgICAgICAgbV9vdmVyZmxvd0xlZnQg
PSBtaW4obV9vdmVyZmxvd0xlZnQsIHJlZmxlY3Rpb24ueCgpKTsKLSAgICAgICAgICAgIG1fb3Zl
cmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd1dpZHRoLCByZWZsZWN0aW9uLnJpZ2h0KCkpOwot
ICAgICAgICB9Ci0gICAgfQorICAgIHVwZGF0ZU92ZXJmbG93V2l0aFNoYWRvd0FuZFJlZmxlY3Rp
b24oKTsKIAogICAgIHN0YXRlUHVzaGVyLnBvcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5j
cHAKaW5kZXggYjUwZjkxZi4uYzk1MDljZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApA
QCAtMzg5LDI2ICszODksNyBAQCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAgIC8vIEZJ
WE1FOiBPbmx5IHBhc3MgdHJ1ZSBpZiB3aWR0aCBvciBoZWlnaHQgY2hhbmdlZC4KICAgICBsYXlv
dXRQb3NpdGlvbmVkT2JqZWN0cyh0cnVlKTsKIAotICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkp
IHsKLSAgICAgICAgaW50IHNoYWRvd0xlZnQ7Ci0gICAgICAgIGludCBzaGFkb3dSaWdodDsKLSAg
ICAgICAgaW50IHNoYWRvd1RvcDsKLSAgICAgICAgaW50IHNoYWRvd0JvdHRvbTsKLSAgICAgICAg
c3R5bGUoKS0+Z2V0Qm94U2hhZG93RXh0ZW50KHNoYWRvd1RvcCwgc2hhZG93UmlnaHQsIHNoYWRv
d0JvdHRvbSwgc2hhZG93TGVmdCk7Ci0KLSAgICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9v
dmVyZmxvd0xlZnQsIHNoYWRvd0xlZnQpOwotICAgICAgICBtX292ZXJmbG93V2lkdGggPSBtYXgo
bV9vdmVyZmxvd1dpZHRoLCB3aWR0aCgpICsgc2hhZG93UmlnaHQpOwotICAgICAgICBtX292ZXJm
bG93VG9wID0gbWluKG1fb3ZlcmZsb3dUb3AsIHNoYWRvd1RvcCk7Ci0gICAgICAgIG1fb3ZlcmZs
b3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgaGVpZ2h0KCkgKyBzaGFkb3dCb3R0b20p
OwotCi0gICAgICAgIGlmIChoYXNSZWZsZWN0aW9uKCkpIHsKLSAgICAgICAgICAgIEludFJlY3Qg
cmVmbGVjdGlvbihyZWZsZWN0aW9uQm94KCkpOwotICAgICAgICAgICAgbV9vdmVyZmxvd1RvcCA9
IG1pbihtX292ZXJmbG93VG9wLCByZWZsZWN0aW9uLnkoKSk7Ci0gICAgICAgICAgICBtX292ZXJm
bG93SGVpZ2h0ID0gbWF4KG1fb3ZlcmZsb3dIZWlnaHQsIHJlZmxlY3Rpb24uYm90dG9tKCkpOwot
ICAgICAgICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9vdmVyZmxvd0xlZnQsIHJlZmxlY3Rp
b24ueCgpKTsKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd1dp
ZHRoLCByZWZsZWN0aW9uLnJpZ2h0KCkpOwotICAgICAgICB9Ci0gICAgfQorICAgIHVwZGF0ZU92
ZXJmbG93V2l0aFNoYWRvd0FuZFJlZmxlY3Rpb24oKTsKIAogICAgIHN0YXRlUHVzaGVyLnBvcCgp
Ow==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34440</attachid>
            <date>2009-08-09 22:09:54 -0700</date>
            <delta_ts>2009-08-13 09:16:19 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-28064-20090810140952.patch</filename>
            <type>text/plain</type>
            <size>11184</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MDBiZWU5Li43ZjVmNjFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMDktMDgt
MDcgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3cm9uZyBjYWxjdWxhdGlvbiBv
ZiBvdmVyZmxvdyBzaXplIGZvciBmbGV4Ym94IGFuZCB0YWJsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNjQKKworICAgICAgICBSZW5kZXJGbGV4
aWJsZUJveCBhbmQgUmVuZGVyVGFibGUgd2VyZSB1c2luZyB0aGUgd2lkdGggb2Ygb3ZlcmZsb3cK
KyAgICAgICAgdG8gdXBkYXRlIGhlaWdodCBvZiBvdmVyZmxvdywgc28gaGVpZ2h0IGJlY2FtZSB3
cm9uZyB2YWx1ZSBhbmQKKyAgICAgICAgd2lkdGggd2FzIG5vdCB1cGRhdGVkLiBBcyB0aGUgY29y
cmVzcG9uZGluZyBjb2RlIG9mIFJlbmRlckJsb2NrCisgICAgICAgIHdhcyBzYW5lLCBJIGZhY3Rv
cmVkIGl0IG91dCBhbmQgdXNlZCBmcm9tIFJlbmRlckZsZXhpYmxlQm94IGFuZAorICAgICAgICBS
ZW5kZXJUYWJsZS4KKworICAgICAgICAqIGZhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVy
Zmxvdy1zY3JvbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvcmVmbGVjdGlvbnMvcmVm
bGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3JlZmxlY3Rpb25z
L3Jlc291cmNlcy9yZWZsZWN0aW9uLW92ZXJmbG93LXNjcm9sbC5qczoKKworMjAwOS0wOC0wNyAg
U2hpbmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmll
d2VkIGJ5IEFkZWxlIFBldGVyc29uLgogCiAgICAgICAgIENhbm5vdCBzY3JvbGwgZm9yIGJveC1y
ZWZsZWN0OnJpZ2h0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3Jl
ZmxlY3Rpb24tb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQudHh0CmluZGV4
IDdiYTJkOGMuLjM0MzdkNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVmbGVjdGlv
bnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQu
dHh0CkBAIC01LDYgKzUsMTAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBlbGVt
ZW50LnNjcm9sbExlZnQgaXMgMTUwCiBQQVNTIGVsZW1lbnQuc2Nyb2xsVG9wIGlzIDgwCitQQVNT
IGVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAxNTAKK1BBU1MgZWxlbWVudC5zY3JvbGxUb3AgaXMgODAK
K1BBU1MgZWxlbWVudC5zY3JvbGxMZWZ0IGlzIDE1MAorUEFTUyBlbGVtZW50LnNjcm9sbFRvcCBp
cyA4MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3JlZmxlY3Rpb24tb3ZlcmZs
b3ctc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3JlZmxlY3Rpb24t
b3ZlcmZsb3ctc2Nyb2xsLmh0bWwKaW5kZXggZDYwNGJiNS4uNTFmZjFhOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWZsZWN0aW9ucy9yZWZsZWN0aW9uLW92ZXJmbG93LXNjcm9sbC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vdmVyZmxv
dy1zY3JvbGwuaHRtbApAQCAtMjksNiArMjksNDggQEAgQWRhbS4KIDwvZGl2PgogPC9kaXY+CiAK
KzxwPgorV2l0aCBmbGV4Ym94LiBUaGVyZSBzaG91bGQgYmUgaG9yaXpvbnRhbCBzY3JvbGwgYmFy
LgorPGRpdiBpZD0iaG9yaXpvbnRhbF9mbGV4IiBzdHlsZT0ib3ZlcmZsb3cteDpzY3JvbGw7IHdp
ZHRoOjE1MHB4OyI+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5Oi13ZWJraXQtYm94OyAtd2Via2l0LWJv
eC1yZWZsZWN0OnJpZ2h0OyB3aWR0aDoxNTBweDsiPgorTWFkYW0sIEkgYW0gQWRhbS4KKzwvZGl2
PgorPC9kaXY+CisKKzxwPgorV2l0aCBmbGV4Ym94LiBUaGVyZSBzaG91bGQgYmUgdmVydGljYWwg
c2Nyb2xsIGJhci4KKzxkaXYgaWQ9InZlcnRpY2FsX2ZsZXgiIHN0eWxlPSJvdmVyZmxvdy15OnNj
cm9sbDsgd2lkdGg6MTUwcHg7IGhlaWdodDo4MHB4OyI+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5Oi13
ZWJraXQtYm94OyAtd2Via2l0LWJveC1yZWZsZWN0OmJlbG93OyBoZWlnaHQ6ODBweDsiPgorTWFk
YW0sPGJyPgorSTxicj4KK2FtPGJyPgorQWRhbS4KKzwvZGl2PgorPC9kaXY+CisKKzxwPgorV2l0
aCB0YWJsZS4gVGhlcmUgc2hvdWxkIGJlIGhvcml6b250YWwgc2Nyb2xsIGJhci4KKzxkaXYgaWQ9
Imhvcml6b250YWxfdGFibGUiIHN0eWxlPSJvdmVyZmxvdy14OnNjcm9sbDsgd2lkdGg6MTUwcHg7
Ij4KKzx0YWJsZSBzdHlsZT0iLXdlYmtpdC1ib3gtcmVmbGVjdDpyaWdodDsgd2lkdGg6MTUwcHg7
Ij4KKzx0cj48dGQ+CitNYWRhbSwgSSBhbSBBZGFtLgorPC90cj48L3RkPgorPC90YWJsZT4KKzwv
ZGl2PgorCis8cD4KK1dpdGggdGFibGUuIFRoZXJlIHNob3VsZCBiZSB2ZXJ0aWNhbCBzY3JvbGwg
YmFyLgorPGRpdiBpZD0idmVydGljYWxfdGFibGUiIHN0eWxlPSJvdmVyZmxvdy15OnNjcm9sbDsg
d2lkdGg6MTUwcHg7IGhlaWdodDo4MHB4OyI+Cis8dGFibGUgc3R5bGU9Ii13ZWJraXQtYm94LXJl
ZmxlY3Q6YmVsb3c7IGhlaWdodDo4MHB4OyI+Cis8dHI+PHRkPgorTWFkYW0sPGJyPgorSTxicj4K
K2FtPGJyPgorQWRhbS4KKzwvdHI+PC90ZD4KKzwvdGFibGU+Cis8L2Rpdj4KKwogPC9kaXY+CiAK
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwuanMiPjwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWZsZWN0aW9ucy9yZXNvdXJj
ZXMvcmVmbGVjdGlvbi1vdmVyZmxvdy1zY3JvbGwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZmxl
Y3Rpb25zL3Jlc291cmNlcy9yZWZsZWN0aW9uLW92ZXJmbG93LXNjcm9sbC5qcwppbmRleCBkOTZl
NDc3Li5iZTdkZThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZmxlY3Rpb25zL3Jl
c291cmNlcy9yZWZsZWN0aW9uLW92ZXJmbG93LXNjcm9sbC5qcworKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZmxlY3Rpb25zL3Jlc291cmNlcy9yZWZsZWN0aW9uLW92ZXJmbG93LXNjcm9sbC5qcwpA
QCAtNywxMSArNywyNCBAQCB2YXIgZWxlbWVudCA9IG51bGw7CiBlbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImhvcml6b250YWwiKTsKIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IDUwMDsK
IHNob3VsZEJlKCJlbGVtZW50LnNjcm9sbExlZnQiLCAiMTUwIik7Ci0KIGVsZW1lbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidmVydGljYWwiKTsKIGVsZW1lbnQuc2Nyb2xsVG9wID0gNTAw
Owogc2hvdWxkQmUoImVsZW1lbnQuc2Nyb2xsVG9wIiwgIjgwIik7CiAKK2VsZW1lbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaG9yaXpvbnRhbF9mbGV4Iik7CitlbGVtZW50LnNjcm9sbExl
ZnQgPSA1MDA7CitzaG91bGRCZSgiZWxlbWVudC5zY3JvbGxMZWZ0IiwgIjE1MCIpOworZWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJ0aWNhbF9mbGV4Iik7CitlbGVtZW50LnNj
cm9sbFRvcCA9IDUwMDsKK3Nob3VsZEJlKCJlbGVtZW50LnNjcm9sbFRvcCIsICI4MCIpOworCitl
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvcml6b250YWxfdGFibGUiKTsKK2Vs
ZW1lbnQuc2Nyb2xsTGVmdCA9IDUwMDsKK3Nob3VsZEJlKCJlbGVtZW50LnNjcm9sbExlZnQiLCAi
MTUwIik7CitlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZlcnRpY2FsX3RhYmxl
Iik7CitlbGVtZW50LnNjcm9sbFRvcCA9IDUwMDsKK3Nob3VsZEJlKCJlbGVtZW50LnNjcm9sbFRv
cCIsICI4MCIpOworCiAvLyBJZiB3ZSBhcmUgaW4gRFRSLCB3ZSBkb24ndCBuZWVkIG1lYW5pbmds
ZXNzIHRyYWlsaW5nIG1lc3NhZ2VzLgogaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluIikuaW5uZXJIVE1MID0gIiI7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ0
YzczYTEuLjA3ZjEzNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMDktMDgtMDcgIFNoaW5pY2hpcm8gSGFt
YWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICB3cm9uZyBjYWxjdWxhdGlvbiBvZiBvdmVyZmxvdyBzaXplIGZv
ciBmbGV4Ym94IGFuZCB0YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjgwNjQKKworICAgICAgICBSZW5kZXJGbGV4aWJsZUJveCBhbmQgUmVuZGVy
VGFibGUgd2VyZSB1c2luZyB0aGUgd2lkdGggb2Ygb3ZlcmZsb3cKKyAgICAgICAgdG8gdXBkYXRl
IGhlaWdodCBvZiBvdmVyZmxvdywgc28gaGVpZ2h0IGJlY2FtZSB3cm9uZyB2YWx1ZSBhbmQKKyAg
ICAgICAgd2lkdGggd2FzIG5vdCB1cGRhdGVkLiBBcyB0aGUgY29ycmVzcG9uZGluZyBjb2RlIG9m
IFJlbmRlckJsb2NrCisgICAgICAgIHdhcyBzYW5lLCBJIGZhY3RvcmVkIGl0IG91dCBhbmQgdXNl
ZCBmcm9tIFJlbmRlckZsZXhpYmxlQm94IGFuZAorICAgICAgICBSZW5kZXJUYWJsZS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6dXBkYXRlT3ZlcmZsb3dXaXRoU2hhZG93QW5kUmVmbGVjdGlvbik6IGNyZWF0ZWQg
ZnJvbSBjb2RlIG9mIGxheW91dEJsb2NrCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6IHVzZSB1cGRhdGVPdmVyZmxvd1dp
dGhTaGFkb3dBbmRSZWZsZWN0aW9uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGF5b3V0KTogdXNlIHVwZGF0ZU92ZXJmbG93
V2l0aFNoYWRvd0FuZFJlZmxlY3Rpb24KKworMjAwOS0wOC0wNyAgU2hpbmljaGlybyBIYW1hamkg
IDxoYW1hamlAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlIFBldGVy
c29uLgogCiAgICAgICAgIENhbm5vdCBzY3JvbGwgZm9yIGJveC1yZWZsZWN0OnJpZ2h0CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNjkyOWYxMC4uNDZlMDhlOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtNzMwLDYgKzczMCwzMSBAQCB2b2lkIFJlbmRlckJsb2NrOjp1
cGRhdGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKQogICAgIH0KIH0KIAordm9pZCBSZW5kZXJCbG9j
azo6dXBkYXRlT3ZlcmZsb3dXaXRoU2hhZG93QW5kUmVmbGVjdGlvbigpCit7CisgICAgaWYgKGhh
c092ZXJmbG93Q2xpcCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnQgc2hhZG93TGVmdDsK
KyAgICBpbnQgc2hhZG93UmlnaHQ7CisgICAgaW50IHNoYWRvd1RvcDsKKyAgICBpbnQgc2hhZG93
Qm90dG9tOworICAgIHN0eWxlKCktPmdldEJveFNoYWRvd0V4dGVudChzaGFkb3dUb3AsIHNoYWRv
d1JpZ2h0LCBzaGFkb3dCb3R0b20sIHNoYWRvd0xlZnQpOworCisgICAgbV9vdmVyZmxvd0xlZnQg
PSBtaW4obV9vdmVyZmxvd0xlZnQsIHNoYWRvd0xlZnQpOworICAgIG1fb3ZlcmZsb3dXaWR0aCA9
IG1heChtX292ZXJmbG93V2lkdGgsIHdpZHRoKCkgKyBzaGFkb3dSaWdodCk7CisgICAgbV9vdmVy
Zmxvd1RvcCA9IG1pbihtX292ZXJmbG93VG9wLCBzaGFkb3dUb3ApOworICAgIG1fb3ZlcmZsb3dI
ZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgaGVpZ2h0KCkgKyBzaGFkb3dCb3R0b20pOwor
CisgICAgaWYgKGhhc1JlZmxlY3Rpb24oKSkgeworICAgICAgICBJbnRSZWN0IHJlZmxlY3Rpb24o
cmVmbGVjdGlvbkJveCgpKTsKKyAgICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9vdmVyZmxv
d0xlZnQsIHJlZmxlY3Rpb24ueCgpKTsKKyAgICAgICAgbV9vdmVyZmxvd1dpZHRoID0gbWF4KG1f
b3ZlcmZsb3dXaWR0aCwgcmVmbGVjdGlvbi5yaWdodCgpKTsKKyAgICAgICAgbV9vdmVyZmxvd1Rv
cCA9IG1pbihtX292ZXJmbG93VG9wLCByZWZsZWN0aW9uLnkoKSk7CisgICAgICAgIG1fb3ZlcmZs
b3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgcmVmbGVjdGlvbi5ib3R0b20oKSk7Cisg
ICAgfQorfQorCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXQoKQogewogICAgIC8vIFVwZGF0ZSBv
dXIgZmlyc3QgbGV0dGVyIGluZm8gbm93LgpAQCAtODY4LDI2ICs4OTMsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4pCiAgICAgbV9vdmVyZmxv
d1dpZHRoID0gbWF4KG1fb3ZlcmZsb3dXaWR0aCwgd2lkdGgoKSk7CiAgICAgbV9vdmVyZmxvd0hl
aWdodCA9IG1heChtX292ZXJmbG93SGVpZ2h0LCBoZWlnaHQoKSk7CiAKLSAgICBpZiAoIWhhc092
ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgIGludCBzaGFkb3dMZWZ0OwotICAgICAgICBpbnQgc2hh
ZG93UmlnaHQ7Ci0gICAgICAgIGludCBzaGFkb3dUb3A7Ci0gICAgICAgIGludCBzaGFkb3dCb3R0
b207Ci0gICAgICAgIHN0eWxlKCktPmdldEJveFNoYWRvd0V4dGVudChzaGFkb3dUb3AsIHNoYWRv
d1JpZ2h0LCBzaGFkb3dCb3R0b20sIHNoYWRvd0xlZnQpOwotCi0gICAgICAgIG1fb3ZlcmZsb3dM
ZWZ0ID0gbWluKG1fb3ZlcmZsb3dMZWZ0LCBzaGFkb3dMZWZ0KTsKLSAgICAgICAgbV9vdmVyZmxv
d1dpZHRoID0gbWF4KG1fb3ZlcmZsb3dXaWR0aCwgd2lkdGgoKSArIHNoYWRvd1JpZ2h0KTsKLSAg
ICAgICAgbV9vdmVyZmxvd1RvcCA9IG1pbihtX292ZXJmbG93VG9wLCBzaGFkb3dUb3ApOwotICAg
ICAgICBtX292ZXJmbG93SGVpZ2h0ID0gbWF4KG1fb3ZlcmZsb3dIZWlnaHQsIGhlaWdodCgpICsg
c2hhZG93Qm90dG9tKTsKLQotICAgICAgICBpZiAoaGFzUmVmbGVjdGlvbigpKSB7Ci0gICAgICAg
ICAgICBJbnRSZWN0IHJlZmxlY3Rpb24ocmVmbGVjdGlvbkJveCgpKTsKLSAgICAgICAgICAgIG1f
b3ZlcmZsb3dMZWZ0ID0gbWluKG1fb3ZlcmZsb3dMZWZ0LCByZWZsZWN0aW9uLngoKSk7Ci0gICAg
ICAgICAgICBtX292ZXJmbG93V2lkdGggPSBtYXgobV9vdmVyZmxvd1dpZHRoLCByZWZsZWN0aW9u
LnJpZ2h0KCkpOwotICAgICAgICAgICAgbV9vdmVyZmxvd1RvcCA9IG1pbihtX292ZXJmbG93VG9w
LCByZWZsZWN0aW9uLnkoKSk7Ci0gICAgICAgICAgICBtX292ZXJmbG93SGVpZ2h0ID0gbWF4KG1f
b3ZlcmZsb3dIZWlnaHQsIHJlZmxlY3Rpb24uYm90dG9tKCkpOwotICAgICAgICB9Ci0gICAgfQor
ICAgIHVwZGF0ZU92ZXJmbG93V2l0aFNoYWRvd0FuZFJlZmxlY3Rpb24oKTsKIAogICAgIHN0YXRl
UHVzaGVyLnBvcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBmNjc1YjY3Li5lZmIx
YjYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTIwNCw3ICsyMDQsOSBAQCBwcm90ZWN0
ZWQ6CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzTGluZUlmRW1wdHkoKSBjb25zdDsKICAgICBib29s
IGxheW91dE9ubHlQb3NpdGlvbmVkT2JqZWN0cygpOwotICAgIAorCisgICAgdm9pZCB1cGRhdGVP
dmVyZmxvd1dpdGhTaGFkb3dBbmRSZWZsZWN0aW9uKCk7CisKIHByaXZhdGU6CiAgICAgdmlydHVh
bCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsgcmV0dXJuIGNoaWxk
cmVuKCk7IH0KICAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVh
bENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDI2YzNmMWQuLjcwZmI2ZjQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTI3OCwyNiArMjc4LDcgQEAgdm9pZCBS
ZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuKQogICAg
IGlmIChtX292ZXJmbG93V2lkdGggPCB3aWR0aCgpKQogICAgICAgICBtX292ZXJmbG93V2lkdGgg
PSB3aWR0aCgpOwogCi0gICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICBpbnQg
c2hhZG93TGVmdDsKLSAgICAgICAgaW50IHNoYWRvd1JpZ2h0OwotICAgICAgICBpbnQgc2hhZG93
VG9wOwotICAgICAgICBpbnQgc2hhZG93Qm90dG9tOwotICAgICAgICBzdHlsZSgpLT5nZXRCb3hT
aGFkb3dFeHRlbnQoc2hhZG93VG9wLCBzaGFkb3dSaWdodCwgc2hhZG93Qm90dG9tLCBzaGFkb3dM
ZWZ0KTsKLQotICAgICAgICBtX292ZXJmbG93TGVmdCA9IG1pbihtX292ZXJmbG93TGVmdCwgc2hh
ZG93TGVmdCk7Ci0gICAgICAgIG1fb3ZlcmZsb3dXaWR0aCA9IG1heChtX292ZXJmbG93V2lkdGgs
IHdpZHRoKCkgKyBzaGFkb3dSaWdodCk7Ci0gICAgICAgIG1fb3ZlcmZsb3dUb3AgPSBtaW4obV9v
dmVyZmxvd1RvcCwgc2hhZG93VG9wKTsKLSAgICAgICAgbV9vdmVyZmxvd0hlaWdodCA9IG1heCht
X292ZXJmbG93SGVpZ2h0LCBoZWlnaHQoKSArIHNoYWRvd0JvdHRvbSk7Ci0KLSAgICAgICAgaWYg
KGhhc1JlZmxlY3Rpb24oKSkgewotICAgICAgICAgICAgSW50UmVjdCByZWZsZWN0aW9uKHJlZmxl
Y3Rpb25Cb3goKSk7Ci0gICAgICAgICAgICBtX292ZXJmbG93VG9wID0gbWluKG1fb3ZlcmZsb3dU
b3AsIHJlZmxlY3Rpb24ueSgpKTsKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgo
bV9vdmVyZmxvd0hlaWdodCwgcmVmbGVjdGlvbi5ib3R0b20oKSk7Ci0gICAgICAgICAgICBtX292
ZXJmbG93TGVmdCA9IG1pbihtX292ZXJmbG93TGVmdCwgcmVmbGVjdGlvbi54KCkpOwotICAgICAg
ICAgICAgbV9vdmVyZmxvd0hlaWdodCA9IG1heChtX292ZXJmbG93V2lkdGgsIHJlZmxlY3Rpb24u
cmlnaHQoKSk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgdXBkYXRlT3ZlcmZsb3dXaXRoU2hhZG93
QW5kUmVmbGVjdGlvbigpOwogCiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlLmNwcAppbmRleCBiNTBmOTFmLi5jOTUwOWNkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuY3BwCkBAIC0zODksMjYgKzM4OSw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgp
CiAgICAgLy8gRklYTUU6IE9ubHkgcGFzcyB0cnVlIGlmIHdpZHRoIG9yIGhlaWdodCBjaGFuZ2Vk
LgogICAgIGxheW91dFBvc2l0aW9uZWRPYmplY3RzKHRydWUpOwogCi0gICAgaWYgKCFoYXNPdmVy
Zmxvd0NsaXAoKSkgewotICAgICAgICBpbnQgc2hhZG93TGVmdDsKLSAgICAgICAgaW50IHNoYWRv
d1JpZ2h0OwotICAgICAgICBpbnQgc2hhZG93VG9wOwotICAgICAgICBpbnQgc2hhZG93Qm90dG9t
OwotICAgICAgICBzdHlsZSgpLT5nZXRCb3hTaGFkb3dFeHRlbnQoc2hhZG93VG9wLCBzaGFkb3dS
aWdodCwgc2hhZG93Qm90dG9tLCBzaGFkb3dMZWZ0KTsKLQotICAgICAgICBtX292ZXJmbG93TGVm
dCA9IG1pbihtX292ZXJmbG93TGVmdCwgc2hhZG93TGVmdCk7Ci0gICAgICAgIG1fb3ZlcmZsb3dX
aWR0aCA9IG1heChtX292ZXJmbG93V2lkdGgsIHdpZHRoKCkgKyBzaGFkb3dSaWdodCk7Ci0gICAg
ICAgIG1fb3ZlcmZsb3dUb3AgPSBtaW4obV9vdmVyZmxvd1RvcCwgc2hhZG93VG9wKTsKLSAgICAg
ICAgbV9vdmVyZmxvd0hlaWdodCA9IG1heChtX292ZXJmbG93SGVpZ2h0LCBoZWlnaHQoKSArIHNo
YWRvd0JvdHRvbSk7Ci0KLSAgICAgICAgaWYgKGhhc1JlZmxlY3Rpb24oKSkgewotICAgICAgICAg
ICAgSW50UmVjdCByZWZsZWN0aW9uKHJlZmxlY3Rpb25Cb3goKSk7Ci0gICAgICAgICAgICBtX292
ZXJmbG93VG9wID0gbWluKG1fb3ZlcmZsb3dUb3AsIHJlZmxlY3Rpb24ueSgpKTsKLSAgICAgICAg
ICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgcmVmbGVjdGlvbi5i
b3R0b20oKSk7Ci0gICAgICAgICAgICBtX292ZXJmbG93TGVmdCA9IG1pbihtX292ZXJmbG93TGVm
dCwgcmVmbGVjdGlvbi54KCkpOwotICAgICAgICAgICAgbV9vdmVyZmxvd0hlaWdodCA9IG1heCht
X292ZXJmbG93V2lkdGgsIHJlZmxlY3Rpb24ucmlnaHQoKSk7Ci0gICAgICAgIH0KLSAgICB9Cisg
ICAgdXBkYXRlT3ZlcmZsb3dXaXRoU2hhZG93QW5kUmVmbGVjdGlvbigpOwogCiAgICAgc3RhdGVQ
dXNoZXIucG9wKCk7
</data>

          </attachment>
      

    </bug>

</bugzilla>