<?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>65157</bug_id>
          
          <creation_ts>2011-07-25 17:44:47 -0700</creation_ts>
          <short_desc>Simplify createCanonicalUUIDString implementation.</short_desc>
          <delta_ts>2013-01-25 19:59:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Windows 7</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="Justin Schuh">jschuh</reporter>
          <assigned_to name="Justin Schuh">jschuh</assigned_to>
          <cc>abarth</cc>
    
    <cc>ericu</cc>
    
    <cc>jianli</cc>
    
    <cc>michaeln</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>442029</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-07-25 17:44:47 -0700</bug_when>
    <thetext>COM calls are not allowed in the Chromium sandbox. Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442548</commentid>
    <comment_count>1</comment_count>
      <attachid>102057</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-07-26 14:49:28 -0700</bug_when>
    <thetext>Created attachment 102057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442592</commentid>
    <comment_count>2</comment_count>
      <attachid>102057</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-07-26 15:59:04 -0700</bug_when>
    <thetext>Comment on attachment 102057
Patch

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

&gt; Source/WebCore/platform/UUID.cpp:64
&gt; +#elif (PLATFORM(CHROMIUM) || OS(DARWIN)) &amp;&amp; !USE(CF)

Is there a reason not to use this UUID generator in all CHROMIUM cases? Just curious.

&gt; Source/WebCore/platform/UUID.cpp:82
&gt; +    builder.append(&quot;\n&quot;);

I&apos;m surprised to see the trailing newline here. Do the other impls result in strings with a trailing newline?

&gt; Source/WebCore/platform/UUID.cpp:115
&gt;      ASSERT(canonicalUuidStr[uuidVersionIdentifierIndex] == uuidVersionRequired);

All of the other impls make this assertion...
ASSERT(canonicalUuidStr[uuidVersionIdentifierIndex] == uuidVersionRequired);
Does this difference matter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442628</commentid>
    <comment_count>3</comment_count>
      <attachid>102057</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-07-26 17:10:08 -0700</bug_when>
    <thetext>Comment on attachment 102057
Patch

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

&gt;&gt; Source/WebCore/platform/UUID.cpp:64
&gt;&gt; +#elif (PLATFORM(CHROMIUM) || OS(DARWIN)) &amp;&amp; !USE(CF)
&gt; 
&gt; Is there a reason not to use this UUID generator in all CHROMIUM cases? Just curious.

I&apos;m not sure and couldn&apos;t get a firm answer, so I chose to leave Mac Chrome the way it is.

&gt;&gt; Source/WebCore/platform/UUID.cpp:82
&gt;&gt; +    builder.append(&quot;\n&quot;);
&gt; 
&gt; I&apos;m surprised to see the trailing newline here. Do the other impls result in strings with a trailing newline?

Good catch. I assume that&apos;s for compatibility with /proc/sys/kernel/random/uuid (which has a newline). It&apos;s not an issue because the UUID gets encoded; however I can macro around that to keep the Windows version consistent.

&gt;&gt; Source/WebCore/platform/UUID.cpp:115
&gt;&gt;      ASSERT(canonicalUuidStr[uuidVersionIdentifierIndex] == uuidVersionRequired);
&gt; 
&gt; All of the other impls make this assertion...
&gt; ASSERT(canonicalUuidStr[uuidVersionIdentifierIndex] == uuidVersionRequired);
&gt; Does this difference matter?

The code that manually generates the UUID explicitly sets this field, so there&apos;s no need to check for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443651</commentid>
    <comment_count>4</comment_count>
      <attachid>102297</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-07-28 14:15:59 -0700</bug_when>
    <thetext>Created attachment 102297
Patch

I talked to Adam and he said all the listed ports support OS_RANDOMNESS. So, he suggested just switching all of them over to a single implementation. (Also, I verified the newline was pointless, and actually clipped in the Linux implementation.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443653</commentid>
    <comment_count>5</comment_count>
      <attachid>102298</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-07-28 14:21:52 -0700</bug_when>
    <thetext>Created attachment 102298
Patch

Should probably use a different title and changelog entry now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443683</commentid>
    <comment_count>6</comment_count>
      <attachid>102298</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-28 15:43:07 -0700</bug_when>
    <thetext>Comment on attachment 102298
Patch

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

I&apos;ve added some folks to the CC line to make sure they see this patch go by.  I can&apos;t think of any reason not to use the cryptographically random implementation now that we have it.

&gt; Source/WebCore/platform/UUID.cpp:45
&gt; +    WTF::cryptographicallyRandomValues(reinterpret_cast&lt;unsigned char*&gt;(randomData), sizeof(randomData));

The WTF:: part isn&apos;t needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443732</commentid>
    <comment_count>7</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-07-28 17:24:26 -0700</bug_when>
    <thetext>Committed r91963: &lt;http://trac.webkit.org/changeset/91963&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102057</attachid>
            <date>2011-07-26 14:49:28 -0700</date>
            <delta_ts>2011-07-28 14:15:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65157-20110726144927.patch</filename>
            <type>text/plain</type>
            <size>4764</size>
            <attacher name="Justin Schuh">jschuh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxNzg0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDctMjYgIEp1c3RpbiBT
Y2h1aCAgPGpzY2h1aEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0NIUk9NSVVNXSBDb0NyZWF0
ZUd1aWQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gVVVJRC5jcHAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTU3CisKKyAgICAgICAgU3dpdGNoIENo
cm9taXVtIG9uIFdpbmRvd3MgdG8gdGhlIHNhbWUgVVVJRCBnZW5lcmF0aW9uIGFzIExpbnV4Lgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBj
b3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vVVVJRC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKToKKwogMjAxMS0w
Ny0yNiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzc4CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9VVUlELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9VVUlELmNwcAkocmV2aXNpb24gOTE3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
VUlELmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTYgKzM3LDE2IEBACiAjaW5jbHVkZSA8UVV1
aWQ+CiAjZW5kaWYKIAotI2lmIE9TKFdJTkRPV1MpCisjaWYgKFBMQVRGT1JNKENIUk9NSVVNKSB8
fCBPUyhEQVJXSU4pKSAmJiAhVVNFKENGKQorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNp
bmNsdWRlIDx3dGYvUmFuZG9tTnVtYmVyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVp
bGRlci5oPgorI2VsaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDxvYmpiYXNlLmg+CiAjZWxpZiBP
UyhEQVJXSU4pICYmIFVTRShDRikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRh
dGlvbi5oPgogI2VsaWYgT1MoTElOVVgpICYmICFQTEFURk9STShDSFJPTUlVTSkKICNpbmNsdWRl
IDxzdGRpby5oPgotI2VsaWYgKE9TKExJTlVYKSAmJiBQTEFURk9STShDSFJPTUlVTSkpIHx8IChP
UyhEQVJXSU4pICYmICFVU0UoQ0YpKQotI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KLSNpbmNs
dWRlIDx3dGYvUmFuZG9tTnVtYmVyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRl
ci5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYxLDYgKzYxLDI2IEBAIFN0
cmluZyBjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkKICAgICBTdHJpbmcgY2Fub25pY2FsVXVp
ZFN0ciA9IHV1aWQudG9TdHJpbmcoKS5taWQoMSwgMzYpLnRvTG93ZXIoKTsgLy8gcmVtb3ZlIG9w
ZW5pbmcgYW5kIGNsb3NpbmcgYnJhY2tldCBhbmQgbWFrZSBpdCBsb3dlci4KICAgICBBU1NFUlQo
Y2Fub25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0gdXVpZFZlcnNp
b25SZXF1aXJlZCk7CiAgICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7CisjZWxpZiAoUExBVEZP
Uk0oQ0hST01JVU0pIHx8IE9TKERBUldJTikpICYmICFVU0UoQ0YpCisgICAgdW5zaWduZWQgcmFu
ZG9tRGF0YVs0XTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgo
cmFuZG9tRGF0YSk7ICsraSkKKyAgICAgICAgcmFuZG9tRGF0YVtpXSA9IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6
bWF4KCkgKyAxLjApKTsKKworICAgIC8vIEZvcm1hdCBhcyBWZXJzaW9uIDQgVVVJRC4KKyAgICBT
dHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgYXBwZW5kVW5zaWduZWRBc0hleEZpeGVkU2l6ZShy
YW5kb21EYXRhWzBdLCBidWlsZGVyLCA4LCBMb3dlcmNhc2UpOworICAgIGJ1aWxkZXIuYXBwZW5k
KCItIik7CisgICAgYXBwZW5kVW5zaWduZWRBc0hleEZpeGVkU2l6ZShyYW5kb21EYXRhWzFdID4+
IDE2LCBidWlsZGVyLCA0LCBMb3dlcmNhc2UpOworICAgIGJ1aWxkZXIuYXBwZW5kKCItNCIpOwor
ICAgIGFwcGVuZFVuc2lnbmVkQXNIZXhGaXhlZFNpemUocmFuZG9tRGF0YVsxXSAmIDB4MDAwMDBm
ZmYsIGJ1aWxkZXIsIDMsIExvd2VyY2FzZSk7CisgICAgYnVpbGRlci5hcHBlbmQoIi0iKTsKKyAg
ICBhcHBlbmRVbnNpZ25lZEFzSGV4Rml4ZWRTaXplKChyYW5kb21EYXRhWzJdID4+IDMwKSB8IDB4
OCwgYnVpbGRlciwgMSwgTG93ZXJjYXNlKTsKKyAgICBhcHBlbmRVbnNpZ25lZEFzSGV4Rml4ZWRT
aXplKChyYW5kb21EYXRhWzJdID4+IDE2KSAmIDB4MDAwMDBmZmYsIGJ1aWxkZXIsIDMsIExvd2Vy
Y2FzZSk7CisgICAgYnVpbGRlci5hcHBlbmQoIi0iKTsKKyAgICBhcHBlbmRVbnNpZ25lZEFzSGV4
Rml4ZWRTaXplKHJhbmRvbURhdGFbMl0gJiAweDAwMDBmZmZmLCBidWlsZGVyLCA0LCBMb3dlcmNh
c2UpOworICAgIGFwcGVuZFVuc2lnbmVkQXNIZXhGaXhlZFNpemUocmFuZG9tRGF0YVszXSwgYnVp
bGRlciwgOCwgTG93ZXJjYXNlKTsKKyAgICBidWlsZGVyLmFwcGVuZCgiXG4iKTsKKyAgICByZXR1
cm4gYnVpbGRlci50b1N0cmluZygpOwogI2VsaWYgT1MoV0lORE9XUykKICAgICBHVUlEIHV1aWQg
PSB7IDAgfTsKICAgICBIUkVTVUxUIGhyID0gQ29DcmVhdGVHdWlkKCZ1dWlkKTsKQEAgLTgxLDcg
KzEwMSw3IEBAIFN0cmluZyBjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkKICAgICBTdHJpbmcg
Y2Fub25pY2FsVXVpZFN0ciA9IHV1aWRTdHIubG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dlci4KICAg
ICBBU1NFUlQoY2Fub25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0g
dXVpZFZlcnNpb25SZXF1aXJlZCk7CiAgICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7Ci0jZWxp
ZiBPUyhMSU5VWCkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKQorI2VsaWYgT1MoTElOVVgpCiAgICAg
Ly8gVGhpcyBkb2VzIG5vdCB3b3JrIGZvciB0aGUgbGludXggc3lzdGVtIHRoYXQgdHVybnMgb24g
c2FuZGJveC4KICAgICBGSUxFKiBmcHRyID0gZm9wZW4oIi9wcm9jL3N5cy9rZXJuZWwvcmFuZG9t
L3V1aWQiLCAiciIpOwogICAgIGlmICghZnB0cikKQEAgLTk0LDI2ICsxMTQsNiBAQCBTdHJpbmcg
Y3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAgICAgU3RyaW5nIGNhbm9uaWNhbFV1aWRTdHIg
PSBTdHJpbmcodXVpZFN0cikubG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dlci4KICAgICBBU1NFUlQo
Y2Fub25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0gdXVpZFZlcnNp
b25SZXF1aXJlZCk7CiAgICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7Ci0jZWxpZiAoT1MoTElO
VVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikgJiYgIVVTRShDRikpCi0g
ICAgdW5zaWduZWQgcmFuZG9tRGF0YVs0XTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdU
Rl9BUlJBWV9MRU5HVEgocmFuZG9tRGF0YSk7ICsraSkKLSAgICAgICAgcmFuZG9tRGF0YVtpXSA9
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGlt
aXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKTsKLQotICAgIC8vIEZvcm1hdCBhcyBWZXJzaW9u
IDQgVVVJRC4KLSAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgYXBwZW5kVW5zaWduZWRB
c0hleEZpeGVkU2l6ZShyYW5kb21EYXRhWzBdLCBidWlsZGVyLCA4LCBMb3dlcmNhc2UpOwotICAg
IGJ1aWxkZXIuYXBwZW5kKCItIik7Ci0gICAgYXBwZW5kVW5zaWduZWRBc0hleEZpeGVkU2l6ZShy
YW5kb21EYXRhWzFdID4+IDE2LCBidWlsZGVyLCA0LCBMb3dlcmNhc2UpOwotICAgIGJ1aWxkZXIu
YXBwZW5kKCItNCIpOwotICAgIGFwcGVuZFVuc2lnbmVkQXNIZXhGaXhlZFNpemUocmFuZG9tRGF0
YVsxXSAmIDB4MDAwMDBmZmYsIGJ1aWxkZXIsIDMsIExvd2VyY2FzZSk7Ci0gICAgYnVpbGRlci5h
cHBlbmQoIi0iKTsKLSAgICBhcHBlbmRVbnNpZ25lZEFzSGV4Rml4ZWRTaXplKChyYW5kb21EYXRh
WzJdID4+IDMwKSB8IDB4OCwgYnVpbGRlciwgMSwgTG93ZXJjYXNlKTsKLSAgICBhcHBlbmRVbnNp
Z25lZEFzSGV4Rml4ZWRTaXplKChyYW5kb21EYXRhWzJdID4+IDE2KSAmIDB4MDAwMDBmZmYsIGJ1
aWxkZXIsIDMsIExvd2VyY2FzZSk7Ci0gICAgYnVpbGRlci5hcHBlbmQoIi0iKTsKLSAgICBhcHBl
bmRVbnNpZ25lZEFzSGV4Rml4ZWRTaXplKHJhbmRvbURhdGFbMl0gJiAweDAwMDBmZmZmLCBidWls
ZGVyLCA0LCBMb3dlcmNhc2UpOwotICAgIGFwcGVuZFVuc2lnbmVkQXNIZXhGaXhlZFNpemUocmFu
ZG9tRGF0YVszXSwgYnVpbGRlciwgOCwgTG93ZXJjYXNlKTsKLSAgICBidWlsZGVyLmFwcGVuZCgi
XG4iKTsKLSAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogI2Vsc2UKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102297</attachid>
            <date>2011-07-28 14:15:59 -0700</date>
            <delta_ts>2011-07-28 14:21:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65157-20110728141558.patch</filename>
            <type>text/plain</type>
            <size>4428</size>
            <attacher name="Justin Schuh">jschuh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxOTMyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDctMjggIEp1c3RpbiBT
Y2h1aCAgPGpzY2h1aEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0NIUk9NSVVNXSBDb0NyZWF0
ZUd1aWQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gVVVJRC5jcHAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTU3CisKKyAgICAgICAgU3dpdGNoIENo
cm9taXVtIG9uIFdpbmRvd3MgdG8gdGhlIHNhbWUgVVVJRCBnZW5lcmF0aW9uIGFzIExpbnV4Lgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBj
b3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vVVVJRC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKToKKwogMjAxMS0w
Ny0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzk3MTQzMzc+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjUzMDYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCShyZXZpc2lvbiA5MTkz
MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw3NSArMzIsMjEgQEAKICNpbmNsdWRlICJVVUlELmgiCiAKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgotCi0jaWYgUExBVEZPUk0oUVQpCi0jaW5jbHVkZSA8UVV1aWQ+Ci0jZW5kaWYK
LQotI2lmIE9TKFdJTkRPV1MpCi0jaW5jbHVkZSA8b2JqYmFzZS5oPgotI2VsaWYgT1MoREFSV0lO
KSAmJiBVU0UoQ0YpCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4K
LSNlbGlmIE9TKExJTlVYKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pCi0jaW5jbHVkZSA8c3RkaW8u
aD4KLSNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01JVU0pKSB8fCAoT1MoREFSV0lO
KSAmJiAhVVNFKENGKSkKKyNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIuaD4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+Ci0jaW5jbHVkZSA8d3RmL1JhbmRvbU51
bWJlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLSNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBjaGFyIHV1aWRWZXJzaW9uUmVxdWly
ZWQgPSAnNCc7Ci1zdGF0aWMgY29uc3QgaW50IHV1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4ID0g
MTQ7Ci0KIFN0cmluZyBjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkKIHsKLSNpZiBQTEFURk9S
TShRVCkgJiYgIWRlZmluZWQoUVRfTk9fUVVVSURfU1RSSU5HKQotICAgIFFVdWlkIHV1aWQgPSBR
VXVpZDo6Y3JlYXRlVXVpZCgpOwotICAgIFN0cmluZyBjYW5vbmljYWxVdWlkU3RyID0gdXVpZC50
b1N0cmluZygpLm1pZCgxLCAzNikudG9Mb3dlcigpOyAvLyByZW1vdmUgb3BlbmluZyBhbmQgY2xv
c2luZyBicmFja2V0IGFuZCBtYWtlIGl0IGxvd2VyLgotICAgIEFTU0VSVChjYW5vbmljYWxVdWlk
U3RyW3V1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVpcmVkKTsK
LSAgICByZXR1cm4gY2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIE9TKFdJTkRPV1MpCi0gICAgR1VJ
RCB1dWlkID0geyAwIH07Ci0gICAgSFJFU1VMVCBociA9IENvQ3JlYXRlR3VpZCgmdXVpZCk7Ci0g
ICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICB3Y2hhcl90
IHV1aWRTdHJbNDBdOwotICAgIGludCBudW0gPSBTdHJpbmdGcm9tR1VJRDIodXVpZCwgcmVpbnRl
cnByZXRfY2FzdDxMUE9MRVNUUj4odXVpZFN0ciksIFdURl9BUlJBWV9MRU5HVEgodXVpZFN0cikp
OwotICAgIEFTU0VSVChudW0gPT0gMzkpOwotICAgIFN0cmluZyBjYW5vbmljYWxVdWlkU3RyID0g
U3RyaW5nKHV1aWRTdHIgKyAxLCBudW0gLSAzKS5sb3dlcigpOyAvLyByZW1vdmUgb3BlbmluZyBh
bmQgY2xvc2luZyBicmFja2V0IGFuZCBtYWtlIGl0IGxvd2VyLgotICAgIEFTU0VSVChjYW5vbmlj
YWxVdWlkU3RyW3V1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVp
cmVkKTsKLSAgICByZXR1cm4gY2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIE9TKERBUldJTikgJiYg
VVNFKENGKQotICAgIENGVVVJRFJlZiB1dWlkID0gQ0ZVVUlEQ3JlYXRlKDApOwotICAgIENGU3Ry
aW5nUmVmIHV1aWRTdHJSZWYgPSBDRlVVSURDcmVhdGVTdHJpbmcoMCwgdXVpZCk7Ci0gICAgU3Ry
aW5nIHV1aWRTdHIodXVpZFN0clJlZik7Ci0gICAgQ0ZSZWxlYXNlKHV1aWRTdHJSZWYpOwotICAg
IENGUmVsZWFzZSh1dWlkKTsKLSAgICBTdHJpbmcgY2Fub25pY2FsVXVpZFN0ciA9IHV1aWRTdHIu
bG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dlci4KLSAgICBBU1NFUlQoY2Fub25pY2FsVXVpZFN0clt1
dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0gdXVpZFZlcnNpb25SZXF1aXJlZCk7Ci0gICAg
cmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7Ci0jZWxpZiBPUyhMSU5VWCkgJiYgIVBMQVRGT1JNKENI
Uk9NSVVNKQotICAgIC8vIFRoaXMgZG9lcyBub3Qgd29yayBmb3IgdGhlIGxpbnV4IHN5c3RlbSB0
aGF0IHR1cm5zIG9uIHNhbmRib3guCi0gICAgRklMRSogZnB0ciA9IGZvcGVuKCIvcHJvYy9zeXMv
a2VybmVsL3JhbmRvbS91dWlkIiwgInIiKTsKLSAgICBpZiAoIWZwdHIpCi0gICAgICAgIHJldHVy
biBTdHJpbmcoKTsKLSAgICBjaGFyIHV1aWRTdHJbMzddOwotICAgIGNoYXIqIHJlc3VsdCA9IGZn
ZXRzKHV1aWRTdHIsIHNpemVvZih1dWlkU3RyKSwgZnB0cik7Ci0gICAgZmNsb3NlKGZwdHIpOwot
ICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgU3RyaW5nIGNh
bm9uaWNhbFV1aWRTdHIgPSBTdHJpbmcodXVpZFN0cikubG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dl
ci4KLSAgICBBU1NFUlQoY2Fub25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRl
eF0gPT0gdXVpZFZlcnNpb25SZXF1aXJlZCk7Ci0gICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7
Ci0jZWxpZiAoT1MoTElOVVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikg
JiYgIVVTRShDRikpCisjaWYgVVNFKE9TX1JBTkRPTU5FU1MpCiAgICAgdW5zaWduZWQgcmFuZG9t
RGF0YVs0XTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgocmFu
ZG9tRGF0YSk7ICsraSkKLSAgICAgICAgcmFuZG9tRGF0YVtpXSA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4
KCkgKyAxLjApKTsKKyAgICBXVEY6OmNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKHJlaW50
ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KHJhbmRvbURhdGEpLCBzaXplb2YocmFuZG9tRGF0
YSkpOwogCiAgICAgLy8gRm9ybWF0IGFzIFZlcnNpb24gNCBVVUlELgogICAgIFN0cmluZ0J1aWxk
ZXIgYnVpbGRlcjsKKyAgICBidWlsZGVyLnJlc2VydmVDYXBhY2l0eSgzNik7CiAgICAgYXBwZW5k
VW5zaWduZWRBc0hleEZpeGVkU2l6ZShyYW5kb21EYXRhWzBdLCBidWlsZGVyLCA4LCBMb3dlcmNh
c2UpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCItIik7CiAgICAgYXBwZW5kVW5zaWduZWRBc0hleEZp
eGVkU2l6ZShyYW5kb21EYXRhWzFdID4+IDE2LCBidWlsZGVyLCA0LCBMb3dlcmNhc2UpOwpAQCAt
MTEyLDcgKzU4LDYgQEAgU3RyaW5nIGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKQogICAgIGJ1
aWxkZXIuYXBwZW5kKCItIik7CiAgICAgYXBwZW5kVW5zaWduZWRBc0hleEZpeGVkU2l6ZShyYW5k
b21EYXRhWzJdICYgMHgwMDAwZmZmZiwgYnVpbGRlciwgNCwgTG93ZXJjYXNlKTsKICAgICBhcHBl
bmRVbnNpZ25lZEFzSGV4Rml4ZWRTaXplKHJhbmRvbURhdGFbM10sIGJ1aWxkZXIsIDgsIExvd2Vy
Y2FzZSk7Ci0gICAgYnVpbGRlci5hcHBlbmQoIlxuIik7CiAgICAgcmV0dXJuIGJ1aWxkZXIudG9T
dHJpbmcoKTsKICNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102298</attachid>
            <date>2011-07-28 14:21:52 -0700</date>
            <delta_ts>2013-01-25 19:59:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65157-20110728142151.patch</filename>
            <type>text/plain</type>
            <size>4428</size>
            <attacher name="Justin Schuh">jschuh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxOTMyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDctMjggIEp1c3RpbiBT
Y2h1aCAgPGpzY2h1aEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2ltcGxpZnkgY3JlYXRlQ2Fu
b25pY2FsVVVJRFN0cmluZyBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTU3CisKKyAgICAgICAgQWxsIHBvcnRzIHN1cHBv
cnQgT1NfUkFORE9NTkVTUywgc28gYmV0dGVyIHRvIGhhdmUgb25lIGltcGxlbWVudGF0aW9uLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBj
b3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vVVVJRC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKToKKwogMjAxMS0w
Ny0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzk3MTQzMzc+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjUzMDYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCShyZXZpc2lvbiA5MTkz
MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw3NSArMzIsMjEgQEAKICNpbmNsdWRlICJVVUlELmgiCiAKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgotCi0jaWYgUExBVEZPUk0oUVQpCi0jaW5jbHVkZSA8UVV1aWQ+Ci0jZW5kaWYK
LQotI2lmIE9TKFdJTkRPV1MpCi0jaW5jbHVkZSA8b2JqYmFzZS5oPgotI2VsaWYgT1MoREFSV0lO
KSAmJiBVU0UoQ0YpCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4K
LSNlbGlmIE9TKExJTlVYKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pCi0jaW5jbHVkZSA8c3RkaW8u
aD4KLSNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01JVU0pKSB8fCAoT1MoREFSV0lO
KSAmJiAhVVNFKENGKSkKKyNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIuaD4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+Ci0jaW5jbHVkZSA8d3RmL1JhbmRvbU51
bWJlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLSNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBjaGFyIHV1aWRWZXJzaW9uUmVxdWly
ZWQgPSAnNCc7Ci1zdGF0aWMgY29uc3QgaW50IHV1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4ID0g
MTQ7Ci0KIFN0cmluZyBjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkKIHsKLSNpZiBQTEFURk9S
TShRVCkgJiYgIWRlZmluZWQoUVRfTk9fUVVVSURfU1RSSU5HKQotICAgIFFVdWlkIHV1aWQgPSBR
VXVpZDo6Y3JlYXRlVXVpZCgpOwotICAgIFN0cmluZyBjYW5vbmljYWxVdWlkU3RyID0gdXVpZC50
b1N0cmluZygpLm1pZCgxLCAzNikudG9Mb3dlcigpOyAvLyByZW1vdmUgb3BlbmluZyBhbmQgY2xv
c2luZyBicmFja2V0IGFuZCBtYWtlIGl0IGxvd2VyLgotICAgIEFTU0VSVChjYW5vbmljYWxVdWlk
U3RyW3V1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVpcmVkKTsK
LSAgICByZXR1cm4gY2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIE9TKFdJTkRPV1MpCi0gICAgR1VJ
RCB1dWlkID0geyAwIH07Ci0gICAgSFJFU1VMVCBociA9IENvQ3JlYXRlR3VpZCgmdXVpZCk7Ci0g
ICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICB3Y2hhcl90
IHV1aWRTdHJbNDBdOwotICAgIGludCBudW0gPSBTdHJpbmdGcm9tR1VJRDIodXVpZCwgcmVpbnRl
cnByZXRfY2FzdDxMUE9MRVNUUj4odXVpZFN0ciksIFdURl9BUlJBWV9MRU5HVEgodXVpZFN0cikp
OwotICAgIEFTU0VSVChudW0gPT0gMzkpOwotICAgIFN0cmluZyBjYW5vbmljYWxVdWlkU3RyID0g
U3RyaW5nKHV1aWRTdHIgKyAxLCBudW0gLSAzKS5sb3dlcigpOyAvLyByZW1vdmUgb3BlbmluZyBh
bmQgY2xvc2luZyBicmFja2V0IGFuZCBtYWtlIGl0IGxvd2VyLgotICAgIEFTU0VSVChjYW5vbmlj
YWxVdWlkU3RyW3V1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVp
cmVkKTsKLSAgICByZXR1cm4gY2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIE9TKERBUldJTikgJiYg
VVNFKENGKQotICAgIENGVVVJRFJlZiB1dWlkID0gQ0ZVVUlEQ3JlYXRlKDApOwotICAgIENGU3Ry
aW5nUmVmIHV1aWRTdHJSZWYgPSBDRlVVSURDcmVhdGVTdHJpbmcoMCwgdXVpZCk7Ci0gICAgU3Ry
aW5nIHV1aWRTdHIodXVpZFN0clJlZik7Ci0gICAgQ0ZSZWxlYXNlKHV1aWRTdHJSZWYpOwotICAg
IENGUmVsZWFzZSh1dWlkKTsKLSAgICBTdHJpbmcgY2Fub25pY2FsVXVpZFN0ciA9IHV1aWRTdHIu
bG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dlci4KLSAgICBBU1NFUlQoY2Fub25pY2FsVXVpZFN0clt1
dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0gdXVpZFZlcnNpb25SZXF1aXJlZCk7Ci0gICAg
cmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7Ci0jZWxpZiBPUyhMSU5VWCkgJiYgIVBMQVRGT1JNKENI
Uk9NSVVNKQotICAgIC8vIFRoaXMgZG9lcyBub3Qgd29yayBmb3IgdGhlIGxpbnV4IHN5c3RlbSB0
aGF0IHR1cm5zIG9uIHNhbmRib3guCi0gICAgRklMRSogZnB0ciA9IGZvcGVuKCIvcHJvYy9zeXMv
a2VybmVsL3JhbmRvbS91dWlkIiwgInIiKTsKLSAgICBpZiAoIWZwdHIpCi0gICAgICAgIHJldHVy
biBTdHJpbmcoKTsKLSAgICBjaGFyIHV1aWRTdHJbMzddOwotICAgIGNoYXIqIHJlc3VsdCA9IGZn
ZXRzKHV1aWRTdHIsIHNpemVvZih1dWlkU3RyKSwgZnB0cik7Ci0gICAgZmNsb3NlKGZwdHIpOwot
ICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgU3RyaW5nIGNh
bm9uaWNhbFV1aWRTdHIgPSBTdHJpbmcodXVpZFN0cikubG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dl
ci4KLSAgICBBU1NFUlQoY2Fub25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRl
eF0gPT0gdXVpZFZlcnNpb25SZXF1aXJlZCk7Ci0gICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7
Ci0jZWxpZiAoT1MoTElOVVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikg
JiYgIVVTRShDRikpCisjaWYgVVNFKE9TX1JBTkRPTU5FU1MpCiAgICAgdW5zaWduZWQgcmFuZG9t
RGF0YVs0XTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgocmFu
ZG9tRGF0YSk7ICsraSkKLSAgICAgICAgcmFuZG9tRGF0YVtpXSA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4
KCkgKyAxLjApKTsKKyAgICBXVEY6OmNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKHJlaW50
ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KHJhbmRvbURhdGEpLCBzaXplb2YocmFuZG9tRGF0
YSkpOwogCiAgICAgLy8gRm9ybWF0IGFzIFZlcnNpb24gNCBVVUlELgogICAgIFN0cmluZ0J1aWxk
ZXIgYnVpbGRlcjsKKyAgICBidWlsZGVyLnJlc2VydmVDYXBhY2l0eSgzNik7CiAgICAgYXBwZW5k
VW5zaWduZWRBc0hleEZpeGVkU2l6ZShyYW5kb21EYXRhWzBdLCBidWlsZGVyLCA4LCBMb3dlcmNh
c2UpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCItIik7CiAgICAgYXBwZW5kVW5zaWduZWRBc0hleEZp
eGVkU2l6ZShyYW5kb21EYXRhWzFdID4+IDE2LCBidWlsZGVyLCA0LCBMb3dlcmNhc2UpOwpAQCAt
MTEyLDcgKzU4LDYgQEAgU3RyaW5nIGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKQogICAgIGJ1
aWxkZXIuYXBwZW5kKCItIik7CiAgICAgYXBwZW5kVW5zaWduZWRBc0hleEZpeGVkU2l6ZShyYW5k
b21EYXRhWzJdICYgMHgwMDAwZmZmZiwgYnVpbGRlciwgNCwgTG93ZXJjYXNlKTsKICAgICBhcHBl
bmRVbnNpZ25lZEFzSGV4Rml4ZWRTaXplKHJhbmRvbURhdGFbM10sIGJ1aWxkZXIsIDgsIExvd2Vy
Y2FzZSk7Ci0gICAgYnVpbGRlci5hcHBlbmQoIlxuIik7CiAgICAgcmV0dXJuIGJ1aWxkZXIudG9T
dHJpbmcoKTsKICNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
</data>
<flag name="review"
          id="97516"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>