<?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>95304</bug_id>
          
          <creation_ts>2012-08-29 00:45:16 -0700</creation_ts>
          <short_desc>Improve string efficiency using StringBuilder and StringOperations</short_desc>
          <delta_ts>2012-08-30 09:59:55 -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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>707188</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-29 00:45:16 -0700</bug_when>
    <thetext>Improve string efficiency using StringBuilder and StringOperations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707190</commentid>
    <comment_count>1</comment_count>
      <attachid>161156</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-29 00:46:17 -0700</bug_when>
    <thetext>Created attachment 161156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707192</commentid>
    <comment_count>2</comment_count>
      <attachid>161156</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-29 00:50:13 -0700</bug_when>
    <thetext>Comment on attachment 161156
Patch

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

Looks reasonable.  AppleConvertedSpace is confusing.

&gt; Source/WebCore/css/CSSLineBoxContainValue.cpp:60
&gt; +            text.append(&apos; &apos;);

We should rename .append(UChar) to .appendUChar() or similar so that my brain can think simple thoughts like &quot;append is slow&quot;.... here it&apos;s obviously not. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707197</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-29 00:57:39 -0700</bug_when>
    <thetext>&gt; We should rename .append(UChar) to .appendUChar() or similar so that my brain can think simple thoughts like &quot;append is slow&quot;.... here it&apos;s obviously not. :)

We should get rid of String::operator+=() and String::append() so that we can forget that &quot;append is slow&quot; :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707292</commentid>
    <comment_count>4</comment_count>
      <attachid>161156</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 04:16:25 -0700</bug_when>
    <thetext>Comment on attachment 161156
Patch

Clearing flags on attachment: 161156

Committed r126984: &lt;http://trac.webkit.org/changeset/126984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707293</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 04:16:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708753</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-08-30 09:59:55 -0700</bug_when>
    <thetext>Looking at these patches and seeing how attractive people find +=, I’m wondering if we should add a += operator to StringBuilder.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161156</attachid>
            <date>2012-08-29 00:46:17 -0700</date>
            <delta_ts>2012-08-29 04:16:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95304-20120829004607.patch</filename>
            <type>text/plain</type>
            <size>8860</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY4YzNmOTkxYTVlMGRj
N2FjYmMzNzMwZTZmNDhmYzI4MDEyMTFjMi4uOTljZmI5Zjg3N2U2ZGQ4YWZlMTY1NjdmNmI5OTM3
MWM0MTRhYjBmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTA4LTI5ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgSW1wcm92ZSBzdHJpbmcgZWZm
aWNpZW5jeSB1c2luZyBTdHJpbmdCdWlsZGVyIGFuZCBTdHJpbmdPcGVyYXRpb25zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTMwNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHJlY29tbWVuZGVkIGJ5
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9FZmZpY2llbnRTdHJpbmdzLgorCisgICAgICAg
ICogY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TGluZUJveENvbnRhaW5WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5U291cmNlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVNvdXJj
ZURhdGE6OnRvU3RyaW5nKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlTZXQ6Om1lZGlhVGV4dCk6CisgICAgICAgICogY3NzL1NoYWRv
d1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1ZhbHVlOjpjdXN0b21Dc3NUZXh0
KToKKyAgICAgICAgKiBkb20vTWljcm9EYXRhSXRlbUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWljcm9EYXRhSXRlbUxpc3Q6OnVuZGVmaW5lZEl0ZW1UeXBlKToKKyAgICAgICAgKiBlZGl0
aW5nL0hUTUxJbnRlcmNoYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0ZWRTcGFj
ZVN0cmluZyk6CisKKzIwMTItMDgtMjkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
KwogICAgICAgICBEZXBsb3kgQVNDSUlMaXRlcmFsIGhvdG5lc3MgdGhyb3VnaG91dCBXZWJDb3Jl
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTI4Mgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKaW5kZXgg
ODVmMzg1ZDcxZTE0M2FhYjRlODY5OTdlMzBmOWU4YjliMGRmOTg5Zi4uZjllM2RiNTBjYjBiOTky
N2E5ZjhmYmI0OThkZTQzZjNkZDJjZWM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NM
aW5lQm94Q29udGFpblZhbHVlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNTU1By
aW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsMzcgKzQxLDM3IEBAIENTU0xpbmVC
b3hDb250YWluVmFsdWU6OkNTU0xpbmVCb3hDb250YWluVmFsdWUodW5zaWduZWQgdmFsdWUpCiAK
IFN0cmluZyBDU1NMaW5lQm94Q29udGFpblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsK
LSAgICBTdHJpbmcgdGV4dCgiIik7CisgICAgU3RyaW5nQnVpbGRlciB0ZXh0OwogCiAgICAgaWYg
KG1fdmFsdWUgJiBMaW5lQm94Q29udGFpbkJsb2NrKQotICAgICAgICB0ZXh0ICs9ICJibG9jayI7
CisgICAgICAgIHRleHQuYXBwZW5kTGl0ZXJhbCgiYmxvY2siKTsKICAgICBpZiAobV92YWx1ZSAm
IExpbmVCb3hDb250YWluSW5saW5lKSB7CiAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCi0g
ICAgICAgICAgICB0ZXh0ICs9ICIgIjsKLSAgICAgICAgdGV4dCArPSAiaW5saW5lIjsKKyAgICAg
ICAgICAgIHRleHQuYXBwZW5kKCcgJyk7CisgICAgICAgIHRleHQuYXBwZW5kTGl0ZXJhbCgiaW5s
aW5lIik7CiAgICAgfQogICAgIGlmIChtX3ZhbHVlICYgTGluZUJveENvbnRhaW5Gb250KSB7CiAg
ICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICB0ZXh0ICs9ICIgIjsKLSAg
ICAgICAgdGV4dCArPSAiZm9udCI7CisgICAgICAgICAgICB0ZXh0LmFwcGVuZCgnICcpOworICAg
ICAgICB0ZXh0LmFwcGVuZExpdGVyYWwoImZvbnQiKTsKICAgICB9CiAgICAgaWYgKG1fdmFsdWUg
JiBMaW5lQm94Q29udGFpbkdseXBocykgewogICAgICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgdGV4dCArPSAiICI7Ci0gICAgICAgIHRleHQgKz0gImdseXBocyI7CisgICAg
ICAgICAgICB0ZXh0LmFwcGVuZCgnICcpOworICAgICAgICB0ZXh0LmFwcGVuZExpdGVyYWwoImds
eXBocyIpOwogICAgIH0KICAgICBpZiAobV92YWx1ZSAmIExpbmVCb3hDb250YWluUmVwbGFjZWQp
IHsKICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHRleHQgKz0gIiAi
OwotICAgICAgICB0ZXh0ICs9ICJyZXBsYWNlZCI7CisgICAgICAgICAgICB0ZXh0LmFwcGVuZCgn
ICcpOworICAgICAgICB0ZXh0LmFwcGVuZExpdGVyYWwoInJlcGxhY2VkIik7CiAgICAgfQogICAg
IGlmIChtX3ZhbHVlICYgTGluZUJveENvbnRhaW5JbmxpbmVCb3gpIHsKICAgICAgICAgaWYgKCF0
ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHRleHQgKz0gIiAiOwotICAgICAgICB0ZXh0ICs9
ICJpbmxpbmUtYm94IjsKKyAgICAgICAgICAgIHRleHQuYXBwZW5kKCcgJyk7CisgICAgICAgIHRl
eHQuYXBwZW5kTGl0ZXJhbCgiaW5saW5lLWJveCIpOwogICAgIH0KIAotICAgIHJldHVybiB0ZXh0
OworICAgIHJldHVybiB0ZXh0LnRvU3RyaW5nKCk7CiB9CiAKIHZvaWQgQ1NTTGluZUJveENvbnRh
aW5WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlTb3VyY2VEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNv
dXJjZURhdGEuY3BwCmluZGV4IDk2ZmExMjFjODk1NjYyNWMzMDg3NjllMjc0NTQ5NjA1ZjQ4MTJi
OWQuLjkyMWI2NjJlNDMyNzU3OTk1M2RkYmVjYWRhMjAzOGQ4ZDk4OTk5NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwCkBAIC0zOCw2ICszOCw3IEBA
CiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9TdGF0aWNDb25z
dHJ1Y3RvcnMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC05Mywx
MyArOTQsMTQgQEAgU3RyaW5nIENTU1Byb3BlcnR5U291cmNlRGF0YTo6dG9TdHJpbmcoKSBjb25z
dAogICAgIGlmICghbmFtZSAmJiB2YWx1ZSA9PSBlbXB0eVZhbHVlKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKLSAgICBTdHJpbmcgcmVzdWx0ID0gbmFtZTsKLSAgICByZXN1bHQgKz0gIjog
IjsKLSAgICByZXN1bHQgKz0gdmFsdWU7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAg
cmVzdWx0LmFwcGVuZChuYW1lKTsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiOiAiKTsKKyAg
ICByZXN1bHQuYXBwZW5kKHZhbHVlKTsKICAgICBpZiAoaW1wb3J0YW50KQotICAgICAgICByZXN1
bHQgKz0gaW1wb3J0YW50U3VmZml4OwotICAgIHJlc3VsdCArPSAiOyI7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChpbXBvcnRhbnRTdWZmaXgpOworICAgIHJlc3Vs
dC5hcHBlbmQoJzsnKTsKKyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKIHVuc2ln
bmVkIENTU1Byb3BlcnR5U291cmNlRGF0YTo6aGFzaCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxp
c3QuY3BwCmluZGV4IDViYTczNDFlYjUwOTE5NGE5MmY0MzZmNGI2MjExZjM0Y2M3YzI2MGMuLjY3
YTZkNWUyZmVkNjZkNDIzZGNlMjIyNmM5NTk1MDZkMjRlNGJkZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YUxpc3QuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgogI2lu
Y2x1ZGUgIk1lZGlhUXVlcnlFeHAuaCIKICNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24u
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTk4LDE3ICsxOTksMTcgQEAgdm9pZCBNZWRpYVF1ZXJ5U2V0OjphZGRNZWRp
YVF1ZXJ5KFBhc3NPd25QdHI8TWVkaWFRdWVyeT4gbWVkaWFRdWVyeSkKIAogU3RyaW5nIE1lZGlh
UXVlcnlTZXQ6Om1lZGlhVGV4dCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nIHRleHQoIiIpOworICAg
IFN0cmluZ0J1aWxkZXIgdGV4dDsKICAgICAKICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcXVlcmllcy5zaXplKCk7ICsraSkgewogICAgICAgICBp
ZiAoIWZpcnN0KQotICAgICAgICAgICAgdGV4dCArPSAiLCAiOworICAgICAgICAgICAgdGV4dC5h
cHBlbmRMaXRlcmFsKCIsICIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBmaXJzdCA9IGZh
bHNlOwotICAgICAgICB0ZXh0ICs9IG1fcXVlcmllc1tpXS0+Y3NzVGV4dCgpOworICAgICAgICB0
ZXh0LmFwcGVuZChtX3F1ZXJpZXNbaV0tPmNzc1RleHQoKSk7CiAgICAgfQotICAgIHJldHVybiB0
ZXh0OworICAgIHJldHVybiB0ZXh0LnRvU3RyaW5nKCk7CiB9CiAKIHZvaWQgTWVkaWFRdWVyeVNl
dDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3BwCmluZGV4IDVkYjAwMzY1MWQ4MzI1NGQz
MTRlYjJmYTY4MmM2NDg1YTIwZTlkNzQuLjMxMWU5YjE5MTMwYjczNDA0OTRhMmE3N2Q0ZTEyMTFk
NmE5N2IyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcApAQCAtMjMsNiArMjMsNyBA
QAogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDUsMzcg
KzQ2LDM3IEBAIFNoYWRvd1ZhbHVlOjpTaGFkb3dWYWx1ZShQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBfeCwKIAogU3RyaW5nIFNoYWRvd1ZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
IHsKLSAgICBTdHJpbmcgdGV4dCgiIik7CisgICAgU3RyaW5nQnVpbGRlciB0ZXh0OwogCiAgICAg
aWYgKGNvbG9yKQotICAgICAgICB0ZXh0ICs9IGNvbG9yLT5jc3NUZXh0KCk7CisgICAgICAgIHRl
eHQuYXBwZW5kKGNvbG9yLT5jc3NUZXh0KCkpOwogICAgIGlmICh4KSB7CiAgICAgICAgIGlmICgh
dGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICB0ZXh0ICs9ICIgIjsKLSAgICAgICAgdGV4dCAr
PSB4LT5jc3NUZXh0KCk7CisgICAgICAgICAgICB0ZXh0LmFwcGVuZCgnICcpOworICAgICAgICB0
ZXh0LmFwcGVuZCh4LT5jc3NUZXh0KCkpOwogICAgIH0KICAgICBpZiAoeSkgewogICAgICAgICBp
ZiAoIXRleHQuaXNFbXB0eSgpKQotICAgICAgICAgICAgdGV4dCArPSAiICI7Ci0gICAgICAgIHRl
eHQgKz0geS0+Y3NzVGV4dCgpOworICAgICAgICAgICAgdGV4dC5hcHBlbmQoJyAnKTsKKyAgICAg
ICAgdGV4dC5hcHBlbmQoeS0+Y3NzVGV4dCgpKTsKICAgICB9CiAgICAgaWYgKGJsdXIpIHsKICAg
ICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHRleHQgKz0gIiAiOwotICAg
ICAgICB0ZXh0ICs9IGJsdXItPmNzc1RleHQoKTsKKyAgICAgICAgICAgIHRleHQuYXBwZW5kKCcg
Jyk7CisgICAgICAgIHRleHQuYXBwZW5kKGJsdXItPmNzc1RleHQoKSk7CiAgICAgfQogICAgIGlm
IChzcHJlYWQpIHsKICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHRl
eHQgKz0gIiAiOwotICAgICAgICB0ZXh0ICs9IHNwcmVhZC0+Y3NzVGV4dCgpOworICAgICAgICAg
ICAgdGV4dC5hcHBlbmQoJyAnKTsKKyAgICAgICAgdGV4dC5hcHBlbmQoc3ByZWFkLT5jc3NUZXh0
KCkpOwogICAgIH0KICAgICBpZiAoc3R5bGUpIHsKICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHko
KSkKLSAgICAgICAgICAgIHRleHQgKz0gIiAiOwotICAgICAgICB0ZXh0ICs9IHN0eWxlLT5jc3NU
ZXh0KCk7CisgICAgICAgICAgICB0ZXh0LmFwcGVuZCgnICcpOworICAgICAgICB0ZXh0LmFwcGVu
ZChzdHlsZS0+Y3NzVGV4dCgpKTsKICAgICB9CiAKLSAgICByZXR1cm4gdGV4dDsKKyAgICByZXR1
cm4gdGV4dC50b1N0cmluZygpOwogfQogCiB2b2lkIFNoYWRvd1ZhbHVlOjpyZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb0RhdGFJdGVtTGlzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWljcm9EYXRhSXRlbUxpc3QuY3BwCmluZGV4IDUzNGMwZDBiNDNm
MTFhM2RlODdlZjQ2OTgyNWE0ZjM3YzliZGVhNzUuLjkxYWI5ODI2N2EzYzYxYjdhYTIzN2Y1Njhj
YmZjYzU3MTQ5ZTM3ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb0RhdGFJ
dGVtTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvRGF0YUl0ZW1MaXN0LmNw
cApAQCAtNDAsOSArNDAsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBjb25zdCBT
dHJpbmcmIE1pY3JvRGF0YUl0ZW1MaXN0Ojp1bmRlZmluZWRJdGVtVHlwZSgpCiB7Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHVuZGVmaW5lZEl0ZW1UeXBlU3RyaW5nLCAoIiIpKTsK
LSAgICAvLyBGSVhNRTogV2h5IG5vdCBqdXN0IHJldHVybiBlbXB0eVN0cmluZygpOyA/Ci0gICAg
cmV0dXJuIHVuZGVmaW5lZEl0ZW1UeXBlU3RyaW5nOworICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwogfQogCiBNaWNyb0RhdGFJdGVtTGlzdDo6TWljcm9EYXRhSXRlbUxpc3QoUGFzc1JlZlB0cjxO
b2RlPiByb290Tm9kZSwgY29uc3QgU3RyaW5nJiB0eXBlTmFtZXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0hUTUxJbnRlcmNoYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0hUTUxJbnRlcmNoYW5nZS5jcHAKaW5kZXggYjkyNDcyZmVmNjE1MzQyZjYzMzRjYjk2
MTQxYjJhZDhiMTQ5ZmI4ZS4uZmRlZmE0MzdhYzVjZDViMWJmNmIzYTBhMDlkYWNkOWQ4ZDc1NDMy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9IVE1MSW50ZXJjaGFuZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSFRNTEludGVyY2hhbmdlLmNwcApAQCAtMzUs
MjMgKzM1LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIHsKLQotU3Ry
aW5nIGNvbnZlcnRlZFNwYWNlU3RyaW5nKCkKK3N0YXRpYyBTdHJpbmcgY29udmVydGVkU3BhY2VT
dHJpbmcoKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb252ZXJ0ZWRTcGFj
ZVN0cmluZywgKCkpOwotICAgIGlmIChjb252ZXJ0ZWRTcGFjZVN0cmluZy5pc051bGwoKSkgewot
ICAgICAgICBjb252ZXJ0ZWRTcGFjZVN0cmluZyA9ICI8c3BhbiBjbGFzcz1cIiI7Ci0gICAgICAg
IGNvbnZlcnRlZFNwYWNlU3RyaW5nICs9IEFwcGxlQ29udmVydGVkU3BhY2U7Ci0gICAgICAgIGNv
bnZlcnRlZFNwYWNlU3RyaW5nICs9ICJcIj4iOwotICAgICAgICBjb252ZXJ0ZWRTcGFjZVN0cmlu
Zy5hcHBlbmQobm9CcmVha1NwYWNlKTsKLSAgICAgICAgY29udmVydGVkU3BhY2VTdHJpbmcgKz0g
Ijwvc3Bhbj4iOwotICAgIH0KKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29udmVy
dGVkU3BhY2VTdHJpbmcsIChTdHJpbmcoQVNDSUlMaXRlcmFsKCI8c3BhbiBjbGFzcz1cIiIgQXBw
bGVDb252ZXJ0ZWRTcGFjZSAiXCI+IikpICsgbm9CcmVha1NwYWNlICsgIjwvc3Bhbj4iKSk7CiAg
ICAgcmV0dXJuIGNvbnZlcnRlZFNwYWNlU3RyaW5nOwogfQogCi19IC8vIGVuZCBhbm9ueW1vdXMg
bmFtZXNwYWNlCi0KIFN0cmluZyBjb252ZXJ0SFRNTFRleHRUb0ludGVyY2hhbmdlRm9ybWF0KGNv
bnN0IFN0cmluZyYgaW4sIGNvbnN0IFRleHQqIG5vZGUpCiB7CiAgICAgLy8gQXNzdW1lIGFsbCB0
aGUgdGV4dCBjb21lcyBmcm9tIG5vZGUuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>