<?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>113003</bug_id>
          
          <creation_ts>2013-03-21 22:12:42 -0700</creation_ts>
          <short_desc>Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()</short_desc>
          <delta_ts>2013-03-22 20:39:02 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>861095</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-21 22:12:42 -0700</bug_when>
    <thetext>Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861106</commentid>
    <comment_count>1</comment_count>
      <attachid>194443</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-21 22:35:27 -0700</bug_when>
    <thetext>Created attachment 194443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861914</commentid>
    <comment_count>2</comment_count>
      <attachid>194645</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-22 15:30:57 -0700</bug_when>
    <thetext>Created attachment 194645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861916</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-22 15:33:37 -0700</bug_when>
    <thetext>*** Bug 111892 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861953</commentid>
    <comment_count>4</comment_count>
      <attachid>194645</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-22 16:26:00 -0700</bug_when>
    <thetext>Comment on attachment 194645
Patch

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

LGTM!

&gt; Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp:98
&gt; +    return equalIgnoringCase(token.data().asStringImpl(), SVGNames::foreignObjectTag.localName().impl());

These are known to never be null, btw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861956</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-22 16:30:20 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp:98
&gt; &gt; +    return equalIgnoringCase(token.data().asStringImpl(), SVGNames::foreignObjectTag.localName().impl());
&gt; 
&gt; These are known to never be null, btw.

I was not sure so I took the safe option :).
I will change to the non-null form before landing.

Thank you for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861961</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-22 16:31:58 -0700</bug_when>
    <thetext>I believe the HTMLParser basically never has any null strings ever. :)  Everything is empty at most.  In the case of a tag name, the parser will tread &lt;&gt; as a characters in a character token, not as a tag with empty name.

Thanks for fixing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862070</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-22 18:38:08 -0700</bug_when>
    <thetext>Committed r146702: &lt;http://trac.webkit.org/changeset/146702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862090</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-22 19:44:13 -0700</bug_when>
    <thetext>This patch broke Windows build:

http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/46465/steps/compile-webkit/logs/stdio

7&gt;WebKitSystemInterface.lib(WebKitSystemInterface.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
7&gt;   Creating library C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\lib\WebKit.lib and object C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\lib\WebKit.exp
7&gt;WebKit.exp : error LNK2001: unresolved external symbol &quot;bool __cdecl WTF::equalIgnoringCase(class WTF::StringImpl *,unsigned char const *)&quot; (?equalIgnoringCase@WTF@@YA_NPAVStringImpl@1@PBE@Z)
7&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin\WebKit.dll : fatal error LNK1120: 1 unresolved externals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862108</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-22 20:32:57 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; This patch broke Windows build:

I am on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862111</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-22 20:38:09 -0700</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/146705 and http://trac.webkit.org/changeset/146710.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862112</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-22 20:39:02 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Fixed in http://trac.webkit.org/changeset/146705 and http://trac.webkit.org/changeset/146710.

Thanks for fixing this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194443</attachid>
            <date>2013-03-21 22:35:27 -0700</date>
            <delta_ts>2013-03-22 15:30:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113003-20130321223115.patch</filename>
            <type>text/plain</type>
            <size>10712</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUzNGJjMjg5YWMwOTVmNTlkZDk3NTk5
OTgzNTRhN2MyZjY0Mjc2ZDkuLjFlYmUwOWI2MWIxMmY1OTgxNDNiYmZjNzI2NzAzZmZmMzA5YTVl
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDMtMjEgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSAyIGJhZCBicmFuY2hlcyBmcm9t
IFN0cmluZ0hhc2g6OmVxdWFsKCkgYW5kIENhc2VGb2xkaW5nSGFzaDo6ZXF1YWwoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMDAzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJp
bmdIYXNoLmg6CisgICAgICAgIChXVEY6OlN0cmluZ0hhc2g6OmVxdWFsKToKKyAgICAgICAgKFdU
Rjo6Q2FzZUZvbGRpbmdIYXNoOjplcXVhbCk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1w
bC5jcHA6CisgICAgICAgIChXVEY6OmVxdWFsKToKKyAgICAgICAgKFdURjo6ZXF1YWxJZ25vcmlu
Z0Nhc2UpOgorICAgICAgICAoV1RGOjplcXVhbElnbm9yaW5nTnVsbGl0eSk6CisgICAgICAgICog
d3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdURjo6ZXF1
YWxJZ25vcmluZ0Nhc2UpOgorCiAyMDEzLTAzLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2luZyBTdHJpbmc6OmZpbmROZXh0TGluZVN0YXJ0KCku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMzBiYmYzMzI1ZjQ2MzgzMGU1ZTg2MTEzMmM2NTAxYjk2OWZlZTE2ZC4u
MDYyYjE0ZGJmZjQzMmViYmMzNWU5ODVhYzE4ODNhNWY0ODdmODM5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTAzLTIxICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgMiBiYWQgYnJhbmNoZXMgZnJvbSBTdHJpbmdIYXNo
OjplcXVhbCgpIGFuZCBDYXNlRm9sZGluZ0hhc2g6OmVxdWFsKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzAwMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyU2ltdWxhdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRva2VuRXhpdHNTVkcpOgorCiAyMDEzLTAzLTIxICBMaSBZaW4gIDxsaS55
aW5AaW50ZWwuY29tPgogCiAgICAgICAgIEZpbGVBUEk6IFJlbW92ZSBkZXByZWNhdGlvbiB3YXJu
aW5nIHdoZW4gQXJyYXlCdWZmZXIgaXMgaW4gQmxvYiBjb25zdHJ1Y3Rvci4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSGFzaC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9T
dHJpbmdIYXNoLmgKaW5kZXggMTkyODcxNmJkZjg0MGJkNDczMGZmNGViNWQzM2IwNjhhYTI0OTgy
NS4uZTFhMGMyNWVhZTM5Y2ExM2FiMDkxMDQwZjllNGIxOGZiZmM2ZmZjMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdIYXNoLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4
dC9TdHJpbmdIYXNoLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA3LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZAorICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZAogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRl
ZCAyMDA5LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTQzLDI5ICs0Myw5
IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgc3RydWN0IFN0cmluZ0hhc2ggewogICAgICAgICBz
dGF0aWMgdW5zaWduZWQgaGFzaChTdHJpbmdJbXBsKiBrZXkpIHsgcmV0dXJuIGtleS0+aGFzaCgp
OyB9Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNvbnN0
IFN0cmluZ0ltcGwqIGIpCisgICAgICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBlcXVhbChjb25zdCBT
dHJpbmdJbXBsKiBhLCBjb25zdCBTdHJpbmdJbXBsKiBiKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAoYSA9PSBiKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg
aWYgKCFhIHx8ICFiKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAg
ICAgdW5zaWduZWQgYUxlbmd0aCA9IGEtPmxlbmd0aCgpOwotICAgICAgICAgICAgdW5zaWduZWQg
Ykxlbmd0aCA9IGItPmxlbmd0aCgpOwotICAgICAgICAgICAgaWYgKGFMZW5ndGggIT0gYkxlbmd0
aCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgIGlmIChhLT5p
czhCaXQoKSkgewotICAgICAgICAgICAgICAgIGlmIChiLT5pczhCaXQoKSkKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoYS0+Y2hhcmFjdGVyczgoKSwgYi0+Y2hhcmFjdGVy
czgoKSwgYUxlbmd0aCk7Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjplcXVhbChhLT5j
aGFyYWN0ZXJzOCgpLCBiLT5jaGFyYWN0ZXJzMTYoKSwgYUxlbmd0aCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGlmIChiLT5pczhCaXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
V1RGOjplcXVhbChhLT5jaGFyYWN0ZXJzMTYoKSwgYi0+Y2hhcmFjdGVyczgoKSwgYUxlbmd0aCk7
Ci0KLSAgICAgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKGEtPmNoYXJhY3RlcnMxNigpLCBiLT5j
aGFyYWN0ZXJzMTYoKSwgYUxlbmd0aCk7CisgICAgICAgICAgICByZXR1cm4gZXF1YWxOb25OdWxs
KGEsIGIpOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3Qg
UmVmUHRyPFN0cmluZ0ltcGw+JiBrZXkpIHsgcmV0dXJuIGtleS0+aGFzaCgpOyB9CkBAIC0xMTIs
MjcgKzkyLDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgICAgICByZXR1cm4gQ2FzZUZvbGRp
bmdIYXNoOjpoYXNoKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihkYXRhKSwgbGVuZ3Ro
KTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3Qg
U3RyaW5nSW1wbCogYSwgY29uc3QgU3RyaW5nSW1wbCogYikKKyAgICAgICAgc3RhdGljIGlubGlu
ZSBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNvbnN0IFN0cmluZ0ltcGwqIGIpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmIChhID09IGIpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgICAgICBpZiAoIWEgfHwgIWIpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gYS0+bGVuZ3RoKCk7Ci0gICAg
ICAgICAgICBpZiAobGVuZ3RoICE9IGItPmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgICAgICAgICAgaWYgKGEtPmlzOEJpdCgpKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKGItPmlzOEJpdCgpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25v
cmluZ0Nhc2UoYS0+Y2hhcmFjdGVyczgoKSwgYi0+Y2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKLQot
ICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShiLT5jaGFyYWN0ZXJzMTYo
KSwgYS0+Y2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgaWYgKGItPmlzOEJpdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZShhLT5jaGFyYWN0ZXJzMTYoKSwgYi0+Y2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKLQotICAg
ICAgICAgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKGEtPmNoYXJhY3RlcnMxNigpLCBiLT5j
aGFyYWN0ZXJzMTYoKSwgbGVuZ3RoKTsKKyAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5n
Q2FzZU5vbk51bGwoYSwgYik7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgdW5zaWduZWQg
aGFzaChjb25zdCBSZWZQdHI8U3RyaW5nSW1wbD4mIGtleSkgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmNwcAppbmRleCAyYzYxZjY1NTBhZDBhNDVlZTkwMWVmMTIyNGNiZTQ1YmYwYzg3NjNmLi5h
NmQ3M2QwMjUyMjQyMmZhOWJiOGNiYWI4ZGU1OTJjYjU5Y2JjMjRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSW1wbC5jcHAKQEAgLTE2NjksNyArMTY2OSwxMiBAQCBQYXNzUmVmUHRyPFN0cmluZ0lt
cGw+IFN0cmluZ0ltcGw6OnJlcGxhY2UoU3RyaW5nSW1wbCogcGF0dGVybiwgU3RyaW5nSW1wbCog
cmVwbAogCiBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNvbnN0IFN0cmluZ0ltcGwq
IGIpCiB7Ci0gICAgcmV0dXJuIFN0cmluZ0hhc2g6OmVxdWFsKGEsIGIpOworICAgIGlmIChhID09
IGIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICghYSB8fCAhYikKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGVxdWFsTm9uTnVsbChhLCBiKTsKIH0KIAogYm9vbCBl
cXVhbChjb25zdCBTdHJpbmdJbXBsKiBhLCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQgbGVuZ3Ro
KQpAQCAtMTczNiwxMiArMTc0MSw0MSBAQCBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEs
IGNvbnN0IFVDaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgcmV0dXJuIGVxdWFsKGEtPmNo
YXJhY3RlcnMxNigpLCBiLCBsZW5ndGgpOwogfQogCi1ib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0
cmluZ0ltcGwqIGEsIFN0cmluZ0ltcGwqIGIpCitib29sIGVxdWFsTm9uTnVsbChjb25zdCBTdHJp
bmdJbXBsKiBhLCBjb25zdCBTdHJpbmdJbXBsKiBiKQogeworICAgIEFTU0VSVChhICYmIGIpOwor
ICAgIGlmIChhID09IGIpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdW5zaWduZWQgYUxl
bmd0aCA9IGEtPmxlbmd0aCgpOworICAgIHVuc2lnbmVkIGJMZW5ndGggPSBiLT5sZW5ndGgoKTsK
KyAgICBpZiAoYUxlbmd0aCAhPSBiTGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBpZiAoYS0+aXM4Qml0KCkpIHsKKyAgICAgICAgaWYgKGItPmlzOEJpdCgpKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6ZXF1YWwoYS0+Y2hhcmFjdGVyczgoKSwgYi0+Y2hhcmFjdGVyczgoKSwg
YUxlbmd0aCk7CisKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoYS0+Y2hhcmFjdGVyczgoKSwg
Yi0+Y2hhcmFjdGVyczE2KCksIGFMZW5ndGgpOworICAgIH0KKworICAgIGlmIChiLT5pczhCaXQo
KSkKKyAgICAgICAgcmV0dXJuIFdURjo6ZXF1YWwoYS0+Y2hhcmFjdGVyczE2KCksIGItPmNoYXJh
Y3RlcnM4KCksIGFMZW5ndGgpOworCisgICAgcmV0dXJuIFdURjo6ZXF1YWwoYS0+Y2hhcmFjdGVy
czE2KCksIGItPmNoYXJhY3RlcnMxNigpLCBhTGVuZ3RoKTsKK30KKworYm9vbCBlcXVhbElnbm9y
aW5nQ2FzZShjb25zdCBTdHJpbmdJbXBsKiBhLCBjb25zdCBTdHJpbmdJbXBsKiBiKQoreworICAg
IGlmIChhID09IGIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICghYSB8fCAhYikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIENhc2VGb2xkaW5nSGFzaDo6ZXF1YWwo
YSwgYik7CiB9CiAKLWJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoU3RyaW5nSW1wbCogYSwgY29uc3Qg
TENoYXIqIGIpCitib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNv
bnN0IExDaGFyKiBiKQogewogICAgIGlmICghYSkKICAgICAgICAgcmV0dXJuICFiOwpAQCAtMTc5
NSwxNiArMTgyOSwzNiBAQCBib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqIGEsIGNv
bnN0IExDaGFyKiBiKQogICAgIHJldHVybiBlcXVhbCAmJiAhYltsZW5ndGhdOwogfQogCi1ib29s
IGVxdWFsSWdub3JpbmdOdWxsaXR5KFN0cmluZ0ltcGwqIGEsIFN0cmluZ0ltcGwqIGIpCitib29s
IGVxdWFsSWdub3JpbmdDYXNlTm9uTnVsbChjb25zdCBTdHJpbmdJbXBsKiBhLCBjb25zdCBTdHJp
bmdJbXBsKiBiKQogewotICAgIGlmIChTdHJpbmdIYXNoOjplcXVhbChhLCBiKSkKKyAgICBBU1NF
UlQoYSAmJiBiKTsKKyAgICBpZiAoYSA9PSBiKQogICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IHVuc2lnbmVkIGxlbmd0aCA9IGEtPmxlbmd0aCgpOworICAgIGlmIChsZW5ndGggIT0gYi0+bGVu
Z3RoKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhLT5pczhCaXQoKSkgewor
ICAgICAgICBpZiAoYi0+aXM4Qml0KCkpCisgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmlu
Z0Nhc2UoYS0+Y2hhcmFjdGVyczgoKSwgYi0+Y2hhcmFjdGVyczgoKSwgbGVuZ3RoKTsKKworICAg
ICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYi0+Y2hhcmFjdGVyczE2KCksIGEtPmNoYXJh
Y3RlcnM4KCksIGxlbmd0aCk7CisgICAgfQorCisgICAgaWYgKGItPmlzOEJpdCgpKQorICAgICAg
ICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYS0+Y2hhcmFjdGVyczE2KCksIGItPmNoYXJhY3Rl
cnM4KCksIGxlbmd0aCk7CisKKyAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYS0+Y2hhcmFj
dGVyczE2KCksIGItPmNoYXJhY3RlcnMxNigpLCBsZW5ndGgpOworfQorCitib29sIGVxdWFsSWdu
b3JpbmdOdWxsaXR5KFN0cmluZ0ltcGwqIGEsIFN0cmluZ0ltcGwqIGIpCit7CiAgICAgaWYgKCFh
ICYmIGIgJiYgIWItPmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAoIWIg
JiYgYSAmJiAhYS0+bGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBlcXVhbChhLCBiKTsKIH0KIAogV1RGOjpVbmljb2RlOjpEaXJl
Y3Rpb24gU3RyaW5nSW1wbDo6ZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oYm9vbCogaGFzU3Ryb25n
RGlyZWN0aW9uYWxpdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0lt
cGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IDM3OTk1YWQ4OGZj
ZTE4NzQxYzM4MTVlMzgxNWQ5MjlkMWM1MTdmMDEuLmUxZDRiYjk0NzQ2ZTk1MDUyYzRmZjliOTRh
OTNmMzA4NzcxODNjZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1w
bC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCkBAIC04NDQsNiArODQ0
LDcgQEAgaW5saW5lIGJvb2wgZXF1YWwoY29uc3QgU3RyaW5nSW1wbCogYSwgY29uc3QgY2hhciog
YiwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybgogaW5saW5lIGJvb2wgZXF1YWwoY29uc3QgTENo
YXIqIGEsIFN0cmluZ0ltcGwqIGIpIHsgcmV0dXJuIGVxdWFsKGIsIGEpOyB9CiBpbmxpbmUgYm9v
bCBlcXVhbChjb25zdCBjaGFyKiBhLCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBlcXVhbChiLCBy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYSkpOyB9CiBXVEZfRVhQT1JUX1NUUklOR19B
UEkgYm9vbCBlcXVhbChjb25zdCBTdHJpbmdJbXBsKiwgY29uc3QgVUNoYXIqLCB1bnNpZ25lZCk7
CitXVEZfRVhQT1JUX1NUUklOR19BUEkgYm9vbCBlcXVhbE5vbk51bGwoY29uc3QgU3RyaW5nSW1w
bCogYSwgY29uc3QgU3RyaW5nSW1wbCogYik7CiAKIC8vIERvIGNvbXBhcmlzb25zIDggb3IgNCBi
eXRlcy1hdC1hLXRpbWUgb24gYXJjaGl0ZWN0dXJlcyB3aGVyZSBpdCdzIHNhZmUuCiAjaWYgQ1BV
KFg4Nl82NCkKQEAgLTEwODksOSArMTA5MCw5IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBlcXVhbChj
b25zdCBVQ2hhciogYSwgY29uc3QgTENoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotV1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoU3RyaW5nSW1wbCosIFN0cmluZ0ltcGwqKTsKLVdURl9FWFBPUlRfU1RSSU5HX0FQSSBib29s
IGVxdWFsSWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqLCBjb25zdCBMQ2hhciopOwotaW5saW5lIGJv
b2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgTENoYXIqIGEsIFN0cmluZ0ltcGwqIGIpIHsgcmV0
dXJuIGVxdWFsSWdub3JpbmdDYXNlKGIsIGEpOyB9CitXVEZfRVhQT1JUX1NUUklOR19BUEkgYm9v
bCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBTdHJpbmdJbXBsKiwgY29uc3QgU3RyaW5nSW1wbCop
OworV1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgU3Ry
aW5nSW1wbCosIGNvbnN0IExDaGFyKik7CitpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShj
b25zdCBMQ2hhciogYSwgY29uc3QgU3RyaW5nSW1wbCogYikgeyByZXR1cm4gZXF1YWxJZ25vcmlu
Z0Nhc2UoYiwgYSk7IH0KIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBib29sIGVxdWFsSWdub3JpbmdD
YXNlKGNvbnN0IExDaGFyKiwgY29uc3QgTENoYXIqLCB1bnNpZ25lZCk7CiBXVEZfRVhQT1JUX1NU
UklOR19BUEkgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBVQ2hhciosIGNvbnN0IExDaGFy
KiwgdW5zaWduZWQpOwogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgVUNoYXIq
IGEsIGNvbnN0IGNoYXIqIGIsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZXF1YWxJZ25vcmlu
Z0Nhc2UoYSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGIpLCBsZW5ndGgpOyB9CkBA
IC0xMTAzLDYgKzExMDQsNyBAQCBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBV
Q2hhciogYSwgY29uc3QgVUNoYXIqIGIsIGludCBsZW5ndGgpCiAgICAgQVNTRVJUKGxlbmd0aCA+
PSAwKTsKICAgICByZXR1cm4gIVVuaWNvZGU6OnVtZW1jYXNlY21wKGEsIGIsIGxlbmd0aCk7CiB9
CitXVEZfRVhQT1JUX1NUUklOR19BUEkgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZU5vbk51bGwoY29u
c3QgU3RyaW5nSW1wbCosIGNvbnN0IFN0cmluZ0ltcGwqKTsKIAogV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoU3RyaW5nSW1wbCosIFN0cmluZ0ltcGwqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
U2ltdWxhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRl
clNpbXVsYXRvci5jcHAKaW5kZXggMDk2MDc5MDEwNzliMDZhZjMxMjMyNzEyYTAyYzI2MTAxYzM1
NTFkNC4uMjM1NzdiMGMwN2FhYWJkYTEyNWJmMGU2YmUzMGNlZWM5NDFkZjE4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyU2ltdWxhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXJTaW11bGF0
b3IuY3BwCkBAIC05NCwxMSArOTQsNyBAQCBzdGF0aWMgYm9vbCB0b2tlbkV4aXRzRm9yZWlnbkNv
bnRlbnQoY29uc3QgQ29tcGFjdEhUTUxUb2tlbiYgdG9rZW4pCiAKIHN0YXRpYyBib29sIHRva2Vu
RXhpdHNTVkcoY29uc3QgQ29tcGFjdEhUTUxUb2tlbiYgdG9rZW4pCiB7Ci0gICAgLy8gRklYTUU6
IEl0J3MgdmVyeSBmcmFnaWxlIHRoYXQgd2Ugc3BlY2lhbCBjYXNlIGZvcmVpZ25PYmplY3QgaGVy
ZSB0byBiZSBjYXNlLWluc2Vuc2l0aXZlLgotICAgIC8vIEZJWE1FOiBVc2luZyBDYXNlRm9sZGlu
Z0hhc2g6OmVxdWFsIGluc3RlYWQgb2YgZXF1YWxJZ25vcmluZ0Nhc2UsIGFzIGVxdWFsSWdub3Jp
bmdDYXNlCi0gICAgLy8gd2FudHMgbm9uLWNvbnN0IFN0cmluZ0ltcGwqIChldmVuIHRob3VnaCBp
dCBuZXZlciBtb2RpZmllcyB0aGVtKS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODkyIGlzIGZvciBmaXhpbmcgZXF1YWxJZ25vcmluZ0Nhc2UuCi0g
ICAgcmV0dXJuIENhc2VGb2xkaW5nSGFzaDo6ZXF1YWwodG9rZW4uZGF0YSgpLmFzU3RyaW5nSW1w
bCgpLCBTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAg
IHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZSh0b2tlbi5kYXRhKCkuYXNTdHJpbmdJbXBsKCksIFNW
R05hbWVzOjpmb3JlaWduT2JqZWN0VGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CiB9CiAKIHN0YXRp
YyBib29sIHRva2VuRXhpdHNNYXRoKGNvbnN0IENvbXBhY3RIVE1MVG9rZW4mIHRva2VuKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194645</attachid>
            <date>2013-03-22 15:30:57 -0700</date>
            <delta_ts>2013-03-22 16:25:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113003-20130322152644.patch</filename>
            <type>text/plain</type>
            <size>12829</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUzNGJjMjg5YWMwOTVmNTlkZDk3NTk5
OTgzNTRhN2MyZjY0Mjc2ZDkuLjE2ODI0MWJkNWRlZjNlZjZmMjk1NDA1NTgwYjc4MmJlMmNiNmRj
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTMtMDMtMjIgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIDIgYmFkIGJyYW5jaGVzIGZyb20g
U3RyaW5nSGFzaDo6ZXF1YWwoKSBhbmQgQ2FzZUZvbGRpbmdIYXNoOjplcXVhbCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMwMDMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdHJpbmdIYXNoOjplcXVh
bCgpIGFuZCBDYXNlRm9sZGluZ0hhc2g6OmVxdWFsKCkgd2VyZSBib3RoIHRlc3RpbmcgZm9yCisg
ICAgICAgIHRoZSBudWxsaXR5IG9mIHRoZSB0d28gaW5wdXQgcG9pbnRlci4gVGhlIGNhdGNoIGlz
OiBuZWl0aGVyIHRyYWl0cyBoYW5kbGUKKyAgICAgICAgbnVsbCBwb2ludGVyLCBhbmQgYW55IGNs
aWVudCBjb2RlIHdvdWxkIGhhdmUgY3Jhc2hlZCBvbiBoYXNoKCksIGJlZm9yZSBlcXVhbCgpCisg
ICAgICAgIGlzIGNhbGxlZC4KKyAgICAgICAgQ29uc2VxdWVudGx5LCB0aGUgdHdvIGJyYW5jaGVz
IGhhZCBhIHBhc3MgcmF0ZSBvZiB6ZXJvIHdoZW4gY2FsbGVkIGZyb20gYSBIYXNoTWFwIGNvZGUu
CisKKyAgICAgICAgVGhlIGZ1bmN0aW9uIGlzIGFsc28gbmV2ZXIgaW5saW5lZCBiZWNhdXNlIGl0
IGlzIHRvbyBiaWcgKHRoZSBjb2RlIG9mIGVxdWFsKCkgZm9yIGNoYXJhY3RlcnMKKyAgICAgICAg
aXMgYWx3YXlzIGlubGluZWQsIGNhdXNpbmcgdGhlIGZ1bmN0aW9uIHRvIGJlIHF1aXRlIGJpZyku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHR3byBuZXcgZnVuY3Rpb25zIGluIHRo
ZSBTdHJpbmdJbXBsIEFQSTogZXF1YWxOb25OdWxsKCkgYW5kCisgICAgICAgIGVxdWFsSWdub3Jp
bmdDYXNlKCkuIFRob3NlIGZ1bmN0aW9ucyBhcmUgc2ltaWxhciB0byB0aGVpciBlcXVhbCgpIGVx
dWl2YWxlbnQKKyAgICAgICAgYnV0IG1ha2UgdGhlIGFzc3VtdGlvbiB0aGUgaW5wdXQgaXMgbmV2
ZXIgbnVsbC4KKworICAgICAgICBUaGUgZnVuY3Rpb25zIGFyZSB1c2VkIGZvciBTdHJpbmdIYXNo
IHRvIGF2b2lkIHRoZSB1c2VsZXNzIGJyYW5jaGVzLgorCisgICAgICAgICogd3RmL3RleHQvU3Ry
aW5nSGFzaC5oOgorICAgICAgICAoV1RGOjpTdHJpbmdIYXNoOjplcXVhbCk6CisgICAgICAgIChX
VEY6OkNhc2VGb2xkaW5nSGFzaDo6ZXF1YWwpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuY3BwOgorICAgICAgICAoV1RGOjpzdHJpbmdJbXBsQ29udGVudEVxdWFsKToKKyAgICAgICAg
KFdURjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjplcXVhbE5vbk51bGwpOgorICAgICAgICAoV1RG
OjplcXVhbElnbm9yaW5nQ2FzZSk6CisgICAgICAgIChXVEY6OmVxdWFsSWdub3JpbmdDYXNlTm9u
TnVsbCk6CisgICAgICAgIChXVEY6OmVxdWFsSWdub3JpbmdOdWxsaXR5KToKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChXVEY6OmVxdWFsSWdub3JpbmdDYXNlKToK
KwogMjAxMy0wMy0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAg
SW50cm9kdWNpbmcgU3RyaW5nOjpmaW5kTmV4dExpbmVTdGFydCgpLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDMw
YmJmMzMyNWY0NjM4MzBlNWU4NjExMzJjNjUwMWI5NjlmZWUxNmQuLjYyNGU4Y2IwNmJhZDdkMzQ2
YWFjMzQ4MGU4YzA2OGViYzU1OTRhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
My0wMy0yMiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmUgMiBiYWQgYnJhbmNoZXMgZnJvbSBTdHJpbmdIYXNoOjplcXVhbCgpIGFuZCBDYXNl
Rm9sZGluZ0hhc2g6OmVxdWFsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMzAwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZpeCB0d28gdW5mb3J0dW5hdGUgdXNlIG9mIFN0cmluZ0hhc2ggYW5kIHVz
ZSB0aGUgY29ycmVjdCBTdHJpbmdJbXBsIGZ1bmN0aW9uLgorCisgICAgICAgICogaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlcklkaW9tcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0aHJlYWRTYWZlRXF1
YWwpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlclNpbXVsYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b2tlbkV4aXRzU1ZHKToKKwogMjAxMy0wMy0yMSAgTGkgWWlu
ICA8bGkueWluQGludGVsLmNvbT4KIAogICAgICAgICBGaWxlQVBJOiBSZW1vdmUgZGVwcmVjYXRp
b24gd2FybmluZyB3aGVuIEFycmF5QnVmZmVyIGlzIGluIEJsb2IgY29uc3RydWN0b3IuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaCBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvU3RyaW5nSGFzaC5oCmluZGV4IDE5Mjg3MTZiZGY4NDBiZDQ3MzBmZjRlYjVkMzNiMDY4
YWEyNDk4MjUuLmUxYTBjMjVlYWUzOWNhMTNhYjA5MTA0MGY5ZTRiMThmYmZjNmZmYzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSGFzaC5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvU3RyaW5nSGFzaC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQK
KyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMiwgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQKICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQgMjAwOS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC00Mywy
OSArNDMsOSBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHN0cnVjdCBTdHJpbmdIYXNoIHsKICAg
ICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBrZXkt
Pmhhc2goKTsgfQotICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBTdHJpbmdJbXBsKiBh
LCBjb25zdCBTdHJpbmdJbXBsKiBiKQorICAgICAgICBzdGF0aWMgaW5saW5lIGJvb2wgZXF1YWwo
Y29uc3QgU3RyaW5nSW1wbCogYSwgY29uc3QgU3RyaW5nSW1wbCogYikKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKGEgPT0gYikKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgICAgIGlmICghYSB8fCAhYikKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICAgICAgICAgIHVuc2lnbmVkIGFMZW5ndGggPSBhLT5sZW5ndGgoKTsKLSAgICAgICAgICAgIHVu
c2lnbmVkIGJMZW5ndGggPSBiLT5sZW5ndGgoKTsKLSAgICAgICAgICAgIGlmIChhTGVuZ3RoICE9
IGJMZW5ndGgpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAgICBp
ZiAoYS0+aXM4Qml0KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoYi0+aXM4Qml0KCkpCi0gICAg
ICAgICAgICAgICAgICAgIHJldHVybiBXVEY6OmVxdWFsKGEtPmNoYXJhY3RlcnM4KCksIGItPmNo
YXJhY3RlcnM4KCksIGFMZW5ndGgpOwotCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6ZXF1
YWwoYS0+Y2hhcmFjdGVyczgoKSwgYi0+Y2hhcmFjdGVyczE2KCksIGFMZW5ndGgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBpZiAoYi0+aXM4Qml0KCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIFdURjo6ZXF1YWwoYS0+Y2hhcmFjdGVyczE2KCksIGItPmNoYXJhY3RlcnM4KCksIGFM
ZW5ndGgpOwotCi0gICAgICAgICAgICByZXR1cm4gV1RGOjplcXVhbChhLT5jaGFyYWN0ZXJzMTYo
KSwgYi0+Y2hhcmFjdGVyczE2KCksIGFMZW5ndGgpOworICAgICAgICAgICAgcmV0dXJuIGVxdWFs
Tm9uTnVsbChhLCBiKTsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNo
KGNvbnN0IFJlZlB0cjxTdHJpbmdJbXBsPiYga2V5KSB7IHJldHVybiBrZXktPmhhc2goKTsgfQpA
QCAtMTEyLDI3ICs5Miw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIENh
c2VGb2xkaW5nSGFzaDo6aGFzaChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oZGF0YSks
IGxlbmd0aCk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIHN0YXRpYyBib29sIGVxdWFs
KGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNvbnN0IFN0cmluZ0ltcGwqIGIpCisgICAgICAgIHN0YXRp
YyBpbmxpbmUgYm9vbCBlcXVhbChjb25zdCBTdHJpbmdJbXBsKiBhLCBjb25zdCBTdHJpbmdJbXBs
KiBiKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoYSA9PSBiKQotICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICAgICAgaWYgKCFhIHx8ICFiKQotICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IGEtPmxlbmd0aCgp
OwotICAgICAgICAgICAgaWYgKGxlbmd0aCAhPSBiLT5sZW5ndGgoKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgIGlmIChhLT5pczhCaXQoKSkgewotICAgICAg
ICAgICAgICAgIGlmIChiLT5pczhCaXQoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVx
dWFsSWdub3JpbmdDYXNlKGEtPmNoYXJhY3RlcnM4KCksIGItPmNoYXJhY3RlcnM4KCksIGxlbmd0
aCk7Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UoYi0+Y2hhcmFj
dGVyczE2KCksIGEtPmNoYXJhY3RlcnM4KCksIGxlbmd0aCk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIGlmIChiLT5pczhCaXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2UoYS0+Y2hhcmFjdGVyczE2KCksIGItPmNoYXJhY3RlcnM4KCksIGxlbmd0aCk7
Ci0KLSAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShhLT5jaGFyYWN0ZXJzMTYo
KSwgYi0+Y2hhcmFjdGVyczE2KCksIGxlbmd0aCk7CisgICAgICAgICAgICByZXR1cm4gZXF1YWxJ
Z25vcmluZ0Nhc2VOb25OdWxsKGEsIGIpOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHVu
c2lnbmVkIGhhc2goY29uc3QgUmVmUHRyPFN0cmluZ0ltcGw+JiBrZXkpIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSW1wbC5jcHAKaW5kZXggMmM2MWY2NTUwYWQwYTQ1ZWU5MDFlZjEyMjRjYmU0NWJmMGM4
NzYzZi4uYzFkNWRjNDI3MGI4NzAyMTNiNmRkNWM0OWNhODNmYTU3OTg3YTFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCkBAIC0xNjY3LDkgKzE2NjcsMzQgQEAgUGFzc1JlZlB0cjxT
dHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpyZXBsYWNlKFN0cmluZ0ltcGwqIHBhdHRlcm4sIFN0cmlu
Z0ltcGwqIHJlcGwKICAgICByZXR1cm4gbmV3SW1wbC5yZWxlYXNlKCk7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgYm9vbCBzdHJpbmdJbXBsQ29udGVudEVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNv
bnN0IFN0cmluZ0ltcGwqIGIpCit7CisgICAgdW5zaWduZWQgYUxlbmd0aCA9IGEtPmxlbmd0aCgp
OworICAgIHVuc2lnbmVkIGJMZW5ndGggPSBiLT5sZW5ndGgoKTsKKyAgICBpZiAoYUxlbmd0aCAh
PSBiTGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYS0+aXM4Qml0KCkp
IHsKKyAgICAgICAgaWYgKGItPmlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuIGVxdWFsKGEt
PmNoYXJhY3RlcnM4KCksIGItPmNoYXJhY3RlcnM4KCksIGFMZW5ndGgpOworCisgICAgICAgIHJl
dHVybiBlcXVhbChhLT5jaGFyYWN0ZXJzOCgpLCBiLT5jaGFyYWN0ZXJzMTYoKSwgYUxlbmd0aCk7
CisgICAgfQorCisgICAgaWYgKGItPmlzOEJpdCgpKQorICAgICAgICByZXR1cm4gZXF1YWwoYS0+
Y2hhcmFjdGVyczE2KCksIGItPmNoYXJhY3RlcnM4KCksIGFMZW5ndGgpOworCisgICAgcmV0dXJu
IGVxdWFsKGEtPmNoYXJhY3RlcnMxNigpLCBiLT5jaGFyYWN0ZXJzMTYoKSwgYUxlbmd0aCk7Cit9
CisKIGJvb2wgZXF1YWwoY29uc3QgU3RyaW5nSW1wbCogYSwgY29uc3QgU3RyaW5nSW1wbCogYikK
IHsKLSAgICByZXR1cm4gU3RyaW5nSGFzaDo6ZXF1YWwoYSwgYik7CisgICAgaWYgKGEgPT0gYikK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKCFhIHx8ICFiKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gc3RyaW5nSW1wbENvbnRlbnRFcXVhbChhLCBiKTsKIH0KIAog
Ym9vbCBlcXVhbChjb25zdCBTdHJpbmdJbXBsKiBhLCBjb25zdCBMQ2hhciogYiwgdW5zaWduZWQg
bGVuZ3RoKQpAQCAtMTczNiwxMiArMTc2MSwyNiBAQCBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0lt
cGwqIGEsIGNvbnN0IFVDaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgcmV0dXJuIGVxdWFs
KGEtPmNoYXJhY3RlcnMxNigpLCBiLCBsZW5ndGgpOwogfQogCi1ib29sIGVxdWFsSWdub3JpbmdD
YXNlKFN0cmluZ0ltcGwqIGEsIFN0cmluZ0ltcGwqIGIpCitib29sIGVxdWFsTm9uTnVsbChjb25z
dCBTdHJpbmdJbXBsKiBhLCBjb25zdCBTdHJpbmdJbXBsKiBiKQogeworICAgIEFTU0VSVChhICYm
IGIpOworICAgIGlmIChhID09IGIpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJu
IHN0cmluZ0ltcGxDb250ZW50RXF1YWwoYSwgYik7Cit9CisKK2Jvb2wgZXF1YWxJZ25vcmluZ0Nh
c2UoY29uc3QgU3RyaW5nSW1wbCogYSwgY29uc3QgU3RyaW5nSW1wbCogYikKK3sKKyAgICBpZiAo
YSA9PSBiKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoIWEgfHwgIWIpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiBDYXNlRm9sZGluZ0hhc2g6OmVxdWFsKGEsIGIp
OwogfQogCi1ib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqIGEsIGNvbnN0IExDaGFy
KiBiKQorYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBTdHJpbmdJbXBsKiBhLCBjb25zdCBM
Q2hhciogYikKIHsKICAgICBpZiAoIWEpCiAgICAgICAgIHJldHVybiAhYjsKQEAgLTE3OTUsMTYg
KzE4MzQsMzYgQEAgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShTdHJpbmdJbXBsKiBhLCBjb25zdCBM
Q2hhciogYikKICAgICByZXR1cm4gZXF1YWwgJiYgIWJbbGVuZ3RoXTsKIH0KIAotYm9vbCBlcXVh
bElnbm9yaW5nTnVsbGl0eShTdHJpbmdJbXBsKiBhLCBTdHJpbmdJbXBsKiBiKQorYm9vbCBlcXVh
bElnbm9yaW5nQ2FzZU5vbk51bGwoY29uc3QgU3RyaW5nSW1wbCogYSwgY29uc3QgU3RyaW5nSW1w
bCogYikKIHsKLSAgICBpZiAoU3RyaW5nSGFzaDo6ZXF1YWwoYSwgYikpCisgICAgQVNTRVJUKGEg
JiYgYik7CisgICAgaWYgKGEgPT0gYikKICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICB1bnNp
Z25lZCBsZW5ndGggPSBhLT5sZW5ndGgoKTsKKyAgICBpZiAobGVuZ3RoICE9IGItPmxlbmd0aCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYS0+aXM4Qml0KCkpIHsKKyAgICAg
ICAgaWYgKGItPmlzOEJpdCgpKQorICAgICAgICAgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNl
KGEtPmNoYXJhY3RlcnM4KCksIGItPmNoYXJhY3RlcnM4KCksIGxlbmd0aCk7CisKKyAgICAgICAg
cmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKGItPmNoYXJhY3RlcnMxNigpLCBhLT5jaGFyYWN0ZXJz
OCgpLCBsZW5ndGgpOworICAgIH0KKworICAgIGlmIChiLT5pczhCaXQoKSkKKyAgICAgICAgcmV0
dXJuIGVxdWFsSWdub3JpbmdDYXNlKGEtPmNoYXJhY3RlcnMxNigpLCBiLT5jaGFyYWN0ZXJzOCgp
LCBsZW5ndGgpOworCisgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKGEtPmNoYXJhY3RlcnMx
NigpLCBiLT5jaGFyYWN0ZXJzMTYoKSwgbGVuZ3RoKTsKK30KKworYm9vbCBlcXVhbElnbm9yaW5n
TnVsbGl0eShTdHJpbmdJbXBsKiBhLCBTdHJpbmdJbXBsKiBiKQorewogICAgIGlmICghYSAmJiBi
ICYmICFiLT5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKCFiICYmIGEg
JiYgIWEtPmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gZXF1YWwoYSwgYik7CiB9CiAKIFdURjo6VW5pY29kZTo6RGlyZWN0aW9u
IFN0cmluZ0ltcGw6OmRlZmF1bHRXcml0aW5nRGlyZWN0aW9uKGJvb2wqIGhhc1N0cm9uZ0RpcmVj
dGlvbmFsaXR5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRleCAzNzk5NWFkODhmY2UxODc0
MWMzODE1ZTM4MTVkOTI5ZDFjNTE3ZjAxLi5hNzAxMzBlZDY5MWJjYmEyZTRiNTExNjgyNjJkNjFj
ODlmMGM1MzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaApAQCAtODQ0LDYgKzg0NCw3IEBA
IGlubGluZSBib29sIGVxdWFsKGNvbnN0IFN0cmluZ0ltcGwqIGEsIGNvbnN0IGNoYXIqIGIsIHVu
c2lnbmVkIGxlbmd0aCkgeyByZXR1cm4KIGlubGluZSBib29sIGVxdWFsKGNvbnN0IExDaGFyKiBh
LCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBlcXVhbChiLCBhKTsgfQogaW5saW5lIGJvb2wgZXF1
YWwoY29uc3QgY2hhciogYSwgU3RyaW5nSW1wbCogYikgeyByZXR1cm4gZXF1YWwoYiwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KGEpKTsgfQogV1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJv
b2wgZXF1YWwoY29uc3QgU3RyaW5nSW1wbCosIGNvbnN0IFVDaGFyKiwgdW5zaWduZWQpOworV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxOb25OdWxsKGNvbnN0IFN0cmluZ0ltcGwqIGEs
IGNvbnN0IFN0cmluZ0ltcGwqIGIpOwogCiAvLyBEbyBjb21wYXJpc29ucyA4IG9yIDQgYnl0ZXMt
YXQtYS10aW1lIG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUgaXQncyBzYWZlLgogI2lmIENQVShYODZf
NjQpCkBAIC0xMDg5LDkgKzEwOTAsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgZXF1YWwoY29uc3Qg
VUNoYXIqIGEsIGNvbnN0IExDaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLVdURl9FWFBPUlRfU1RSSU5HX0FQSSBib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0
cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7Ci1XVEZfRVhQT1JUX1NUUklOR19BUEkgYm9vbCBlcXVh
bElnbm9yaW5nQ2FzZShTdHJpbmdJbXBsKiwgY29uc3QgTENoYXIqKTsKLWlubGluZSBib29sIGVx
dWFsSWdub3JpbmdDYXNlKGNvbnN0IExDaGFyKiBhLCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBl
cXVhbElnbm9yaW5nQ2FzZShiLCBhKTsgfQorV1RGX0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1
YWxJZ25vcmluZ0Nhc2UoY29uc3QgU3RyaW5nSW1wbCosIGNvbnN0IFN0cmluZ0ltcGwqKTsKK1dU
Rl9FWFBPUlRfU1RSSU5HX0FQSSBib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IFN0cmluZ0lt
cGwqLCBjb25zdCBMQ2hhciopOworaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3Qg
TENoYXIqIGEsIGNvbnN0IFN0cmluZ0ltcGwqIGIpIHsgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNl
KGIsIGEpOyB9CiBXVEZfRVhQT1JUX1NUUklOR19BUEkgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShj
b25zdCBMQ2hhciosIGNvbnN0IExDaGFyKiwgdW5zaWduZWQpOwogV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgVUNoYXIqLCBjb25zdCBMQ2hhciosIHVu
c2lnbmVkKTsKIGlubGluZSBib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IFVDaGFyKiBhLCBj
b25zdCBjaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNl
KGEsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihiKSwgbGVuZ3RoKTsgfQpAQCAtMTEw
Myw2ICsxMTA0LDcgQEAgaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgVUNoYXIq
IGEsIGNvbnN0IFVDaGFyKiBiLCBpbnQgbGVuZ3RoKQogICAgIEFTU0VSVChsZW5ndGggPj0gMCk7
CiAgICAgcmV0dXJuICFVbmljb2RlOjp1bWVtY2FzZWNtcChhLCBiLCBsZW5ndGgpOwogfQorV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2VOb25OdWxsKGNvbnN0IFN0
cmluZ0ltcGwqLCBjb25zdCBTdHJpbmdJbXBsKik7CiAKIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBi
b29sIGVxdWFsSWdub3JpbmdOdWxsaXR5KFN0cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7CiAKQEAg
LTEzMzcsNiArMTMzOSw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxT
dHJpbmdJbXBsPiA+IHsKIAogdXNpbmcgV1RGOjpTdHJpbmdJbXBsOwogdXNpbmcgV1RGOjplcXVh
bDsKK3VzaW5nIFdURjo6ZXF1YWxOb25OdWxsOwogdXNpbmcgV1RGOjpUZXh0Q2FzZVNlbnNpdGl2
aXR5OwogdXNpbmcgV1RGOjpUZXh0Q2FzZVNlbnNpdGl2ZTsKIHVzaW5nIFdURjo6VGV4dENhc2VJ
bnNlbnNpdGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklk
aW9tcy5jcHAKaW5kZXggYjc3ZDU4YjI0NzYzNTUzYjFhMjI1MzFjZmJlMTZmMDM3ZmQ2MDQ1Yy4u
NTJmYzhiMGEzZDc3YTY5YmI2MTdkNzRiMDY2Yzk1N2UzN2ZhOTE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5jcHAKQEAgLTI4NCw3ICsyODQs
NyBAQCBzdGF0aWMgYm9vbCB0aHJlYWRTYWZlRXF1YWwoY29uc3QgU3RyaW5nSW1wbCogYSwgY29u
c3QgU3RyaW5nSW1wbCogYikKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKGEtPmhhc2go
KSAhPSBiLT5oYXNoKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gU3RyaW5n
SGFzaDo6ZXF1YWwoYSwgYik7CisgICAgcmV0dXJuIGVxdWFsTm9uTnVsbChhLCBiKTsKIH0KIAog
Ym9vbCB0aHJlYWRTYWZlTWF0Y2goY29uc3QgUXVhbGlmaWVkTmFtZSYgYSwgY29uc3QgUXVhbGlm
aWVkTmFtZSYgYikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlclNpbXVsYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXJTaW11bGF0b3IuY3BwCmluZGV4IDA5NjA3OTAxMDc5YjA2YWYzMTIzMjcxMmEw
MmMyNjEwMWMzNTUxZDQuLjg5NmQxZDU4ZDhkM2EwNjlhYmRhMGE1OGFmNjM1NTJmZTA2MDQ3ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlclNp
bXVsYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWls
ZGVyU2ltdWxhdG9yLmNwcApAQCAtOTUsMTAgKzk1LDcgQEAgc3RhdGljIGJvb2wgdG9rZW5FeGl0
c0ZvcmVpZ25Db250ZW50KGNvbnN0IENvbXBhY3RIVE1MVG9rZW4mIHRva2VuKQogc3RhdGljIGJv
b2wgdG9rZW5FeGl0c1NWRyhjb25zdCBDb21wYWN0SFRNTFRva2VuJiB0b2tlbikKIHsKICAgICAv
LyBGSVhNRTogSXQncyB2ZXJ5IGZyYWdpbGUgdGhhdCB3ZSBzcGVjaWFsIGNhc2UgZm9yZWlnbk9i
amVjdCBoZXJlIHRvIGJlIGNhc2UtaW5zZW5zaXRpdmUuCi0gICAgLy8gRklYTUU6IFVzaW5nIENh
c2VGb2xkaW5nSGFzaDo6ZXF1YWwgaW5zdGVhZCBvZiBlcXVhbElnbm9yaW5nQ2FzZSwgYXMgZXF1
YWxJZ25vcmluZ0Nhc2UKLSAgICAvLyB3YW50cyBub24tY29uc3QgU3RyaW5nSW1wbCogKGV2ZW4g
dGhvdWdoIGl0IG5ldmVyIG1vZGlmaWVzIHRoZW0pLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE4OTIgaXMgZm9yIGZpeGluZyBlcXVhbElnbm9yaW5n
Q2FzZS4KLSAgICByZXR1cm4gQ2FzZUZvbGRpbmdIYXNoOjplcXVhbCh0b2tlbi5kYXRhKCkuYXNT
dHJpbmdJbXBsKCksIFNWR05hbWVzOjpmb3JlaWduT2JqZWN0VGFnLmxvY2FsTmFtZSgpLmltcGwo
KSk7CisgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKHRva2VuLmRhdGEoKS5hc1N0cmluZ0lt
cGwoKSwgU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKIH0K
IAogc3RhdGljIGJvb2wgdG9rZW5FeGl0c01hdGgoY29uc3QgQ29tcGFjdEhUTUxUb2tlbiYgdG9r
ZW4pCg==
</data>
<flag name="review"
          id="216424"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>