<?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>66877</bug_id>
          
          <creation_ts>2011-08-24 12:09:09 -0700</creation_ts>
          <short_desc>[Chromium] Add ability to do static SerializedScriptValue deserialization</short_desc>
          <delta_ts>2011-08-29 15:41: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>WebKit API</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>0</everconfirmed>
          <reporter name="Greg Billock">gbillock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>456292</commentid>
    <comment_count>0</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-24 12:09:09 -0700</bug_when>
    <thetext>A new method on WebSerializedScriptValue to do static deserialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456294</commentid>
    <comment_count>1</comment_count>
      <attachid>105039</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-24 12:11:53 -0700</bug_when>
    <thetext>Created attachment 105039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456960</commentid>
    <comment_count>2</comment_count>
      <attachid>105039</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-25 10:26:50 -0700</bug_when>
    <thetext>Comment on attachment 105039
Patch

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

&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:37
&gt; +#include &quot;v8/include/v8.h&quot;

this should be #include &lt;v8.h&gt;; however, i think you can just forward declare
the V8 types you are using instead.  please see how this is done in other
header files.

&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:72
&gt; +    static v8::Handle&lt;v8::Value&gt; deserializeToValue(const WebString&amp; data);

perhaps you should just have a getter on WebSerializedScriptValue that exposes
the underlying v8 object?  this way you could also get the v8 value corresponding
to what createInvalid() produces, or if we expose WebSerializedScriptValue through
other interfaces, you&apos;d be able to also get the v8 object from there.  (I see some
other APIs that pass WebSerializedScriptValue.)

Maybe:

  WEBKIT_EXPORT v8::Handle&lt;v8::Value&gt; deserialize() const;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456990</commentid>
    <comment_count>3</comment_count>
      <attachid>105039</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-25 10:53:15 -0700</bug_when>
    <thetext>Comment on attachment 105039
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:37
&gt;&gt; +#include &quot;v8/include/v8.h&quot;
&gt; 
&gt; this should be #include &lt;v8.h&gt;; however, i think you can just forward declare
&gt; the V8 types you are using instead.  please see how this is done in other
&gt; header files.

Thanks, Darin. I tried that, as well as #include &quot;v8.h&quot;. Neither one compiled. Is there a gypi file I need to update or something? The example I was following was WebFrameClient.h. This file looked parallel, but obviously there&apos;s something different in the configuration, and I didn&apos;t find it. I&apos;ll just forward-declare, as it looks like that Just Works.

&gt;&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:72
&gt;&gt; +    static v8::Handle&lt;v8::Value&gt; deserializeToValue(const WebString&amp; data);
&gt; 
&gt; perhaps you should just have a getter on WebSerializedScriptValue that exposes
&gt; the underlying v8 object?  this way you could also get the v8 value corresponding
&gt; to what createInvalid() produces, or if we expose WebSerializedScriptValue through
&gt; other interfaces, you&apos;d be able to also get the v8 object from there.  (I see some
&gt; other APIs that pass WebSerializedScriptValue.)
&gt; 
&gt; Maybe:
&gt; 
&gt;   WEBKIT_EXPORT v8::Handle&lt;v8::Value&gt; deserialize() const;

So follow WebFrame.h::frameForContext? I can definitely do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456996</commentid>
    <comment_count>4</comment_count>
      <attachid>105221</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-25 10:59:27 -0700</bug_when>
    <thetext>Created attachment 105221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457640</commentid>
    <comment_count>5</comment_count>
      <attachid>105378</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-26 10:52:34 -0700</bug_when>
    <thetext>Created attachment 105378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457675</commentid>
    <comment_count>6</comment_count>
      <attachid>105378</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-26 11:27:27 -0700</bug_when>
    <thetext>Comment on attachment 105378
Patch

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

&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:65
&gt; +    WEBKIT_EXPORT static WebSerializedScriptValue fromValue(v8::Handle&lt;v8::Value&gt;);

Perhaps it would be better to name this function serialize to parallel the
deserialize function.  I&apos;m guessing you went with from* to match fromString.
Maybe the difference there is that fromString is really just taking the
serialized bytes and storing them in a WebSerializedScriptValue.  It is not
performing any parsing of the data.

&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:68
&gt; +

nit: only one new line here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458229</commentid>
    <comment_count>7</comment_count>
      <attachid>105378</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-29 08:29:54 -0700</bug_when>
    <thetext>Comment on attachment 105378
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:65
&gt;&gt; +    WEBKIT_EXPORT static WebSerializedScriptValue fromValue(v8::Handle&lt;v8::Value&gt;);
&gt; 
&gt; Perhaps it would be better to name this function serialize to parallel the
&gt; deserialize function.  I&apos;m guessing you went with from* to match fromString.
&gt; Maybe the difference there is that fromString is really just taking the
&gt; serialized bytes and storing them in a WebSerializedScriptValue.  It is not
&gt; performing any parsing of the data.

Sounds good. In the WebKit2 version of this, the equivalent for JSC uses a constructor. Shall I just do that?

&gt;&gt; Source/WebKit/chromium/public/WebSerializedScriptValue.h:68
&gt;&gt; +
&gt; 
&gt; nit: only one new line here

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458234</commentid>
    <comment_count>8</comment_count>
      <attachid>105493</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-29 08:55:50 -0700</bug_when>
    <thetext>Created attachment 105493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458280</commentid>
    <comment_count>9</comment_count>
      <attachid>105493</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-29 10:45:15 -0700</bug_when>
    <thetext>Comment on attachment 105493
Patch

Hmm, I&apos;m kinda torn.  There are arguments in favor of the following:

WebSerializedScriptValue(v8::Handle&lt;v8::Value&gt;);
static WebSerializedScriptValue create(v8::Handle&lt;v8::Value&gt;);
static WebSerializedScriptValue serialize(v8::Handle&lt;v8::Value&gt;);

The first is kind of natural given that that&apos;s the point of constructors.
The second is consistent with createInvalid.  The third is consistent with
the deserialize method.

The odd ball is fromString, which could be a constructor too, or it could
be named createFromString.

Note: in the WebKit API create* is usually reserved for methods that return
heap allocated objects that the caller is then responsible for deleting.
This argues that createInvalid should be renamed.

I wonder... perhaps the default constructor for WebSerializedScriptValue
should return the same thing as createInvalid.  It seems that they are not
implemented the same, which suggests that there is yet another state being
represented.  I wonder if we need that.

Sigh, this is not a well engineered interface :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458373</commentid>
    <comment_count>10</comment_count>
      <attachid>105493</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-29 12:35:21 -0700</bug_when>
    <thetext>Comment on attachment 105493
Patch

Clearing flags on attachment: 105493

Committed r94004: &lt;http://trac.webkit.org/changeset/94004&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458374</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-29 12:35:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458446</commentid>
    <comment_count>12</comment_count>
      <attachid>105493</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-29 14:10:19 -0700</bug_when>
    <thetext>Comment on attachment 105493
Patch

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

&gt; Source/WebKit/chromium/src/WebSerializedScriptValue.cpp:50
&gt; +    WebSerializedScriptValue v = SerializedScriptValue::create(value, didThrow);

Use words not abbreviations for WebKit variable names.

&gt; Source/WebKit/chromium/src/WebSerializedScriptValue.cpp:52
&gt; +      return createInvalid();

4 space indent for WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458502</commentid>
    <comment_count>13</comment_count>
      <attachid>105493</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2011-08-29 15:41:54 -0700</bug_when>
    <thetext>Comment on attachment 105493
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebSerializedScriptValue.cpp:50
&gt;&gt; +    WebSerializedScriptValue v = SerializedScriptValue::create(value, didThrow);
&gt; 
&gt; Use words not abbreviations for WebKit variable names.

It looks like this landed already. I have another change coming soon and I&apos;ll include both these changes there.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105039</attachid>
            <date>2011-08-24 12:11:53 -0700</date>
            <delta_ts>2011-08-25 10:59:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66877-20110824121152.patch</filename>
            <type>text/plain</type>
            <size>2704</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3MDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NGYwNWQzNzNmZTJmZDlhNzdhOTYxYmVhZjAzOGRiYTAxYTdmMWIwMy4uZGE3NWZkYTYzODJlM2Nj
MmQ5OGQ3ZjNlNWE1ZjNhZGZmNDgzMDA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxMS0wOC0yNCAgR3JlZyBCaWxsb2NrICA8Z2JpbGxvY2tAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbQ2hyb21pdW1dIEFkZCBhYmlsaXR5IHRvIGRvIHN0YXRpYyBTZXJp
YWxpemVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oOgorICAgICAgICAqIHNyYy9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplVG9WYWx1ZSk6
CisKIDIwMTEtMDgtMjMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBXZWJTZWFyY2hhYmxlRm9ybURhdGEgY3Jhc2hlcyB3aGVuIGdpdmVuIGEgZGV0YWNoZWQgSFRN
TEZvcm1FbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IGYwNWIyN2Q0ZDU5MDZkMTJiZDY0Njkx
MjkxYWQwMGE3YWZhYzllNDUuLmExMzQzODdiYzk1ZTBmYWE4ODA2MjU5OTAwNzhiMzgzNWNlMWY1
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCkBAIC0zMyw2ICszMyw5IEBACiAKICNpbmNsdWRlICJXZWJD
b21tb24uaCIKICNpbmNsdWRlICJXZWJQcml2YXRlUHRyLmgiCisjaWYgV0VCS0lUX1VTSU5HX1Y4
CisjaW5jbHVkZSAidjgvaW5jbHVkZS92OC5oIgorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOyB9CiAKQEAgLTY0LDYgKzY3LDExIEBAIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBXZWJT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuCiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdDsKIAorICAgIC8vIENvbnZlcnQgdGhlIHNlcmlhbGl6ZWQgdmFsdWUgdG8gYSB2
OCB2YWx1ZS4KKyNpZiBXRUJLSVRfVVNJTkdfVjgKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGRlc2VyaWFsaXplVG9WYWx1ZShjb25zdCBXZWJTdHJpbmcmIGRhdGEpOworI2VuZGlm
CisKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICBXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWUoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4m
KTsKICAgICBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIG9wZXJhdG9yPShjb25zdCBXVEY6OlBh
c3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
aW5kZXggNzE0OWE0ZDNjZGZhNzM3N2EzYWNhMmM5ZDRmZTgyNjg5MGVkMWEzMC4uY2M0NWMzOTUy
MmEyZWFlZjZhY2M5ODg4ZTIzZGRjM2Q1Y2ZiZTAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC02Myw2
ICs2MywxNCBAQCBXZWJTdHJpbmcgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0b1N0cmluZygp
IGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dG9XaXJlU3RyaW5nKCk7CiB9CiAKKyNpZiBX
RUJLSVRfVVNJTkdfVjgKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OmRlc2VyaWFsaXplVG9WYWx1ZShjb25zdCBXZWJTdHJpbmcmIGRhdGEpCit7CisgICAg
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsID0gU2VyaWFsaXplZFNjcmlwdFZhbHVl
OjpjcmVhdGVGcm9tV2lyZShkYXRhKTsKKyAgICByZXR1cm4gdmFsLT5kZXNlcmlhbGl6ZSgpOwor
fQorI2VuZGlmCisKIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6V2ViU2VyaWFsaXplZFNjcmlw
dFZhbHVlKGNvbnN0IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYgdmFsdWUpCiAg
ICAgOiBtX3ByaXZhdGUodmFsdWUpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105221</attachid>
            <date>2011-08-25 10:59:27 -0700</date>
            <delta_ts>2011-08-26 10:52:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66877-20110825105926.patch</filename>
            <type>text/plain</type>
            <size>2694</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3MDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NGYwNWQzNzNmZTJmZDlhNzdhOTYxYmVhZjAzOGRiYTAxYTdmMWIwMy4uOGI2MDMzODRjMmNhMGY4
OGQ3NjI4ZmNhN2UxYTU4MDk0M2IyNzQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxMS0wOC0yNCAgR3JlZyBCaWxsb2NrICA8Z2JpbGxvY2tAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbQ2hyb21pdW1dIEFkZCBhYmlsaXR5IHRvIGRvIHN0YXRpYyBTZXJp
YWxpemVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oOgorICAgICAgICAqIHNyYy9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKToKKwogMjAx
MS0wOC0yMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFdlYlNl
YXJjaGFibGVGb3JtRGF0YSBjcmFzaGVzIHdoZW4gZ2l2ZW4gYSBkZXRhY2hlZCBIVE1MRm9ybUVs
ZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmgKaW5kZXggZjA1YjI3ZDRkNTkwNmQxMmJkNjQ2OTEyOTFhZDAw
YTdhZmFjOWU0NS4uNzAxMTI3MWM5MzIxZjU2ZmUyN2NiYzY3MjVkYzNiMjJkMTZhYzFhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmgKQEAgLTM2LDkgKzM2LDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsg
Y2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOyB9CiAKKyNpZiBXRUJLSVRfVVNJTkdfVjgKK25h
bWVzcGFjZSB2OCB7CitjbGFzcyBWYWx1ZTsKK3RlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBIYW5k
bGU7Cit9CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJTdHJpbmc7CiAK
KwogY2xhc3MgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIHsKIHB1YmxpYzoKICAgICB+V2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlKCkgeyByZXNldCgpOyB9CkBAIC02NCw2ICs3MiwxMSBAQCBwdWJs
aWM6CiAgICAgLy8gUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLgogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHRvU3RyaW5n
KCkgY29uc3Q7CiAKKyNpZiBXRUJLSVRfVVNJTkdfVjgKKyAgICAvLyBDb252ZXJ0IHRoZSBzZXJp
YWxpemVkIHZhbHVlIHRvIGEgcGFyc2VkIHY4IHZhbHVlLgorICAgIFdFQktJVF9FWFBPUlQgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGRlc2VyaWFsaXplKCk7CisjZW5kaWYKKwogI2lmIFdFQktJVF9J
TVBMRU1FTlRBVElPTgogICAgIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZShjb25zdCBXVEY6OlBh
c3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYpOwogICAgIFdlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3Jl
OjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA3MTQ5YTRkM2Nk
ZmE3Mzc3YTNhY2EyYzlkNGZlODI2ODkwZWQxYTMwLi4xM2NhYTM1NzU4OWQxOTZlZDM2YmRhMmJl
YWNhOTgwYmViMTIzMzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTYzLDYgKzYzLDEzIEBAIFdlYlN0
cmluZyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnRvU3RyaW5nKCkgY29uc3QKICAgICByZXR1
cm4gbV9wcml2YXRlLT50b1dpcmVTdHJpbmcoKTsKIH0KIAorI2lmIFdFQktJVF9VU0lOR19WOAor
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxp
emUoKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmRlc2VyaWFsaXplKCk7Cit9CisjZW5kaWYK
KwogV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUoY29u
c3QgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiB2YWx1ZSkKICAgICA6IG1fcHJp
dmF0ZSh2YWx1ZSkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105378</attachid>
            <date>2011-08-26 10:52:34 -0700</date>
            <delta_ts>2011-08-29 08:55:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66877-20110826105233.patch</filename>
            <type>text/plain</type>
            <size>3700</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3ODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NTRlODE2OTQ0ZDQ3OTRjY2UwMGQ4ZTAwNzNhNWE4M2VjN2E4NDdhOC4uMWM0YWY0MDY0NjdhZDk1
M2RhM2IyNDQ1YmFlOGYzNDlmMjFkMjc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMS0wOC0yNCAgR3JlZyBCaWxsb2NrICA8Z2JpbGxvY2tAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbQ2hyb21pdW1dIEFkZCBhYmlsaXR5IHRvIGRvIHN0YXRpYyBTZXJp
YWxpemVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oOgorICAgICAgICAqIHNyYy9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpmcm9tVmFsdWUpOgorCiAyMDEx
LTA4LTI0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CiAKICAgICAgICAgSW1w
bGVtZW50IGEga2V5cGF0aCBwYXJzZXIgc3RyaWN0bHkgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IGYwNWIyN2Q0ZDU5MDZkMTJiZDY0NjkxMjkxYWQwMGE3
YWZhYzllNDUuLmUxNzM2ZjlmZDZjYjZkZWM4YjE4NTgwMTUxNDY0N2U1M2NiZDQ5OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oCkBAIC0zNiw5ICszNiwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNs
YXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsgfQogCisjaWYgV0VCS0lUX1VTSU5HX1Y4CituYW1l
c3BhY2UgdjggeworY2xhc3MgVmFsdWU7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgSGFuZGxl
OworfQorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViU3RyaW5nOwogCisK
IGNsYXNzIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSB7CiBwdWJsaWM6CiAgICAgfldlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSgpIHsgcmVzZXQoKTsgfQpAQCAtNTMsNiArNjEsMTEgQEAgcHVibGlj
OgogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIGZy
b21TdHJpbmcoY29uc3QgV2ViU3RyaW5nJik7CiAKKyNpZiBXRUJLSVRfVVNJTkdfVjgKKyAgICBX
RUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUgZnJvbVZhbHVlKHY4
OjpIYW5kbGU8djg6OlZhbHVlPik7CisjZW5kaWYKKworCiAgICAgLy8gQ3JlYXRlIGEgV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlIHRoYXQgcmVwcmVzZW50cyBhIHNlcmlhbGl6YXRpb24gZXJyb3Iu
CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIGNyZWF0
ZUludmFsaWQoKTsKIApAQCAtNjQsNiArNzcsMTEgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMg
YSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4K
ICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyB0b1N0cmluZygpIGNvbnN0OwogCisjaWYgV0VC
S0lUX1VTSU5HX1Y4CisgICAgLy8gQ29udmVydCB0aGUgc2VyaWFsaXplZCB2YWx1ZSB0byBhIHBh
cnNlZCB2OCB2YWx1ZS4KKyAgICBXRUJLSVRfRVhQT1JUIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBk
ZXNlcmlhbGl6ZSgpOworI2VuZGlmCisKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICBX
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4mKTsKICAgICBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIG9w
ZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggNzE0OWE0ZDNjZGZhNzM3N2EzYWNhMmM5ZDRmZTgy
Njg5MGVkMWEzMC4uNDFiZmRiMDJiNWE0N2RmZTczOWY5YzJkMzA3NGI3YzBjNDY1YmQ0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCkBAIC00Myw2ICs0MywxNyBAQCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUg
V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpmcm9tU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYgcwog
ICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKHMpOwogfQog
CisjaWYgV0VCS0lUX1VTSU5HX1Y4CitXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUgV2ViU2VyaWFs
aXplZFNjcmlwdFZhbHVlOjpmcm9tVmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQor
eworICAgIGJvb2wgZGlkVGhyb3c7CisgICAgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIHYgPSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2YWx1ZSwgZGlkVGhyb3cpOworICAgIGlmIChk
aWRUaHJvdykKKyAgICAgIHJldHVybiBjcmVhdGVJbnZhbGlkKCk7CisgICAgcmV0dXJuIHY7Cit9
CisjZW5kaWYKKwogV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdlYlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTo6Y3JlYXRlSW52YWxpZCgpCiB7CiAgICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKCk7CkBAIC02Myw2ICs3NCwxMyBAQCBXZWJTdHJpbmcgV2ViU2VyaWFsaXplZFNj
cmlwdFZhbHVlOjp0b1N0cmluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dG9XaXJl
U3RyaW5nKCk7CiB9CiAKKyNpZiBXRUJLSVRfVVNJTkdfVjgKK3Y4OjpIYW5kbGU8djg6OlZhbHVl
PiBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKCkKK3sKKyAgICByZXR1cm4g
bV9wcml2YXRlLT5kZXNlcmlhbGl6ZSgpOworfQorI2VuZGlmCisKIFdlYlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlKGNvbnN0IFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYgdmFsdWUpCiAgICAgOiBtX3ByaXZhdGUodmFsdWUpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105493</attachid>
            <date>2011-08-29 08:55:50 -0700</date>
            <delta_ts>2011-08-29 15:41:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66877-20110829085548.patch</filename>
            <type>text/plain</type>
            <size>3698</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3ODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NTRlODE2OTQ0ZDQ3OTRjY2UwMGQ4ZTAwNzNhNWE4M2VjN2E4NDdhOC4uY2EyMTRhMzVhYzk2YzQ1
NGJjMzBkZTBmMThkOTQwYTNjZGFjNGJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMS0wOC0yNCAgR3JlZyBCaWxsb2NrICA8Z2JpbGxvY2tAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbQ2hyb21pdW1dIEFkZCBhYmlsaXR5IHRvIGRvIHN0YXRpYyBTZXJp
YWxpemVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oOgorICAgICAgICAqIHNyYy9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpzZXJpYWxpemUpOgorCiAyMDEx
LTA4LTI0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CiAKICAgICAgICAgSW1w
bGVtZW50IGEga2V5cGF0aCBwYXJzZXIgc3RyaWN0bHkgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IGYwNWIyN2Q0ZDU5MDZkMTJiZDY0NjkxMjkxYWQwMGE3
YWZhYzllNDUuLmVmZTUwMDQ1YzYzMWZmYTM0NDIzZjE1MmYyZjA3OTcyNjY2OGQ3OTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oCkBAIC0zNiw5ICszNiwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNs
YXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsgfQogCisjaWYgV0VCS0lUX1VTSU5HX1Y4CituYW1l
c3BhY2UgdjggeworY2xhc3MgVmFsdWU7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgSGFuZGxl
OworfQorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViU3RyaW5nOwogCisK
IGNsYXNzIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSB7CiBwdWJsaWM6CiAgICAgfldlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSgpIHsgcmVzZXQoKTsgfQpAQCAtNTMsNiArNjEsMTAgQEAgcHVibGlj
OgogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIGZy
b21TdHJpbmcoY29uc3QgV2ViU3RyaW5nJik7CiAKKyNpZiBXRUJLSVRfVVNJTkdfVjgKKyAgICBX
RUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUgc2VyaWFsaXplKHY4
OjpIYW5kbGU8djg6OlZhbHVlPik7CisjZW5kaWYKKwogICAgIC8vIENyZWF0ZSBhIFdlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSB0aGF0IHJlcHJlc2VudHMgYSBzZXJpYWxpemF0aW9uIGVycm9yLgog
ICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBjcmVhdGVJ
bnZhbGlkKCk7CiAKQEAgLTY0LDYgKzc2LDExIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
c3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuCiAg
ICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKIAorI2lmIFdFQktJ
VF9VU0lOR19WOAorICAgIC8vIENvbnZlcnQgdGhlIHNlcmlhbGl6ZWQgdmFsdWUgdG8gYSBwYXJz
ZWQgdjggdmFsdWUuCisgICAgV0VCS0lUX0VYUE9SVCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGVz
ZXJpYWxpemUoKTsKKyNlbmRpZgorCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAgV2Vi
U2VyaWFsaXplZFNjcmlwdFZhbHVlKGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU+Jik7CiAgICAgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiBvcGVy
YXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDcxNDlhNGQzY2RmYTczNzdhM2FjYTJjOWQ0ZmU4MjY4
OTBlZDFhMzAuLmRmNGQ3MjExMzUwNzFjNjFkMWUxNmY5ODI5MzI4MDg3MGFiNzZiMTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcApAQCAtNDMsNiArNDMsMTcgQEAgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdl
YlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6ZnJvbVN0cmluZyhjb25zdCBXZWJTdHJpbmcmIHMKICAg
ICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZShzKTsKIH0KIAor
I2lmIFdFQktJVF9VU0lOR19WOAorV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdlYlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6c2VyaWFsaXplKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK3sK
KyAgICBib29sIGRpZFRocm93OworICAgIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSB2ID0gU2Vy
aWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUodmFsdWUsIGRpZFRocm93KTsKKyAgICBpZiAoZGlk
VGhyb3cpCisgICAgICByZXR1cm4gY3JlYXRlSW52YWxpZCgpOworICAgIHJldHVybiB2OworfQor
I2VuZGlmCisKIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OmNyZWF0ZUludmFsaWQoKQogewogICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OmNyZWF0ZSgpOwpAQCAtNjMsNiArNzQsMTMgQEAgV2ViU3RyaW5nIFdlYlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6dG9TdHJpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3ByaXZhdGUtPnRvV2lyZVN0
cmluZygpOwogfQogCisjaWYgV0VCS0lUX1VTSU5HX1Y4Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlhbGl6ZSgpCit7CisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+ZGVzZXJpYWxpemUoKTsKK30KKyNlbmRpZgorCiBXZWJTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZShjb25zdCBQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mIHZhbHVlKQogICAgIDogbV9wcml2YXRlKHZhbHVlKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>