<?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>36206</bug_id>
          
          <creation_ts>2010-03-16 19:34:28 -0700</creation_ts>
          <short_desc>Fix the rendering of HTMLProgressElement</short_desc>
          <delta_ts>2010-03-26 08:43:54 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>
          <dependson>36113</dependson>
          <blocked>36224</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Yael">yael</assigned_to>
          <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>200572</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-03-16 19:34:28 -0700</bug_when>
    <thetext>I received today this link from Ian Hickson, which details the expected style for HTMLProgressElement.
http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200896</commentid>
    <comment_count>1</comment_count>
      <attachid>50932</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-03-17 12:33:46 -0700</bug_when>
    <thetext>Created attachment 50932
Patch v1.

Update the style information to conform to http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0.
Originally, I did copied the style of &lt;input type=&quot;range&quot;&gt;, not knowing that the style was actually specified.

Since this patch is blocked by https://bugs.webkit.org/show_bug.cgi?id=36113, and I am not sure how to handle this situation, I included the code that is up for review in https://bugs.webkit.org/show_bug.cgi?id=36113 in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200969</commentid>
    <comment_count>2</comment_count>
      <attachid>50959</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-03-17 14:28:59 -0700</bug_when>
    <thetext>Created attachment 50959
Patch v2.

Update the patch after https://bugs.webkit.org/show_bug.cgi?id=36113 was resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202553</commentid>
    <comment_count>3</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-03-22 09:51:14 -0700</bug_when>
    <thetext>This style adjustment will be merged to https://bugs.webkit.org/show_bug.cgi?id=36224.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204517</commentid>
    <comment_count>4</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-03-26 05:34:58 -0700</bug_when>
    <thetext>Splitting up the patch from https://bugs.webkit.org/show_bug.cgi?id=36224 again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204551</commentid>
    <comment_count>5</comment_count>
      <attachid>51738</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-03-26 07:10:20 -0700</bug_when>
    <thetext>Created attachment 51738
Patch v3

Previously, I thought that &lt;progress&gt; element should be simillar to the slider of &lt;input type=&quot;range&quot;&gt;, so I used code from RenderSlider, (baselinePosition and calcPrefWidths).
http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0 specifies the rendering rules for &lt;progress&gt; element, so this patch fixes that mistake.
This patch also removes code in RenderProgress::updateFromElement() that tries to optimize the size of the rect to be repainted. The optimization will be redone later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204567</commentid>
    <comment_count>6</comment_count>
      <attachid>51738</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-26 07:44:53 -0700</bug_when>
    <thetext>Comment on attachment 51738
Patch v3

r=me, but consider changing these:

&gt; Index: WebCore/platform/qt/RenderThemeQt.cpp
&gt; ===================================================================
&gt; --- WebCore/platform/qt/RenderThemeQt.cpp	(revision 56617)
&gt; +++ WebCore/platform/qt/RenderThemeQt.cpp	(working copy)
&gt; @@ -679,7 +679,7 @@ bool RenderThemeQt::paintProgressBar(Ren
&gt;      option.rect = r;
&gt;      option.maximum = 65536;
&gt;      option.minimum = 0;
&gt; -    option.progress = renderProgress-&gt;position();
&gt; +    option.progress = (renderProgress-&gt;position() * 65536);

Where does the magic 65536 come from? Please use std::numeric_limits&lt;int&gt;::max() or similar.

&gt; @@ -97,21 +57,12 @@ void RenderProgress::layout()
&gt;  void RenderProgress::updateFromElement()
&gt;  {
&gt;      HTMLProgressElement* element = static_cast&lt;HTMLProgressElement*&gt;(node());
&gt; -    double position = element-&gt;position();
&gt; -    int oldPosition = m_position;
&gt; -    bool canOptimize = theme()-&gt;getNumberOfPixelsForProgressPosition(position, m_position);
&gt; +    double oldPosition = m_position;
&gt; +    m_position = element-&gt;position();
&gt;      if (oldPosition == m_position)
&gt;          return;

Could you just do if (m_position == element-&gt;position()). oldPosition does not seem to be used anywhere else.
yea</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204595</commentid>
    <comment_count>7</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-03-26 08:43:21 -0700</bug_when>
    <thetext>Landed in 56629</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50932</attachid>
            <date>2010-03-17 12:33:46 -0700</date>
            <delta_ts>2010-03-17 14:28:59 -0700</delta_ts>
            <desc>Patch v1.</desc>
            <filename>36206.patch</filename>
            <type>text/plain</type>
            <size>18438</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjEyNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTAtMDMtMTcgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCB0aGUgc3R5bGUgb2YgSFRNTFByb2dyZXNzRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYyMDYKKworICAgICAgICBVcGRhdGUgdGhl
IHN0eWxlIHRvIGNvbmZvcm0gdG8gCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVj
cy93ZWItYXBwcy9jdXJyZW50LXdvcmsvY29tcGxldGUuaHRtbCN0aGUtcHJvZ3Jlc3MtZWxlbWVu
dC0wLgorICAgICAgICBVcGRhdGVkIHRoZSB0ZXN0cyBhbmQgdGhlIGV4cGVjdGVkIHJlc3VsdHMg
YWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgIChwcm9ncmVz
cyk6CisgICAgICAgICogaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxQcm9ncmVzc0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OmdldE51bWJlck9mUGl4ZWxzRm9yUHJvZ3Jlc3NQb3NpdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFByb2dyZXNzQmFyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjpSZW5kZXJQ
cm9ncmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlRnJvbUVs
ZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OnBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclByb2dyZXNzOjppc1Byb2dyZXNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmdldE51bWJlck9mUGl4ZWxz
Rm9yUHJvZ3Jlc3NQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6
CisKIDIwMTAtMDMtMTcgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBNYWMgQnVpbGRmaXg6IFVzaW5nIEFTU0VSVF9VTlVTRUQgaW5zdGVhZCBvZiBBU1NF
UlQuCkluZGV4OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nz
cy9odG1sLmNzcwkocmV2aXNpb24gNTYxMTcpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNzcwkod29y
a2luZyBjb3B5KQpAQCAtNTE5LDkgKzUxOSwxMCBAQCBvcHRpb24gewogCiBwcm9ncmVzcyB7CiAg
ICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBwcm9ncmVzcy1iYXI7Ci0gICAgcGFkZGluZzogaW5pdGlh
bDsKLSAgICBib3JkZXI6IGluaXRpYWw7Ci0gICAgbWFyZ2luOiAycHg7CisgICAgZGlzcGxheTog
aW5saW5lLWJsb2NrOworICAgIGhlaWdodDogMWVtOworICAgIHdpZHRoOiAxMGVtOworICAgIHZl
cnRpY2FsLWFsaWduOiAtMC4yZW07CiB9CiAKIHByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJh
ciB7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1NjEx
NykKKysrIFdlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTgsMTEgKzU4LDEzIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTFByb2dyZXNzRWxl
bWVudDoKIAogdm9pZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShN
YXBwZWRBdHRyaWJ1dGUqIGF0dHJpYnV0ZSkKIHsKLSAgICBpZiAoYXR0cmlidXRlLT5uYW1lKCkg
PT0gdmFsdWVBdHRyKQotICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgZWxzZSBp
ZiAoYXR0cmlidXRlLT5uYW1lKCkgPT0gbWF4QXR0cikKLSAgICAgICAgc2V0TmVlZHNTdHlsZVJl
Y2FsYygpOwotICAgIGVsc2UKKyAgICBpZiAoYXR0cmlidXRlLT5uYW1lKCkgPT0gdmFsdWVBdHRy
KSB7CisgICAgICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBk
YXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZS0+bmFtZSgpID09IG1h
eEF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigp
LT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0gZWxzZQogICAgICAgICBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQogCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9uIDU2MTE3KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEs
OSArNDEsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCi0jaWYgRU5BQkxF
KFBST0dSRVNTX1RBRykKLSNpbmNsdWRlICJIVE1MUHJvZ3Jlc3NFbGVtZW50LmgiCi0jZW5kaWYK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKQEAgLTY0Miw2ICs2MzksMTIgQEAgYm9vbCBSZW5kZXJUaGVtZVF0Ojpw
YWludE1lbnVMaXN0QnV0dG9uKAogfQogCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKK2Jvb2wg
UmVuZGVyVGhlbWVRdDo6Z2V0TnVtYmVyT2ZQaXhlbHNGb3JQcm9ncmVzc1Bvc2l0aW9uKGRvdWJs
ZSBwb3NpdGlvbiwgaW50JiBwcm9ncmVzc1NpemUpIGNvbnN0Cit7CisgICAgcHJvZ3Jlc3NTaXpl
ID0gNjU1MzYgKiBwb3NpdGlvbjsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVuZGVy
VGhlbWVRdDo6YWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKICAgICBzdHlsZS0+c2V0Qm94U2hhZG93
KDApOwpAQCAtNjU5LDExICs2NjIsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFByb2dy
ZXNzQmFyKFJlbgogICAgIGluaXRpYWxpemVDb21tb25RU3R5bGVPcHRpb25zKG9wdGlvbiwgbyk7
CiAKICAgICBSZW5kZXJQcm9ncmVzcyogcmVuZGVyUHJvZ3Jlc3MgPSB0b1JlbmRlclByb2dyZXNz
KG8pOwotICAgIEhUTUxQcm9ncmVzc0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1M
UHJvZ3Jlc3NFbGVtZW50Kj4ocmVuZGVyUHJvZ3Jlc3MtPm5vZGUoKSk7CiAgICAgb3B0aW9uLnJl
Y3QgPSByOwotICAgIG9wdGlvbi5tYXhpbXVtID0gZWxlbWVudC0+bWF4KCk7CisgICAgb3B0aW9u
Lm1heGltdW0gPSA2NTUzNjsKICAgICBvcHRpb24ubWluaW11bSA9IDA7Ci0gICAgb3B0aW9uLnBy
b2dyZXNzID0gZWxlbWVudC0+dmFsdWUoKTsKKyAgICBvcHRpb24ucHJvZ3Jlc3MgPSByZW5kZXJQ
cm9ncmVzcy0+cG9zaXRpb24oKTsKIAogICAgIGNvbnN0IFFQb2ludCB0b3BMZWZ0ID0gci50b3BM
ZWZ0KCk7CiAgICAgcC5wYWludGVyLT50cmFuc2xhdGUodG9wTGVmdCk7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNTYxMTcpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDYgKzEyNCwxMyBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0Rl
Y29yYXRpb25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50Kikg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlv
bihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKTsKIAorI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCisgICAgLy8gSGVscGVyIG1ldGhv
ZCBmb3Igb3B0aW1pemluZyB0aGUgcGFpbnQgYXJlYSBvZiB0aGUgcHJvZ3Jlc3MgYmFyLgorICAg
IC8vIElmIHN1cHBvcnRlZCwgaXQgcmV0dXJucyBudW1iZXIgb2YgcGl4ZWxzIG5lZWRlZCB0byBk
cmF3IHRoZSBwcm9ncmVzcyBiYXIgdXAgdG8gdGhlIHByb2dyZXNzIHBvc2l0aW9uLgorICAgIC8v
IHByb2dyZXNzU2l6ZSBpcyB0aGUgdmFsdWUgdGhhdCBpcyBwYXNzZWQgYmFjayB0byBSZW5kZXJU
aGVtZSBkdXJpbmcgZHJhd2luZy4KKyAgICB2aXJ0dWFsIGJvb2wgZ2V0TnVtYmVyT2ZQaXhlbHNG
b3JQcm9ncmVzc1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbiwgaW50JiBwcm9ncmVzc1NpemUpIGNv
bnN0OworI2VuZGlmCisKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBib29sIHBhaW50
TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6
UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlh
UGxheUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAJ
KHJldmlzaW9uIDU2MTE3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw0OSArMzIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLXN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdFBy
b2dyZXNzV2lkdGggPSAxMjA7Ci1zdGF0aWMgY29uc3QgaW50IGRlZmF1bHRQcm9ncmVzc0hlaWdo
dCA9IDIwOwotCiBSZW5kZXJQcm9ncmVzczo6UmVuZGVyUHJvZ3Jlc3MoSFRNTFByb2dyZXNzRWxl
bWVudCogZWxlbWVudCkKICAgICA6IFJlbmRlckJsb2NrKGVsZW1lbnQpCiB7Ci0gICAgc2V0U2l6
ZShJbnRTaXplKGRlZmF1bHRQcm9ncmVzc1dpZHRoLCBkZWZhdWx0UHJvZ3Jlc3NIZWlnaHQpKTsK
LSAgICBzZXRSZXBsYWNlZCh0cnVlKTsKLX0KLQotaW50IFJlbmRlclByb2dyZXNzOjpiYXNlbGlu
ZVBvc2l0aW9uKGJvb2wsIGJvb2wpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhlaWdodCgpICsgbWFy
Z2luVG9wKCk7Ci19Ci0KLXZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmNhbGNQcmVmV2lkdGhzKCkKLXsK
LSAgICBtX21pblByZWZXaWR0aCA9IDA7Ci0gICAgbV9tYXhQcmVmV2lkdGggPSAwOwotCi0gICAg
aWYgKHN0eWxlKCktPndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCktPndpZHRoKCkudmFsdWUo
KSA+IDApCi0gICAgICAgIG1fbWluUHJlZldpZHRoID0gbV9tYXhQcmVmV2lkdGggPSBjYWxjQ29u
dGVudEJveFdpZHRoKHN0eWxlKCktPndpZHRoKCkudmFsdWUoKSk7Ci0gICAgZWxzZQotICAgICAg
ICBtX21heFByZWZXaWR0aCA9IGRlZmF1bHRQcm9ncmVzc1dpZHRoICogc3R5bGUoKS0+ZWZmZWN0
aXZlWm9vbSgpOwotCi0gICAgaWYgKHN0eWxlKCktPm1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0
eWxlKCktPm1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVmV2lkdGgg
PSBtYXgobV9tYXhQcmVmV2lkdGgsIGNhbGNDb250ZW50Qm94V2lkdGgoc3R5bGUoKS0+bWluV2lk
dGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZldpZHRoID0gbWF4KG1fbWluUHJlZldp
ZHRoLCBjYWxjQ29udGVudEJveFdpZHRoKHN0eWxlKCktPm1pbldpZHRoKCkudmFsdWUoKSkpOwot
ICAgIH0gZWxzZSBpZiAoc3R5bGUoKS0+d2lkdGgoKS5pc1BlcmNlbnQoKSB8fCAoc3R5bGUoKS0+
d2lkdGgoKS5pc0F1dG8oKSAmJiBzdHlsZSgpLT5oZWlnaHQoKS5pc1BlcmNlbnQoKSkpCi0gICAg
ICAgIG1fbWluUHJlZldpZHRoID0gMDsKLSAgICBlbHNlCi0gICAgICAgIG1fbWluUHJlZldpZHRo
ID0gbV9tYXhQcmVmV2lkdGg7Ci0KLSAgICBpZiAoc3R5bGUoKS0+bWF4V2lkdGgoKS5pc0ZpeGVk
KCkgJiYgc3R5bGUoKS0+bWF4V2lkdGgoKS52YWx1ZSgpICE9IHVuZGVmaW5lZExlbmd0aCkgewot
ICAgICAgICBtX21heFByZWZXaWR0aCA9IG1pbihtX21heFByZWZXaWR0aCwgY2FsY0NvbnRlbnRC
b3hXaWR0aChzdHlsZSgpLT5tYXhXaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVm
V2lkdGggPSBtaW4obV9taW5QcmVmV2lkdGgsIGNhbGNDb250ZW50Qm94V2lkdGgoc3R5bGUoKS0+
bWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgfQotCi0gICAgaW50IHRvQWRkID0gcGFkZGluZ0xl
ZnQoKSArIHBhZGRpbmdSaWdodCgpICsgYm9yZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKTsKLSAg
ICBtX21pblByZWZXaWR0aCArPSB0b0FkZDsKLSAgICBtX21heFByZWZXaWR0aCArPSB0b0FkZDsK
LQotICAgIHNldFByZWZXaWR0aHNEaXJ0eShmYWxzZSk7CiB9CiAKIHZvaWQgUmVuZGVyUHJvZ3Jl
c3M6OmxheW91dCgpCkBAIC05NSw3ICs1NSwyNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjpsYXlv
dXQoKQogCiB2b2lkIFJlbmRlclByb2dyZXNzOjp1cGRhdGVGcm9tRWxlbWVudCgpCiB7Ci0gICAg
c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgSFRNTFByb2dyZXNzRWxl
bWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxQcm9ncmVzc0VsZW1lbnQqPihub2RlKCkp
OworICAgIGRvdWJsZSBwb3NpdGlvbiA9IGVsZW1lbnQtPnBvc2l0aW9uKCk7CisgICAgaW50IG9s
ZFBvc2l0aW9uID0gbV9wb3NpdGlvbjsKKyAgICBib29sIGNhbk9wdGltaXplID0gdGhlbWUoKS0+
Z2V0TnVtYmVyT2ZQaXhlbHNGb3JQcm9ncmVzc1Bvc2l0aW9uKHBvc2l0aW9uLCBtX3Bvc2l0aW9u
KTsKKyAgICBpZiAob2xkUG9zaXRpb24gPT0gbV9wb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgSW50UmVjdCBwYWludFJlY3QgPSBjb250ZW50Qm94UmVjdCgpOworICAgIGlmIChjYW5P
cHRpbWl6ZSkgeworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBoYW5kbGUgaW5kZXRlcm1pbmF0
ZSBwcm9ncmVzcyBiYXIgLgorICAgICAgICBpbnQgYWRqdXN0ZWRQb3NpdGlvbiA9IChtX3Bvc2l0
aW9uID49IDApID8gbV9wb3NpdGlvbiA6IDA7CisgICAgICAgIGludCBhZGp1c3RlZE9sZFBvc2l0
aW9uID0gKG9sZFBvc2l0aW9uID49IDApID8gb2xkUG9zaXRpb24gOiAwOworICAgICAgICBpZiAo
c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMKSB7CisgICAgICAgICAgICBwYWludFJlY3Quc2V0
WChzdGQ6Om1pbihwYWludFJlY3Qud2lkdGgoKSAtIGFkanVzdGVkUG9zaXRpb24sIHBhaW50UmVj
dC53aWR0aCgpIC0gYWRqdXN0ZWRPbGRQb3NpdGlvbikpOworICAgICAgICAgICAgcGFpbnRSZWN0
LnNldFdpZHRoKHN0ZDo6bWF4KHBhaW50UmVjdC53aWR0aCgpIC0gYWRqdXN0ZWRQb3NpdGlvbiwg
cGFpbnRSZWN0LndpZHRoKCkgLSBhZGp1c3RlZE9sZFBvc2l0aW9uKSAtIHBhaW50UmVjdC54KCkp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcGFpbnRSZWN0LnNldFgoc3RkOjptaW4o
YWRqdXN0ZWRQb3NpdGlvbiwgYWRqdXN0ZWRPbGRQb3NpdGlvbikpOworICAgICAgICAgICAgcGFp
bnRSZWN0LnNldFdpZHRoKHN0ZDo6bWF4KGFkanVzdGVkUG9zaXRpb24sIGFkanVzdGVkT2xkUG9z
aXRpb24pIC0gcGFpbnRSZWN0LngoKSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmVwYWludFJl
Y3RhbmdsZShwYWludFJlY3QpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgJKHJldmlzaW9uIDU2MTE3KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTQgKzMxLDE0
IEBAIGNsYXNzIEhUTUxQcm9ncmVzc0VsZW1lbnQ7CiBjbGFzcyBSZW5kZXJQcm9ncmVzcyA6IHB1
YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgUmVuZGVyUHJvZ3Jlc3MoSFRNTFByb2dy
ZXNzRWxlbWVudCopOworICAgIGludCBwb3NpdGlvbigpIHsgcmV0dXJuIG1fcG9zaXRpb247IH0K
IAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7
IHJldHVybiAiUmVuZGVyUHJvZ3Jlc3MiOyB9CiAgICAgdmlydHVhbCBib29sIGlzUHJvZ3Jlc3Mo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlv
bihib29sLCBib29sKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgY2FsY1ByZWZXaWR0aHMoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21F
bGVtZW50KCk7CisgICAgaW50IG1fcG9zaXRpb247CiB9OwogCiBpbmxpbmUgUmVuZGVyUHJvZ3Jl
c3MqIHRvUmVuZGVyUHJvZ3Jlc3MoUmVuZGVyT2JqZWN0KiBvYmplY3QpCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1NjExNykKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQwLDYgKzg0MCwxMiBAQCB2b2lk
IFJlbmRlclRoZW1lOjphZGp1c3RNZW51TGlzdFN0eWxlKENTCiB9CiAKICNpZiBFTkFCTEUoUFJP
R1JFU1NfVEFHKQorYm9vbCBSZW5kZXJUaGVtZTo6Z2V0TnVtYmVyT2ZQaXhlbHNGb3JQcm9ncmVz
c1Bvc2l0aW9uKGRvdWJsZSAsIGludCYgcHJvZ3Jlc3NTaXplKSBjb25zdAoreworICAgIHByb2dy
ZXNzU2l6ZSA9IDA7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIFJlbmRlclRoZW1lOjph
ZGp1c3RQcm9ncmVzc0JhclN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVs
ZW1lbnQqKSBjb25zdAogewogfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lv
biA1NjExNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2OSw2ICsxNjksMTMgQEAgcHVibGljOgogICAgIC8vIE1ldGhvZCBmb3IgcGFpbnRp
bmcgdGhlIGNhcHMgbG9jayBpbmRpY2F0b3IKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDYXBzTG9j
a0luZGljYXRvcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKSB7IHJldHVybiAwOyB9OwogCisjaWYgRU5BQkxFKFBST0dSRVNTX1RB
RykKKyAgICAvLyBIZWxwZXIgbWV0aG9kIGZvciBvcHRpbWl6aW5nIHRoZSBwYWludCBhcmVhIG9m
IHRoZSBwcm9ncmVzcyBiYXIuCisgICAgLy8gSWYgc3VwcG9ydGVkLCBpdCByZXR1cm5zIG51bWJl
ciBvZiBwaXhlbHMgbmVlZGVkIHRvIGRyYXcgdGhlIHByb2dyZXNzIGJhciB1cCB0byB0aGUgcHJv
Z3Jlc3MgcG9zaXRpb24uCisgICAgLy8gcHJvZ3Jlc3NTaXplIGlzIHRoZSB2YWx1ZSB0aGF0IGlz
IHBhc3NlZCBiYWNrIHRvIFJlbmRlclRoZW1lIGR1cmluZyBkcmF3aW5nLgorICAgIHZpcnR1YWwg
Ym9vbCBnZXROdW1iZXJPZlBpeGVsc0ZvclByb2dyZXNzUG9zaXRpb24oZG91YmxlIHBvc2l0aW9u
LCBpbnQmIHByb2dyZXNzU2l6ZSkgY29uc3Q7CisjZW5kaWYKKwogI2lmIEVOQUJMRShWSURFTykK
ICAgICAvLyBNZWRpYSBjb250cm9scwogICAgIHZpcnR1YWwgYm9vbCBoaXRUZXN0TWVkaWFDb250
cm9sUGFydChSZW5kZXJPYmplY3QqLCBjb25zdCBJbnRQb2ludCYgYWJzUG9pbnQpOwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTYxMjQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wMy0xNyAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJv
bkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4IHRoZSBzdHlsZSBvZiBIVE1MUHJvZ3Jlc3NFbGVtZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjIwNgorICAgICAgICBBZGQgZGly
PXJ0bCB0ZXN0IGFuZCB1cGRhdGUgdGhlIGV4cGVjdGVkIHJlc3VsdHMuCisKKyAgICAgICAgKiBm
YXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsZW1lbnQuaHRtbDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVs
ZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20v
SFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLnBuZzoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTAzLTE3ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6IEFsc28sIHJl
c2l6ZS1mcm9tLXBsdWdpbi5odG1sIGdvdCBza2lwcGVkIHR3aWNlIHRvbmlnaHQsIHJlbW92aW5n
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNz
LWVsZW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJv
Z3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gNTYxMTcpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsZW1lbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotPGh0bWw+PGJvZHk+PHByb2dyZXNzIHZh
bHVlPTcwIG1heD0xMDA+PC9wcm9ncmVzcz48L2JvZHk+PC9odG1sPgorPGh0bWw+PGJvZHk+PHBy
b2dyZXNzIHZhbHVlPTcwIG1heD0xMDA+PC9wcm9ncmVzcz48c21hbGw+PHByb2dyZXNzIHZhbHVl
PTcwIG1heD0xMDAgZGlyPSJydGwiPjwvcHJvZ3Jlc3M+PC9zbWFsbD48L2JvZHk+PC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVu
dC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3Mt
ZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNTYxMTcpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsZW1l
bnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTAxY2ZmZDk5
YjUwYzc4YmNkZjkzZDIzZjFjMjBjYzAyClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNThl
MDI4ODNhOTQ0YzUxOWJjOTlhMjEwMDhkZGYwNzYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVt
ZW50L3Byb2dyZXNzLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxl
bWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU2MTE3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw1ICszLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVyUHJvZ3Jlc3Mge1BST0dSRVNTfSBhdCAoMiwyKSBz
aXplIDEyMHgyMAorICAgICAgUmVuZGVyUHJvZ3Jlc3Mge1BST0dSRVNTfSBhdCAoMCwwKSBzaXpl
IDE2MHgxNgorICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSAxMzN4MTYK
KyAgICAgICAgUmVuZGVyUHJvZ3Jlc3Mge1BST0dSRVNTfSBhdCAoMTYwLDIpIHNpemUgMTMzeDEz
CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3Mt
ZWxlbWVudC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJr
ZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0
cmVhbQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFBQ1hC
SVdYTUFBQTdFQUFBT3hBR1ZLdzRiQUFBTQo3a2xFUVZSNG5PM2RPMDRDQVJSQTBjRzRHMHkwWXdz
dVJCSS82eUVVYk1SbFdMaWZzZFVZeFEvZXdlR2NsbGU4Z3VibU1jTmlITWR4CkFBQUFDSnhOdlFB
QUFIQTZCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUU9aODM4REQzYnJZ
QTk3WmJIZFQKcndBQXdJSHREWkJoR0liNzI1dS8zZ01BQURnQlh3b1FtSW9MSEsrNWlnSEEvL2V0
QUxtNGV2endzK2VuYXpOSE5qTVhMbkFBQVBQaApJWFFBQUNEakoxandROGQyOFpyckRBQXdMeTRn
QUFCQVJvQUFBQUFaQVFJQUFHUUVDQUFBa0JFZ0FBQkFSb0FBQUFBWnIrR0ZIL3JLCmEyTE4vSDRH
QUppWHhUaU80MmNERDNkci8wVE5KSmFYSzk4LzNsaGVycVplQVFENEpSY1FqdHBtdTV0NkJRQUFE
bWp2QlFRQUFPQlEKUElRT0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
ClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMK
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFtUmZpY0hZ
YkV3czNQUUFBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50959</attachid>
            <date>2010-03-17 14:28:59 -0700</date>
            <delta_ts>2010-03-26 07:10:20 -0700</delta_ts>
            <desc>Patch v2.</desc>
            <filename>36206.patch</filename>
            <type>text/plain</type>
            <size>12593</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjEyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDMtMTcgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCB0aGUgc3R5bGUgb2YgSFRNTFByb2dyZXNzRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYyMDYKKworICAgICAgICBVcGRhdGUgdGhl
IHN0eWxlIHRvIGNvbmZvcm0gdG8KKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNz
L3dlYi1hcHBzL2N1cnJlbnQtd29yay9jb21wbGV0ZS5odG1sI3RoZS1wcm9ncmVzcy1lbGVtZW50
LTAuCisgICAgICAgIFVwZGF0ZWQgdGhlIHRlc3RzIGFuZCB0aGUgZXhwZWN0ZWQgcmVzdWx0cyBh
Y2NvcmRpbmdseS4KKworICAgICAgICAqIGNzcy9odG1sLmNzczoKKyAgICAgICAgKHByb2dyZXNz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclByb2dyZXNzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclByb2dyZXNzOjp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6aXNQ
cm9ncmVzcyk6CisKIDIwMTAtMDMtMTcgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IFdlYkNvcmUvY3Nz
L2h0bWwuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL2h0bWwuY3NzCShyZXZpc2lvbiA1
NjEyNikKKysrIFdlYkNvcmUvY3NzL2h0bWwuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC01MTksOSAr
NTE5LDEwIEBAIG9wdGlvbiB7CiAKIHByb2dyZXNzIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IHByb2dyZXNzLWJhcjsKLSAgICBwYWRkaW5nOiBpbml0aWFsOwotICAgIGJvcmRlcjogaW5pdGlh
bDsKLSAgICBtYXJnaW46IDJweDsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgaGVp
Z2h0OiAxZW07CisgICAgd2lkdGg6IDEwZW07CisgICAgdmVydGljYWwtYWxpZ246IC0wLjJlbTsK
IH0KIAogcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHsKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQcm9ncmVzcy5jcHAJKHJldmlzaW9uIDU2MTI2KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw1MCArMzIsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0
aWMgY29uc3QgaW50IGRlZmF1bHRQcm9ncmVzc1dpZHRoID0gMTIwOwotc3RhdGljIGNvbnN0IGlu
dCBkZWZhdWx0UHJvZ3Jlc3NIZWlnaHQgPSAyMDsKLQogUmVuZGVyUHJvZ3Jlc3M6OlJlbmRlclBy
b2dyZXNzKEhUTUxQcm9ncmVzc0VsZW1lbnQqIGVsZW1lbnQpCiAgICAgOiBSZW5kZXJCbG9jayhl
bGVtZW50KQogICAgICwgbV9wb3NpdGlvbigtMSkKIHsKLSAgICBzZXRTaXplKEludFNpemUoZGVm
YXVsdFByb2dyZXNzV2lkdGgsIGRlZmF1bHRQcm9ncmVzc0hlaWdodCkpOwotICAgIHNldFJlcGxh
Y2VkKHRydWUpOwotfQotCi1pbnQgUmVuZGVyUHJvZ3Jlc3M6OmJhc2VsaW5lUG9zaXRpb24oYm9v
bCwgYm9vbCkgY29uc3QKLXsKLSAgICByZXR1cm4gaGVpZ2h0KCkgKyBtYXJnaW5Ub3AoKTsKLX0K
LQotdm9pZCBSZW5kZXJQcm9ncmVzczo6Y2FsY1ByZWZXaWR0aHMoKQotewotICAgIG1fbWluUHJl
ZldpZHRoID0gMDsKLSAgICBtX21heFByZWZXaWR0aCA9IDA7Ci0KLSAgICBpZiAoc3R5bGUoKS0+
d2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS0+d2lkdGgoKS52YWx1ZSgpID4gMCkKLSAgICAg
ICAgbV9taW5QcmVmV2lkdGggPSBtX21heFByZWZXaWR0aCA9IGNhbGNDb250ZW50Qm94V2lkdGgo
c3R5bGUoKS0+d2lkdGgoKS52YWx1ZSgpKTsKLSAgICBlbHNlCi0gICAgICAgIG1fbWF4UHJlZldp
ZHRoID0gZGVmYXVsdFByb2dyZXNzV2lkdGggKiBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCk7Ci0K
LSAgICBpZiAoc3R5bGUoKS0+bWluV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS0+bWluV2lk
dGgoKS52YWx1ZSgpID4gMCkgewotICAgICAgICBtX21heFByZWZXaWR0aCA9IG1heChtX21heFBy
ZWZXaWR0aCwgY2FsY0NvbnRlbnRCb3hXaWR0aChzdHlsZSgpLT5taW5XaWR0aCgpLnZhbHVlKCkp
KTsKLSAgICAgICAgbV9taW5QcmVmV2lkdGggPSBtYXgobV9taW5QcmVmV2lkdGgsIGNhbGNDb250
ZW50Qm94V2lkdGgoc3R5bGUoKS0+bWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgfSBlbHNlIGlm
IChzdHlsZSgpLT53aWR0aCgpLmlzUGVyY2VudCgpIHx8IChzdHlsZSgpLT53aWR0aCgpLmlzQXV0
bygpICYmIHN0eWxlKCktPmhlaWdodCgpLmlzUGVyY2VudCgpKSkKLSAgICAgICAgbV9taW5QcmVm
V2lkdGggPSAwOwotICAgIGVsc2UKLSAgICAgICAgbV9taW5QcmVmV2lkdGggPSBtX21heFByZWZX
aWR0aDsKLQotICAgIGlmIChzdHlsZSgpLT5tYXhXaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgp
LT5tYXhXaWR0aCgpLnZhbHVlKCkgIT0gdW5kZWZpbmVkTGVuZ3RoKSB7Ci0gICAgICAgIG1fbWF4
UHJlZldpZHRoID0gbWluKG1fbWF4UHJlZldpZHRoLCBjYWxjQ29udGVudEJveFdpZHRoKHN0eWxl
KCktPm1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZXaWR0aCA9IG1pbiht
X21pblByZWZXaWR0aCwgY2FsY0NvbnRlbnRCb3hXaWR0aChzdHlsZSgpLT5tYXhXaWR0aCgpLnZh
bHVlKCkpKTsKLSAgICB9Ci0KLSAgICBpbnQgdG9BZGQgPSBwYWRkaW5nTGVmdCgpICsgcGFkZGlu
Z1JpZ2h0KCkgKyBib3JkZXJMZWZ0KCkgKyBib3JkZXJSaWdodCgpOwotICAgIG1fbWluUHJlZldp
ZHRoICs9IHRvQWRkOwotICAgIG1fbWF4UHJlZldpZHRoICs9IHRvQWRkOwotCi0gICAgc2V0UHJl
ZldpZHRoc0RpcnR5KGZhbHNlKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6bGF5b3V0KCkK
QEAgLTEwNSwxMSArNjUsMTYgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlRnJvbUVsZW1l
bnQoKQogCiAgICAgSW50UmVjdCBwYWludFJlY3QgPSBjb250ZW50Qm94UmVjdCgpOwogICAgIGlm
IChjYW5PcHRpbWl6ZSkgewotICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBoYW5kbGUgaW5kZXRl
cm1pbmF0ZSBwcm9ncmVzcyBiYXIgYW5kIFJUTAorICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBo
YW5kbGUgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIgLgogICAgICAgICBpbnQgYWRqdXN0ZWRQ
b3NpdGlvbiA9IChtX3Bvc2l0aW9uID49IDApID8gbV9wb3NpdGlvbiA6IDA7CiAgICAgICAgIGlu
dCBhZGp1c3RlZE9sZFBvc2l0aW9uID0gKG9sZFBvc2l0aW9uID49IDApID8gb2xkUG9zaXRpb24g
OiAwOwotICAgICAgICBwYWludFJlY3Quc2V0WChzdGQ6Om1pbihhZGp1c3RlZFBvc2l0aW9uLCBh
ZGp1c3RlZE9sZFBvc2l0aW9uKSk7Ci0gICAgICAgIHBhaW50UmVjdC5zZXRXaWR0aChzdGQ6Om1h
eChhZGp1c3RlZFBvc2l0aW9uLCBhZGp1c3RlZE9sZFBvc2l0aW9uKSAtIHBhaW50UmVjdC54KCkp
OworICAgICAgICBpZiAoc3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMKSB7CisgICAgICAgICAg
ICBwYWludFJlY3Quc2V0WChzdGQ6Om1pbihwYWludFJlY3Qud2lkdGgoKSAtIGFkanVzdGVkUG9z
aXRpb24sIHBhaW50UmVjdC53aWR0aCgpIC0gYWRqdXN0ZWRPbGRQb3NpdGlvbikpOworICAgICAg
ICAgICAgcGFpbnRSZWN0LnNldFdpZHRoKHN0ZDo6bWF4KHBhaW50UmVjdC53aWR0aCgpIC0gYWRq
dXN0ZWRQb3NpdGlvbiwgcGFpbnRSZWN0LndpZHRoKCkgLSBhZGp1c3RlZE9sZFBvc2l0aW9uKSAt
IHBhaW50UmVjdC54KCkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcGFpbnRSZWN0
LnNldFgoc3RkOjptaW4oYWRqdXN0ZWRQb3NpdGlvbiwgYWRqdXN0ZWRPbGRQb3NpdGlvbikpOwor
ICAgICAgICAgICAgcGFpbnRSZWN0LnNldFdpZHRoKHN0ZDo6bWF4KGFkanVzdGVkUG9zaXRpb24s
IGFkanVzdGVkT2xkUG9zaXRpb24pIC0gcGFpbnRSZWN0LngoKSk7CisgICAgICAgIH0KICAgICB9
CiAgICAgcmVwYWludFJlY3RhbmdsZShwYWludFJlY3QpOwogfQpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQcm9ncmVzcy5oCShyZXZpc2lvbiA1NjEyNikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclByb2dyZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDggKzM2LDYgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJl
dHVybiAiUmVuZGVyUHJvZ3Jlc3MiOyB9CiAgICAgdmlydHVhbCBib29sIGlzUHJvZ3Jlc3MoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihi
b29sLCBib29sKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgY2FsY1ByZWZXaWR0aHMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVt
ZW50KCk7CiAgICAgaW50IG1fcG9zaXRpb247CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NjEyNykKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisy
MDEwLTAzLTE3ICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdGhlIHN0eWxlIG9m
IEhUTUxQcm9ncmVzc0VsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM2MjA2CisgICAgICAgIEFkZCBkaXI9cnRsIHRlc3QgYW5kIHVwZGF0ZSB0
aGUgZXhwZWN0ZWQgcmVzdWx0cy4KKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBlY3RlZC5jaGVja3N1
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3By
b2dyZXNzLWVsZW1lbnQtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBlY3RlZC50eHQ6CisK
IDIwMTAtMDMtMTcgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5o
dG1sCShyZXZpc2lvbiA1NjEyNikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVz
c0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBA
Ci08aHRtbD48Ym9keT48cHJvZ3Jlc3MgdmFsdWU9NzAgbWF4PTEwMD48L3Byb2dyZXNzPjwvYm9k
eT48L2h0bWw+Cis8aHRtbD48Ym9keT48cHJvZ3Jlc3MgdmFsdWU9NzAgbWF4PTEwMD48L3Byb2dy
ZXNzPjxzbWFsbD48cHJvZ3Jlc3MgdmFsdWU9NzAgbWF4PTEwMCBkaXI9InJ0bCI+PC9wcm9ncmVz
cz48L3NtYWxsPjwvYm9keT48L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsZW1lbnQtZXhwZWN0ZWQuY2hl
Y2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZp
c2lvbiA1NjEyNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBj
b3B5KQpAQCAtMSArMSBAQAotMDFjZmZkOTliNTBjNzhiY2RmOTNkMjNmMWMyMGNjMDIKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis1OGUwMjg4M2E5NDRjNTE5YmM5OWEyMTAwOGRkZjA3Ngpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFBy
b2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTYx
MjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVt
ZW50L3Byb2dyZXNzLWVsZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDUg
KzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJQcm9n
cmVzcyB7UFJPR1JFU1N9IGF0ICgyLDIpIHNpemUgMTIweDIwCisgICAgICBSZW5kZXJQcm9ncmVz
cyB7UFJPR1JFU1N9IGF0ICgwLDApIHNpemUgMTYweDE2CisgICAgICBSZW5kZXJJbmxpbmUge1NN
QUxMfSBhdCAoMCwwKSBzaXplIDEzM3gxNgorICAgICAgICBSZW5kZXJQcm9ncmVzcyB7UFJPR1JF
U1N9IGF0ICgxNjAsMikgc2l6ZSAxMzN4MTMKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10
eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFB
eUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFNCjdrbEVR
VlI0bk8zZE8wNENBUlJBMGNHNEcweTBZd3N1UkJJLzZ5RVViTVJsV0xpZnNkVVl4US9ld2VHY2xs
ZThndWJtTWNOaUhNZHgKQUFBQUNKeE52UUFBQUhBNkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRT1o4MzhERDNicllBOTdaYkhkVApyd0FBd0lIdERaQmhHSWI3MjV1LzNn
TUFBRGdCWHdvUW1Jb0xISys1aWdIQS8vZXRBTG00ZXZ6d3MrZW5hek5ITmpNWExuQUFBUFBoCklY
UUFBQ0RqSjFqd1E4ZDI4WnJyREFBd0x5NGdBQUJBUm9BQUFBQVpBUUlBQUdRRUNBQUFrQkVnQUFC
QVJvQUFBQUFacitHRkgvcksKYTJMTi9INEdBSmlYeFRpTzQyY0REM2RyLzBUTkpKYVhLOTgvM2xo
ZXJxWmVBUUQ0SlJjUWp0cG11NXQ2QlFBQURtanZCUVFBQU9CUQpQSVFPQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
ClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMK
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUEKQUFBQW1SZmljSFliRXdzM1BRQUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51738</attachid>
            <date>2010-03-26 07:10:20 -0700</date>
            <delta_ts>2010-03-26 08:43:54 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>36206.patch</filename>
            <type>text/plain</type>
            <size>13366</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjYxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDMtMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCB0aGUgcmVuZGVyaW5nIG9mIEhUTUxQcm9ncmVzc0VsZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MjA2CisKKyAgICAgICAgVXBkYXRl
IHRoZSByZW5kZXJpbmcgYW5kIGNzcyB0byBjb25mb3JtIHRvCisgICAgICAgIGh0dHA6Ly93d3cu
d2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvY29tcGxldGUuaHRtbCN0aGUt
cHJvZ3Jlc3MtZWxlbWVudC0wLgorICAgICAgICBVcGRhdGVkIHRoZSB0ZXN0cyBhbmQgdGhlIGV4
cGVjdGVkIHJlc3VsdHMgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6Cisg
ICAgICAgIChwcm9ncmVzcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjpSZW5kZXJQcm9ncmVzcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyUHJvZ3Jlc3M6OmlzUHJvZ3Jlc3MpOgorCiAyMDEwLTAzLTA4ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5v
cm9uaGEuCkluZGV4OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9odG1sLmNzcwkocmV2aXNpb24gNTY2MTcpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNzcwko
d29ya2luZyBjb3B5KQpAQCAtNTE5LDkgKzUxOSwxMCBAQCBvcHRpb24gewogCiBwcm9ncmVzcyB7
CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBwcm9ncmVzcy1iYXI7Ci0gICAgcGFkZGluZzogaW5p
dGlhbDsKLSAgICBib3JkZXI6IGluaXRpYWw7Ci0gICAgbWFyZ2luOiAycHg7CisgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOworICAgIGhlaWdodDogMWVtOworICAgIHdpZHRoOiAxMGVtOworICAg
IHZlcnRpY2FsLWFsaWduOiAtMC4yZW07CiB9CiAKIHByb2dyZXNzOjotd2Via2l0LXByb2dyZXNz
LWJhciB7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9u
IDU2NjE3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjc5LDcgKzY3OSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRQcm9n
cmVzc0JhcihSZW4KICAgICBvcHRpb24ucmVjdCA9IHI7CiAgICAgb3B0aW9uLm1heGltdW0gPSA2
NTUzNjsKICAgICBvcHRpb24ubWluaW11bSA9IDA7Ci0gICAgb3B0aW9uLnByb2dyZXNzID0gcmVu
ZGVyUHJvZ3Jlc3MtPnBvc2l0aW9uKCk7CisgICAgb3B0aW9uLnByb2dyZXNzID0gKHJlbmRlclBy
b2dyZXNzLT5wb3NpdGlvbigpICogNjU1MzYpOwogCiAgICAgY29uc3QgUVBvaW50IHRvcExlZnQg
PSByLnRvcExlZnQoKTsKICAgICBwLnBhaW50ZXItPnRyYW5zbGF0ZSh0b3BMZWZ0KTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAJKHJldmlzaW9uIDU2NjE3KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw1
MCArMzIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwogCi1zdGF0aWMgY29uc3QgaW50IGRlZmF1bHRQcm9ncmVzc1dpZHRoID0gMTIwOwotc3Rh
dGljIGNvbnN0IGludCBkZWZhdWx0UHJvZ3Jlc3NIZWlnaHQgPSAyMDsKLQogUmVuZGVyUHJvZ3Jl
c3M6OlJlbmRlclByb2dyZXNzKEhUTUxQcm9ncmVzc0VsZW1lbnQqIGVsZW1lbnQpCiAgICAgOiBS
ZW5kZXJCbG9jayhlbGVtZW50KQogICAgICwgbV9wb3NpdGlvbigtMSkKIHsKLSAgICBzZXRTaXpl
KEludFNpemUoZGVmYXVsdFByb2dyZXNzV2lkdGgsIGRlZmF1bHRQcm9ncmVzc0hlaWdodCkpOwot
ICAgIHNldFJlcGxhY2VkKHRydWUpOwotfQotCi1pbnQgUmVuZGVyUHJvZ3Jlc3M6OmJhc2VsaW5l
UG9zaXRpb24oYm9vbCwgYm9vbCkgY29uc3QKLXsKLSAgICByZXR1cm4gaGVpZ2h0KCkgKyBtYXJn
aW5Ub3AoKTsKLX0KLQotdm9pZCBSZW5kZXJQcm9ncmVzczo6Y2FsY1ByZWZXaWR0aHMoKQotewot
ICAgIG1fbWluUHJlZldpZHRoID0gMDsKLSAgICBtX21heFByZWZXaWR0aCA9IDA7Ci0KLSAgICBp
ZiAoc3R5bGUoKS0+d2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS0+d2lkdGgoKS52YWx1ZSgp
ID4gMCkKLSAgICAgICAgbV9taW5QcmVmV2lkdGggPSBtX21heFByZWZXaWR0aCA9IGNhbGNDb250
ZW50Qm94V2lkdGgoc3R5bGUoKS0+d2lkdGgoKS52YWx1ZSgpKTsKLSAgICBlbHNlCi0gICAgICAg
IG1fbWF4UHJlZldpZHRoID0gZGVmYXVsdFByb2dyZXNzV2lkdGggKiBzdHlsZSgpLT5lZmZlY3Rp
dmVab29tKCk7Ci0KLSAgICBpZiAoc3R5bGUoKS0+bWluV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5
bGUoKS0+bWluV2lkdGgoKS52YWx1ZSgpID4gMCkgewotICAgICAgICBtX21heFByZWZXaWR0aCA9
IG1heChtX21heFByZWZXaWR0aCwgY2FsY0NvbnRlbnRCb3hXaWR0aChzdHlsZSgpLT5taW5XaWR0
aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmV2lkdGggPSBtYXgobV9taW5QcmVmV2lk
dGgsIGNhbGNDb250ZW50Qm94V2lkdGgoc3R5bGUoKS0+bWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0g
ICAgfSBlbHNlIGlmIChzdHlsZSgpLT53aWR0aCgpLmlzUGVyY2VudCgpIHx8IChzdHlsZSgpLT53
aWR0aCgpLmlzQXV0bygpICYmIHN0eWxlKCktPmhlaWdodCgpLmlzUGVyY2VudCgpKSkKLSAgICAg
ICAgbV9taW5QcmVmV2lkdGggPSAwOwotICAgIGVsc2UKLSAgICAgICAgbV9taW5QcmVmV2lkdGgg
PSBtX21heFByZWZXaWR0aDsKLQotICAgIGlmIChzdHlsZSgpLT5tYXhXaWR0aCgpLmlzRml4ZWQo
KSAmJiBzdHlsZSgpLT5tYXhXaWR0aCgpLnZhbHVlKCkgIT0gdW5kZWZpbmVkTGVuZ3RoKSB7Ci0g
ICAgICAgIG1fbWF4UHJlZldpZHRoID0gbWluKG1fbWF4UHJlZldpZHRoLCBjYWxjQ29udGVudEJv
eFdpZHRoKHN0eWxlKCktPm1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZX
aWR0aCA9IG1pbihtX21pblByZWZXaWR0aCwgY2FsY0NvbnRlbnRCb3hXaWR0aChzdHlsZSgpLT5t
YXhXaWR0aCgpLnZhbHVlKCkpKTsKLSAgICB9Ci0KLSAgICBpbnQgdG9BZGQgPSBwYWRkaW5nTGVm
dCgpICsgcGFkZGluZ1JpZ2h0KCkgKyBib3JkZXJMZWZ0KCkgKyBib3JkZXJSaWdodCgpOwotICAg
IG1fbWluUHJlZldpZHRoICs9IHRvQWRkOwotICAgIG1fbWF4UHJlZldpZHRoICs9IHRvQWRkOwot
Ci0gICAgc2V0UHJlZldpZHRoc0RpcnR5KGZhbHNlKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVz
czo6bGF5b3V0KCkKQEAgLTk3LDIxICs1NywxMiBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjpsYXlv
dXQoKQogdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlRnJvbUVsZW1lbnQoKQogewogICAgIEhU
TUxQcm9ncmVzc0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MUHJvZ3Jlc3NFbGVt
ZW50Kj4obm9kZSgpKTsKLSAgICBkb3VibGUgcG9zaXRpb24gPSBlbGVtZW50LT5wb3NpdGlvbigp
OwotICAgIGludCBvbGRQb3NpdGlvbiA9IG1fcG9zaXRpb247Ci0gICAgYm9vbCBjYW5PcHRpbWl6
ZSA9IHRoZW1lKCktPmdldE51bWJlck9mUGl4ZWxzRm9yUHJvZ3Jlc3NQb3NpdGlvbihwb3NpdGlv
biwgbV9wb3NpdGlvbik7CisgICAgZG91YmxlIG9sZFBvc2l0aW9uID0gbV9wb3NpdGlvbjsKKyAg
ICBtX3Bvc2l0aW9uID0gZWxlbWVudC0+cG9zaXRpb24oKTsKICAgICBpZiAob2xkUG9zaXRpb24g
PT0gbV9wb3NpdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBwYWludFJlY3Qg
PSBjb250ZW50Qm94UmVjdCgpOwotICAgIGlmIChjYW5PcHRpbWl6ZSkgewotICAgICAgICAvLyBG
SVhNRTogTmVlZCB0byBoYW5kbGUgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIgYW5kIFJUTAot
ICAgICAgICBpbnQgYWRqdXN0ZWRQb3NpdGlvbiA9IChtX3Bvc2l0aW9uID49IDApID8gbV9wb3Np
dGlvbiA6IDA7Ci0gICAgICAgIGludCBhZGp1c3RlZE9sZFBvc2l0aW9uID0gKG9sZFBvc2l0aW9u
ID49IDApID8gb2xkUG9zaXRpb24gOiAwOwotICAgICAgICBwYWludFJlY3Quc2V0WChzdGQ6Om1p
bihhZGp1c3RlZFBvc2l0aW9uLCBhZGp1c3RlZE9sZFBvc2l0aW9uKSk7Ci0gICAgICAgIHBhaW50
UmVjdC5zZXRXaWR0aChzdGQ6Om1heChhZGp1c3RlZFBvc2l0aW9uLCBhZGp1c3RlZE9sZFBvc2l0
aW9uKSAtIHBhaW50UmVjdC54KCkpOwotICAgIH0KLSAgICByZXBhaW50UmVjdGFuZ2xlKHBhaW50
UmVjdCk7CisgICAgcmVwYWludCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgJKHJldmlzaW9uIDU2NjE3KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTYgKzMx
LDE0IEBAIGNsYXNzIEhUTUxQcm9ncmVzc0VsZW1lbnQ7CiBjbGFzcyBSZW5kZXJQcm9ncmVzcyA6
IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgUmVuZGVyUHJvZ3Jlc3MoSFRNTFBy
b2dyZXNzRWxlbWVudCopOwotICAgIGludCBwb3NpdGlvbigpIHsgcmV0dXJuIG1fcG9zaXRpb247
IH0KKyAgICBkb3VibGUgcG9zaXRpb24oKSB7IHJldHVybiBtX3Bvc2l0aW9uOyB9CiAKIHByaXZh
dGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4g
IlJlbmRlclByb2dyZXNzIjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1Byb2dyZXNzKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgaW50IGJhc2VsaW5lUG9zaXRpb24oYm9vbCwg
Ym9vbCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGNhbGNQcmVmV2lkdGhzKCk7CiAgICAgdmly
dHVhbCB2b2lkIGxheW91dCgpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgp
OwotICAgIGludCBtX3Bvc2l0aW9uOworICAgIGRvdWJsZSBtX3Bvc2l0aW9uOwogfTsKIAogaW5s
aW5lIFJlbmRlclByb2dyZXNzKiB0b1JlbmRlclByb2dyZXNzKFJlbmRlck9iamVjdCogb2JqZWN0
KQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNTY2MTcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wMy0yNiAgWWFlbCBBaGFyb24gIDx5
YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4IHRoZSByZW5kZXJpbmcgb2YgSFRNTFByb2dyZXNzRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYyMDYKKyAg
ICAgICAgQWRkIGRpcj1ydGwgdGVzdCBhbmQgdXBkYXRlIHRoZSBleHBlY3RlZCByZXN1bHRzLgor
CisgICAgICAgICogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50
Lmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVu
dC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3Jt
L3F0L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBlY3Rl
ZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVu
dC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLnR4dDoKKwogMjAxMC0wMy0yNiAgTWFkcyBBZ2Vy
ICA8YWdlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVz
cy1lbGVtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFBy
b2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDU2NjE3KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTxodG1sPjxib2R5Pjxwcm9ncmVzcyB2
YWx1ZT03MCBtYXg9MTAwPjwvcHJvZ3Jlc3M+PC9ib2R5PjwvaHRtbD4KKzxodG1sPjxib2R5Pjxw
cm9ncmVzcyB2YWx1ZT03MCBtYXg9MTAwPjwvcHJvZ3Jlc3M+PHNtYWxsPjxwcm9ncmVzcyB2YWx1
ZT03MCBtYXg9MTAwIGRpcj0icnRsIj48L3Byb2dyZXNzPjwvc21hbGw+PC9ib2R5PjwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1l
bnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNz
LWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDU2NjE3KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVt
ZW50LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0wMWNmZmQ5
OWI1MGM3OGJjZGY5M2QyM2YxYzIwY2MwMgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzU4
ZTAyODgzYTk0NGM1MTliYzk5YTIxMDA4ZGRmMDc2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFByb2dyZXNzRWxl
bWVudC9wcm9ncmVzcy1lbGVtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1NjYxNykKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNSArMyw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlclByb2dyZXNzIHtQUk9HUkVTU30gYXQgKDIsMikg
c2l6ZSAxMjB4MjAKKyAgICAgIFJlbmRlclByb2dyZXNzIHtQUk9HUkVTU30gYXQgKDAsMCkgc2l6
ZSAxNjB4MTYKKyAgICAgIFJlbmRlcklubGluZSB7U01BTEx9IGF0ICgwLDApIHNpemUgMTMzeDE2
CisgICAgICAgIFJlbmRlclByb2dyZXNzIHtQUk9HUkVTU30gYXQgKDE2MCwyKSBzaXplIDEzM3gx
MwogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNz
LWVsZW1lbnQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQUNY
QklXWE1BQUE3RUFBQU94QUdWS3c0YkFBQU0KN2tsRVFWUjRuTzNkTzA0Q0FSUkEwY0c0RzB5MFl3
c3VSQkkvNnlFVWJNUmxXTGlmc2RVWXhRL2V3ZUdjbGxlOGd1Ym1NY05pSE1keApBQUFBQ0p4TnZR
QUFBSEE2QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFPWjgzOEREM2Jy
WUE5N1piSGRUCnJ3QUF3SUh0RFpCaEdJYjcyNXUvM2dNQUFEZ0JYd29RbUlvTEhLKzVpZ0hBLy9l
dEFMbTRldnp3cytlbmF6TkhOak1YTG5BQUFQUGgKSVhRQUFDRGpKMWp3UThkMjhacnJEQUF3THk0
Z0FBQkFSb0FBQUFBWkFRSUFBR1FFQ0FBQWtCRWdBQUJBUm9BQUFBQVpyK0dGSC9ySwphMkxOL0g0
R0FKaVh4VGlPNDJjREQzZHIvMFROSkphWEs5OC8zbGhlcnFaZUFRRDRKUmNRanRwbXU1dDZCUUFB
RG1qdkJRUUFBT0JRClBJUU9BQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEK
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
CkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBbVJmaWNI
WWJFd3MzUFFBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>