<?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>78071</bug_id>
          
          <creation_ts>2012-02-07 19:27:52 -0800</creation_ts>
          <short_desc>Remove implicit copy constructor usage in HashMaps with OwnPtr</short_desc>
          <delta_ts>2012-02-10 11:37:01 -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>Web Template Framework</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>
          
          <blocked>74154</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>enne</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>551713</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-07 19:27:52 -0800</bug_when>
    <thetext>Remove implicit copy constructor usage in HashMaps with OwnPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551718</commentid>
    <comment_count>1</comment_count>
      <attachid>125987</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-07 19:33:01 -0800</bug_when>
    <thetext>Created attachment 125987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551719</commentid>
    <comment_count>2</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-07 19:36:50 -0800</bug_when>
    <thetext>My kingdom for an auto keyword.

I kept this patch separate from the one in 74154, since that&apos;s probably less interesting to non-Chromium folks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551721</commentid>
    <comment_count>3</comment_count>
      <attachid>125987</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-02-07 19:39:08 -0800</bug_when>
    <thetext>Comment on attachment 125987
Patch

Attachment 125987 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11459247</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551740</commentid>
    <comment_count>4</comment_count>
      <attachid>125987</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-07 20:31:42 -0800</bug_when>
    <thetext>Comment on attachment 125987
Patch

Attachment 125987 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11462235</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551753</commentid>
    <comment_count>5</comment_count>
      <attachid>125987</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-02-07 20:52:16 -0800</bug_when>
    <thetext>Comment on attachment 125987
Patch

Attachment 125987 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11453233</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552572</commentid>
    <comment_count>6</comment_count>
      <attachid>125987</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-08 15:54:17 -0800</bug_when>
    <thetext>Comment on attachment 125987
Patch

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

&gt; Source/JavaScriptCore/wtf/HashTraits.h:118
&gt;          static std::nullptr_t emptyValue() { return nullptr; }

Should this use EmptyType?  (Are there other places which should?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553625</commentid>
    <comment_count>7</comment_count>
      <attachid>126408</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-09 17:09:43 -0800</bug_when>
    <thetext>Created attachment 126408
EWS build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553636</commentid>
    <comment_count>8</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-09 17:24:48 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 125987 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=125987&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/HashTraits.h:118
&gt; &gt;          static std::nullptr_t emptyValue() { return nullptr; }
&gt; 
&gt; Should this use EmptyType?  (Are there other places which should?)

For consistency, I updated that one, but I think all the other cases should still be correct.  At the end of the day, emptyValue() will always get converted to TraitType.  The only difference EmptyType makes is what conversions that value goes through to get there.

This is really a case for C++11&apos;s decltype, where EmptyType wouldn&apos;t be needed at all, but what can you do...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553637</commentid>
    <comment_count>9</comment_count>
      <attachid>126408</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-09 17:26:33 -0800</bug_when>
    <thetext>Comment on attachment 126408
EWS build fixes

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

Looks good.

&gt; Source/JavaScriptCore/runtime/StructureTransitionTable.h:58
&gt; +    typedef WTF::PairHashTraits&lt;WTF::HashTraits&lt;RefPtr&lt;StringImpl&gt; &gt;, WTF::GenericHashTraits&lt;unsigned&gt; &gt; HashTraits;

No need for the WTF:: prefix on PairHashTraits and HashTraits here. Not sure why that was done in the old code.

The second half can be HashTraits&lt;unsigned&gt;, not GenericHashTraits&lt;unsigned&gt;, since these are identical types.

Once we do those two things we get this:

    typedef PairHashTraits&lt;HashTraits&lt;RefPtr&lt;StringImpl&gt; &gt;, HashTraits&lt;unsigned&gt; &gt; HashTraits.

And if we look at that, it becomes clear that these are the default hash traits you’d get for this type; there is no specialization here! Because of that, there is need for this HashTraits typedef at all. We can just leave out the HashTraits argument in the typedef for the TransitionMap type and the default template argument will do the right thing.

&gt; Source/JavaScriptCore/wtf/HashTraits.h:60
&gt; +        typedef T EmptyType;

I’d be tempted to use a longer name, EmptyValueType, here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553640</commentid>
    <comment_count>10</comment_count>
      <attachid>125987</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-09 17:29:03 -0800</bug_when>
    <thetext>Comment on attachment 125987
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/wtf/HashTraits.h:118
&gt;&gt;&gt;          static std::nullptr_t emptyValue() { return nullptr; }
&gt;&gt; 
&gt;&gt; Should this use EmptyType?  (Are there other places which should?)
&gt; 
&gt; For consistency, I updated that one, but I think all the other cases should still be correct.  At the end of the day, emptyValue() will always get converted to TraitType.  The only difference EmptyType makes is what conversions that value goes through to get there.
&gt; 
&gt; This is really a case for C++11&apos;s decltype, where EmptyType wouldn&apos;t be needed at all, but what can you do...

When there are two different ways to state the type, I don’t think there’s a strong reason to use the name EmptyType over the other name for the same type, std::nullptr_t. Either is fine.

You’ll note in other similar code that we tend to use the named type only when the type is complicated. So we use PeekType for return values below but we do not use PassOutType.

Wholeheartedly agreed that this class will become much more elegant once we can use C++11 features, but having that as a requirement for compiling TOT is probably a few years ahead for the WebKit project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553692</commentid>
    <comment_count>11</comment_count>
      <attachid>126422</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-09 18:17:32 -0800</bug_when>
    <thetext>Created attachment 126422
Address review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553693</commentid>
    <comment_count>12</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-09 18:18:52 -0800</bug_when>
    <thetext>(In reply to comment #9)

&gt; And if we look at that, it becomes clear that these are the default hash traits you’d get for this type; there is no specialization here! Because of that, there is need for this HashTraits typedef at all.

&gt; We can just leave out the HashTraits argument in the typedef for the TransitionMap type and the default template argument will do the right thing.

Oh, excellent thought.  Done.

&gt; &gt; Source/JavaScriptCore/wtf/HashTraits.h:60
&gt; &gt; +        typedef T EmptyType;
&gt; 
&gt; I’d be tempted to use a longer name, EmptyValueType, here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554248</commentid>
    <comment_count>13</comment_count>
      <attachid>126422</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-10 11:36:55 -0800</bug_when>
    <thetext>Comment on attachment 126422
Address review comments

Clearing flags on attachment: 126422

Committed r107421: &lt;http://trac.webkit.org/changeset/107421&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554249</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-10 11:37:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125987</attachid>
            <date>2012-02-07 19:33:01 -0800</date>
            <delta_ts>2012-02-09 17:29:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78071-20120207193300.patch</filename>
            <type>text/plain</type>
            <size>2790</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MTg3MmI3NWRjYmQ3YzcwZGQ5YWU5ZmUzYzllYmI0YjY0ZjYzZjgwLi43N2ZiNzg0OTc3MzVhYTg5
Y2FjNWUzNTkzYmFlZmQ3NzU2OTNhYmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxMi0wMi0wNyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBpbXBsaWNpdCBjb3B5IGNvbnN0cnVjdG9yIHVzYWdlIGluIEhh
c2hNYXBzIHdpdGggT3duUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03ODA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZSB0aGUgcmV0dXJuIHR5cGUgb2YgZW1wdHlWYWx1ZSgpIHRvIGJlIHRo
ZSBhY3R1YWwgdHlwZSByZXR1cm5lZAorICAgICAgICByYXRoZXIgdGhhbiB0aGUgdHJhaXQgdHlw
ZSB0byBhdm9pZCBhbiBpbXBsaWNpdCBnZW5lcmF0aW9uIG9mIHRoZQorICAgICAgICBPd25QdHIg
Y29weSBjb25zdHJ1Y3Rvci4gVGhpcyBoYXBwZW5zIGZvciBoYXNoIHRyYWl0cyB3aGVyZSB0aGUg
ZW1wdHkKKyAgICAgICAgdmFsdWUgaXMgbm90IHplcm8gYW5kIGVhY2ggaGFzaCBidWNrZXQgbmVl
ZHMgdG8gYmUgaW5pdGlhbGl6ZWQKKyAgICAgICAgd2l0aCB0aGUgZW1wdHlWYWx1ZSgpLgorCisg
ICAgICAgIFRlc3Q6IHBhdGNoIGZyb20gYnVnIDc0MTU0IGNvbXBpbGVzIG9uIENsYW5nIHdpdGgg
dGhpcyBwYXRjaAorCisgICAgICAgICogd3RmL0hhc2hUcmFpdHMuaDoKKyAgICAgICAgKEdlbmVy
aWNIYXNoVHJhaXRzKToKKyAgICAgICAgKFBhaXJIYXNoVHJhaXRzKToKKyAgICAgICAgKFdURjo6
UGFpckhhc2hUcmFpdHM6OmVtcHR5VmFsdWUpOgorCiAyMDEyLTAyLTA2ICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBDTUNsb2NrIGFzIGEgdGltaW5nIHNv
dXJjZSBmb3IgUGxhdGZvcm1DbG9jayB3aGVyZSBhdmFpbGFibGUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hUcmFpdHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvSGFzaFRyYWl0cy5oCmluZGV4IDEyZTZiMDY5OTQ3YmE2YmUwN2FmMGFlMjc1NzZkYmEy
NTEwNWJkNjcuLjc0YzAzZmExZmVmOWExNWUxYWE4YWFmYjA4NmRlNWRjOTEzMGY5MTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFRyYWl0cy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFRyYWl0cy5oCkBAIC01Nyw2ICs1Nyw3IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEdlbmVyaWNIYXNo
VHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHNCYXNlPElzSW50ZWdlcjxUPjo6dmFsdWUsIFQ+IHsK
ICAgICAgICAgdHlwZWRlZiBUIFRyYWl0VHlwZTsKKyAgICAgICAgdHlwZWRlZiBUIEVtcHR5VHlw
ZTsKIAogICAgICAgICBzdGF0aWMgVCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gVCgpOyB9CiAKQEAg
LTExMiw2ICsxMTMsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgUD4gc3RydWN0IEhhc2hUcmFpdHM8T3duUHRyPFA+ID4gOiBTaW1wbGVDbGFzc0hh
c2hUcmFpdHM8T3duUHRyPFA+ID4geworICAgICAgICB0eXBlZGVmIHN0ZDo6bnVsbHB0cl90IEVt
cHR5VHlwZTsKKwogICAgICAgICBzdGF0aWMgc3RkOjpudWxscHRyX3QgZW1wdHlWYWx1ZSgpIHsg
cmV0dXJuIG51bGxwdHI7IH0KIAogICAgICAgICB0eXBlZGVmIFBhc3NPd25QdHI8UD4gUGFzc0lu
VHlwZTsKQEAgLTE0NCw5ICsxNDcsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHR5cGVk
ZWYgRmlyc3RUcmFpdHNBcmcgRmlyc3RUcmFpdHM7CiAgICAgICAgIHR5cGVkZWYgU2Vjb25kVHJh
aXRzQXJnIFNlY29uZFRyYWl0czsKICAgICAgICAgdHlwZWRlZiBwYWlyPHR5cGVuYW1lIEZpcnN0
VHJhaXRzOjpUcmFpdFR5cGUsIHR5cGVuYW1lIFNlY29uZFRyYWl0czo6VHJhaXRUeXBlPiBUcmFp
dFR5cGU7CisgICAgICAgIHR5cGVkZWYgcGFpcjx0eXBlbmFtZSBGaXJzdFRyYWl0czo6RW1wdHlU
eXBlLCB0eXBlbmFtZSBTZWNvbmRUcmFpdHM6OkVtcHR5VHlwZT4gRW1wdHlUeXBlOwogCiAgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBGaXJzdFRyYWl0czo6ZW1w
dHlWYWx1ZUlzWmVybyAmJiBTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm87Ci0gICAgICAg
IHN0YXRpYyBUcmFpdFR5cGUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIG1ha2VfcGFpcihGaXJzdFRy
YWl0czo6ZW1wdHlWYWx1ZSgpLCBTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWUoKSk7IH0KKyAgICAg
ICAgc3RhdGljIEVtcHR5VHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gbWFrZV9wYWlyKEZpcnN0
VHJhaXRzOjplbXB0eVZhbHVlKCksIFNlY29uZFRyYWl0czo6ZW1wdHlWYWx1ZSgpKTsgfQogCiAg
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBGaXJzdFRyYWl0czo6
bmVlZHNEZXN0cnVjdGlvbiB8fCBTZWNvbmRUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb247CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126408</attachid>
            <date>2012-02-09 17:09:43 -0800</date>
            <delta_ts>2012-02-09 18:17:29 -0800</delta_ts>
            <desc>EWS build fixes</desc>
            <filename>bug-78071-20120209170942.patch</filename>
            <type>text/plain</type>
            <size>4757</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmVmMjM2MjgwZTdkMDE5MGJmZjdlMjhlZmU5NjlmNDkyMmVlNzc5Li5hNmQ0ZTgyYzRlZGRlZjM3
MWM0N2UyMjkyYzM4ZWM0MDg3OGJjNGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOCBAQAorMjAxMi0wMi0wOSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBpbXBsaWNpdCBjb3B5IGNvbnN0cnVjdG9yIHVzYWdlIGluIEhh
c2hNYXBzIHdpdGggT3duUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03ODA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZSB0aGUgcmV0dXJuIHR5cGUgb2YgZW1wdHlWYWx1ZSgpIGluIFBhaXJI
YXNoVHJhaXRzIHRvIGJlIHRoZQorICAgICAgICBhY3R1YWwgdHlwZSByZXR1cm5lZCByYXRoZXIg
dGhhbiB0aGUgdHJhaXQgdHlwZSB0byBhdm9pZCBhbiBpbXBsaWNpdAorICAgICAgICBnZW5lcmF0
aW9uIG9mIHRoZSBPd25QdHIgY29weSBjb25zdHJ1Y3Rvci4gVGhpcyBoYXBwZW5zIGZvciBoYXNo
CisgICAgICAgIHRyYWl0cyBpbnZvbHZpbmcgT3duUHRyIHdoZXJlIHRoZSBlbXB0eSB2YWx1ZSBp
cyBub3QgemVybyBhbmQgZWFjaAorICAgICAgICBoYXNoIGJ1Y2tldCBuZWVkcyB0byBiZSBpbml0
aWFsaXplZCB3aXRoIGVtcHR5VmFsdWUoKS4KKworICAgICAgICBBbHNvLCB1cGRhdGUgU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlIHRvIHVzZSBQYWlySGFzaFRyYWl0cyByYXRoZXIKKyAgICAgICAg
dGhhbiByb2xsaW5nIGl0cyBvd24sIGluIG9yZGVyIHRvIHVwZGF0ZSBpdCB0byBoYW5kbGUgRW1w
dHlUeXBlLgorCisgICAgICAgIFRlc3Q6IHBhdGNoIGZyb20gYnVnIDc0MTU0IGNvbXBpbGVzIG9u
IENsYW5nIHdpdGggdGhpcyBwYXRjaAorCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaDoKKyAgICAgICAgKFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZSk6CisgICAg
ICAgICogd3RmL0hhc2hUcmFpdHMuaDoKKyAgICAgICAgKEdlbmVyaWNIYXNoVHJhaXRzKToKKyAg
ICAgICAgKFBhaXJIYXNoVHJhaXRzKToKKyAgICAgICAgKFdURjo6UGFpckhhc2hUcmFpdHM6OmVt
cHR5VmFsdWUpOgorCiAyMDEyLTAyLTA4ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+
CiAKICAgICAgICAgV2hvb3BzLCBmaXggdGhlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAppbmRleCA1
MzYyMzdhMzNhZjk4N2Q4MTQxOGI4OTc5ZTk5ZDYyMmRlM2FiMzgzLi5hNWExOTQ4OTQ4Y2JhNTYw
MjNkZmYxMGJhZWM3YjZhMzc2M2M0ZGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaApAQCAtNTUsMjEgKzU1
LDcgQEAgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlIHsKICAgICAgICAgc3RhdGljIGNv
bnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogICAgIH07CiAK
LSAgICBzdHJ1Y3QgSGFzaFRyYWl0cyB7Ci0gICAgICAgIHR5cGVkZWYgV1RGOjpIYXNoVHJhaXRz
PFJlZlB0cjxTdHJpbmdJbXBsPiA+IEZpcnN0VHJhaXRzOwotICAgICAgICB0eXBlZGVmIFdURjo6
R2VuZXJpY0hhc2hUcmFpdHM8dW5zaWduZWQ+IFNlY29uZFRyYWl0czsKLSAgICAgICAgdHlwZWRl
ZiBzdGQ6OnBhaXI8Rmlyc3RUcmFpdHM6OlRyYWl0VHlwZSwgU2Vjb25kVHJhaXRzOjpUcmFpdFR5
cGUgPiBUcmFpdFR5cGU7Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlz
WmVybyA9IEZpcnN0VHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvICYmIFNlY29uZFRyYWl0czo6ZW1w
dHlWYWx1ZUlzWmVybzsKLSAgICAgICAgc3RhdGljIFRyYWl0VHlwZSBlbXB0eVZhbHVlKCkgeyBy
ZXR1cm4gc3RkOjptYWtlX3BhaXIoRmlyc3RUcmFpdHM6OmVtcHR5VmFsdWUoKSwgU2Vjb25kVHJh
aXRzOjplbXB0eVZhbHVlKCkpOyB9Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNE
ZXN0cnVjdGlvbiA9IEZpcnN0VHJhaXRzOjpuZWVkc0Rlc3RydWN0aW9uIHx8IFNlY29uZFRyYWl0
czo6bmVlZHNEZXN0cnVjdGlvbjsKLQotICAgICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1U
YWJsZVNpemUgPSBGaXJzdFRyYWl0czo6bWluaW11bVRhYmxlU2l6ZTsKLQotICAgICAgICBzdGF0
aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoVHJhaXRUeXBlJiBzbG90KSB7IEZpcnN0VHJh
aXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUoc2xvdC5maXJzdCk7IH0KLSAgICAgICAgc3RhdGlj
IGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgVHJhaXRUeXBlJiB2YWx1ZSkgeyByZXR1cm4gRmly
c3RUcmFpdHM6OmlzRGVsZXRlZFZhbHVlKHZhbHVlLmZpcnN0KTsgfQotICAgIH07CisgICAgdHlw
ZWRlZiBXVEY6OlBhaXJIYXNoVHJhaXRzPFdURjo6SGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1w
bD4gPiwgV1RGOjpHZW5lcmljSGFzaFRyYWl0czx1bnNpZ25lZD4gPiBIYXNoVHJhaXRzOwogCiAg
ICAgc3RydWN0IFdlYWtHQ01hcEZpbmFsaXplckNhbGxiYWNrIHsKICAgICAgICAgc3RhdGljIHZv
aWQqIGZpbmFsaXplckNvbnRleHRGb3IoSGFzaDo6S2V5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9IYXNoVHJhaXRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hUcmFpdHMuaAppbmRleCAxMmU2YjA2OTk0N2JhNmJlMDdhZjBhZTI3NTc2ZGJhMjUxMDVi
ZDY3Li45MWViYmFlNTZjMTAzMjIzMmZkN2IxYmU0MzI3YWU3MGY4MjRiMjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hUcmFpdHMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hUcmFpdHMuaApAQCAtNTcsNiArNTcsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBHZW5lcmljSGFzaFRyYWl0
cyA6IEdlbmVyaWNIYXNoVHJhaXRzQmFzZTxJc0ludGVnZXI8VD46OnZhbHVlLCBUPiB7CiAgICAg
ICAgIHR5cGVkZWYgVCBUcmFpdFR5cGU7CisgICAgICAgIHR5cGVkZWYgVCBFbXB0eVR5cGU7CiAK
ICAgICAgICAgc3RhdGljIFQgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIFQoKTsgfQogCkBAIC0xMTIs
NyArMTEzLDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPE93blB0cjxQPiA+IDogU2ltcGxlQ2xhc3NIYXNoVHJh
aXRzPE93blB0cjxQPiA+IHsKLSAgICAgICAgc3RhdGljIHN0ZDo6bnVsbHB0cl90IGVtcHR5VmFs
dWUoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgICAgIHR5cGVkZWYgc3RkOjpudWxscHRyX3Qg
RW1wdHlUeXBlOworCisgICAgICAgIHN0YXRpYyBFbXB0eVR5cGUgZW1wdHlWYWx1ZSgpIHsgcmV0
dXJuIG51bGxwdHI7IH0KIAogICAgICAgICB0eXBlZGVmIFBhc3NPd25QdHI8UD4gUGFzc0luVHlw
ZTsKICAgICAgICAgc3RhdGljIHZvaWQgc3RvcmUoUGFzc093blB0cjxQPiB2YWx1ZSwgT3duUHRy
PFA+JiBzdG9yYWdlKSB7IHN0b3JhZ2UgPSB2YWx1ZTsgfQpAQCAtMTQ0LDkgKzE0NywxMCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICAgICAgdHlwZWRlZiBGaXJzdFRyYWl0c0FyZyBGaXJzdFRyYWl0
czsKICAgICAgICAgdHlwZWRlZiBTZWNvbmRUcmFpdHNBcmcgU2Vjb25kVHJhaXRzOwogICAgICAg
ICB0eXBlZGVmIHBhaXI8dHlwZW5hbWUgRmlyc3RUcmFpdHM6OlRyYWl0VHlwZSwgdHlwZW5hbWUg
U2Vjb25kVHJhaXRzOjpUcmFpdFR5cGU+IFRyYWl0VHlwZTsKKyAgICAgICAgdHlwZWRlZiBwYWly
PHR5cGVuYW1lIEZpcnN0VHJhaXRzOjpFbXB0eVR5cGUsIHR5cGVuYW1lIFNlY29uZFRyYWl0czo6
RW1wdHlUeXBlPiBFbXB0eVR5cGU7CiAKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlW
YWx1ZUlzWmVybyA9IEZpcnN0VHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvICYmIFNlY29uZFRyYWl0
czo6ZW1wdHlWYWx1ZUlzWmVybzsKLSAgICAgICAgc3RhdGljIFRyYWl0VHlwZSBlbXB0eVZhbHVl
KCkgeyByZXR1cm4gbWFrZV9wYWlyKEZpcnN0VHJhaXRzOjplbXB0eVZhbHVlKCksIFNlY29uZFRy
YWl0czo6ZW1wdHlWYWx1ZSgpKTsgfQorICAgICAgICBzdGF0aWMgRW1wdHlUeXBlIGVtcHR5VmFs
dWUoKSB7IHJldHVybiBtYWtlX3BhaXIoRmlyc3RUcmFpdHM6OmVtcHR5VmFsdWUoKSwgU2Vjb25k
VHJhaXRzOjplbXB0eVZhbHVlKCkpOyB9CiAKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgbmVl
ZHNEZXN0cnVjdGlvbiA9IEZpcnN0VHJhaXRzOjpuZWVkc0Rlc3RydWN0aW9uIHx8IFNlY29uZFRy
YWl0czo6bmVlZHNEZXN0cnVjdGlvbjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126422</attachid>
            <date>2012-02-09 18:17:32 -0800</date>
            <delta_ts>2012-02-10 11:36:55 -0800</delta_ts>
            <desc>Address review comments</desc>
            <filename>bug-78071-20120209181731.patch</filename>
            <type>text/plain</type>
            <size>5232</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmVmMjM2MjgwZTdkMDE5MGJmZjdlMjhlZmU5NjlmNDkyMmVlNzc5Li42MDRmZTFhZTM5MzA1YWEx
OTBkNTM5NmQ0NmUzNmNmYWUyMWE1YjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxMi0wMi0wOSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBpbXBsaWNpdCBjb3B5IGNvbnN0cnVjdG9yIHVzYWdlIGluIEhh
c2hNYXBzIHdpdGggT3duUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03ODA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZSB0aGUgcmV0dXJuIHR5cGUgb2YgZW1wdHlWYWx1ZSgpIGluIFBhaXJI
YXNoVHJhaXRzIHRvIGJlIHRoZQorICAgICAgICBhY3R1YWwgdHlwZSByZXR1cm5lZCByYXRoZXIg
dGhhbiB0aGUgdHJhaXQgdHlwZSB0byBhdm9pZCBhbiBpbXBsaWNpdAorICAgICAgICBnZW5lcmF0
aW9uIG9mIHRoZSBPd25QdHIgY29weSBjb25zdHJ1Y3Rvci4gVGhpcyBoYXBwZW5zIGZvciBoYXNo
CisgICAgICAgIHRyYWl0cyBpbnZvbHZpbmcgT3duUHRyIHdoZXJlIHRoZSBlbXB0eSB2YWx1ZSBp
cyBub3QgemVybyBhbmQgZWFjaAorICAgICAgICBoYXNoIGJ1Y2tldCBuZWVkcyB0byBiZSBpbml0
aWFsaXplZCB3aXRoIGVtcHR5VmFsdWUoKS4KKworICAgICAgICBBbHNvLCB1cGRhdGUgU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlIHRvIHVzZSBkZWZhdWx0IGhhc2ggdHJhaXRzCisgICAgICAgIHJh
dGhlciB0aGFuIHJvbGxpbmcgaXRzIG93biwgaW4gb3JkZXIgdG8gdXBkYXRlIGl0IHRvIGhhbmRs
ZQorICAgICAgICBFbXB0eVZhbHVlVHlwZS4KKworICAgICAgICBUZXN0OiBwYXRjaCBmcm9tIGJ1
ZyA3NDE1NCBjb21waWxlcyBvbiBDbGFuZyB3aXRoIHRoaXMgcGF0Y2gKKworICAgICAgICAqIHJ1
bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmg6CisgICAgICAgIChTdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUpOgorICAgICAgICAqIHd0Zi9IYXNoVHJhaXRzLmg6CisgICAgICAgIChHZW5l
cmljSGFzaFRyYWl0cyk6CisgICAgICAgIChQYWlySGFzaFRyYWl0cyk6CisgICAgICAgIChXVEY6
OlBhaXJIYXNoVHJhaXRzOjplbXB0eVZhbHVlKToKKwogMjAxMi0wMi0wOCAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdob29wcywgZml4IHRoZSBidWlsZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRp
b25UYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmgKaW5kZXggNTM2MjM3YTMzYWY5ODdkODE0MThiODk3OWU5OWQ2MjJkZTNhYjM4
My4uNTE3OTkyNDcwM2U2OGRiODIyMmI5YmUyZjZkZmM3MmY3OWU0YTgzNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRh
YmxlLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJVU3RyaW5nLmgiCiAjaW5jbHVkZSAi
V2Vha0dDTWFwLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKQEAgLTU1LDIyICs1NCw2IEBAIGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRpb25U
YWJsZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JE
ZWxldGVkID0gdHJ1ZTsKICAgICB9OwogCi0gICAgc3RydWN0IEhhc2hUcmFpdHMgewotICAgICAg
ICB0eXBlZGVmIFdURjo6SGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiBGaXJzdFRyYWl0
czsKLSAgICAgICAgdHlwZWRlZiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPHVuc2lnbmVkPiBTZWNv
bmRUcmFpdHM7Ci0gICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEZpcnN0VHJhaXRzOjpUcmFpdFR5
cGUsIFNlY29uZFRyYWl0czo6VHJhaXRUeXBlID4gVHJhaXRUeXBlOwotCi0gICAgICAgIHN0YXRp
YyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBGaXJzdFRyYWl0czo6ZW1wdHlWYWx1ZUlz
WmVybyAmJiBTZWNvbmRUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm87Ci0gICAgICAgIHN0YXRpYyBU
cmFpdFR5cGUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKEZpcnN0VHJhaXRz
OjplbXB0eVZhbHVlKCksIFNlY29uZFRyYWl0czo6ZW1wdHlWYWx1ZSgpKTsgfQotCi0gICAgICAg
IHN0YXRpYyBjb25zdCBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBGaXJzdFRyYWl0czo6bmVlZHNE
ZXN0cnVjdGlvbiB8fCBTZWNvbmRUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb247Ci0KLSAgICAgICAg
c3RhdGljIGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gRmlyc3RUcmFpdHM6Om1pbmltdW1U
YWJsZVNpemU7Ci0KLSAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFRy
YWl0VHlwZSYgc2xvdCkgeyBGaXJzdFRyYWl0czo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNsb3Qu
Zmlyc3QpOyB9Ci0gICAgICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFRyYWl0
VHlwZSYgdmFsdWUpIHsgcmV0dXJuIEZpcnN0VHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSh2YWx1ZS5m
aXJzdCk7IH0KLSAgICB9OwotCiAgICAgc3RydWN0IFdlYWtHQ01hcEZpbmFsaXplckNhbGxiYWNr
IHsKICAgICAgICAgc3RhdGljIHZvaWQqIGZpbmFsaXplckNvbnRleHRGb3IoSGFzaDo6S2V5KQog
ICAgICAgICB7CkBAIC04Myw3ICs2Niw3IEBAIGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZSB7CiAgICAgICAgIH0KICAgICB9OwogCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8SGFzaDo6S2V5
LCBTdHJ1Y3R1cmUsIFdlYWtHQ01hcEZpbmFsaXplckNhbGxiYWNrLCBIYXNoLCBIYXNoVHJhaXRz
PiBUcmFuc2l0aW9uTWFwOworICAgIHR5cGVkZWYgV2Vha0dDTWFwPEhhc2g6OktleSwgU3RydWN0
dXJlLCBXZWFrR0NNYXBGaW5hbGl6ZXJDYWxsYmFjaywgSGFzaD4gVHJhbnNpdGlvbk1hcDsKIAog
ICAgIHN0YXRpYyBIYXNoOjpLZXkga2V5Rm9yV2Vha0dDTWFwRmluYWxpemVyKHZvaWQqIGNvbnRl
eHQsIFN0cnVjdHVyZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hUcmFpdHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFRyYWl0cy5oCmlu
ZGV4IDEyZTZiMDY5OTQ3YmE2YmUwN2FmMGFlMjc1NzZkYmEyNTEwNWJkNjcuLmUzNzgzZWQ0MjY2
OGEwNzJjOTE2YzIxNWVjNTA4ZjM5NjA1YTg0M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvSGFzaFRyYWl0cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
SGFzaFRyYWl0cy5oCkBAIC01Nyw2ICs1Nyw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEdlbmVyaWNIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hU
cmFpdHNCYXNlPElzSW50ZWdlcjxUPjo6dmFsdWUsIFQ+IHsKICAgICAgICAgdHlwZWRlZiBUIFRy
YWl0VHlwZTsKKyAgICAgICAgdHlwZWRlZiBUIEVtcHR5VmFsdWVUeXBlOwogCiAgICAgICAgIHN0
YXRpYyBUIGVtcHR5VmFsdWUoKSB7IHJldHVybiBUKCk7IH0KIApAQCAtMTEyLDcgKzExMyw5IEBA
IG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1
Y3QgSGFzaFRyYWl0czxPd25QdHI8UD4gPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxPd25QdHI8
UD4gPiB7Ci0gICAgICAgIHN0YXRpYyBzdGQ6Om51bGxwdHJfdCBlbXB0eVZhbHVlKCkgeyByZXR1
cm4gbnVsbHB0cjsgfQorICAgICAgICB0eXBlZGVmIHN0ZDo6bnVsbHB0cl90IEVtcHR5VmFsdWVU
eXBlOworCisgICAgICAgIHN0YXRpYyBFbXB0eVZhbHVlVHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1
cm4gbnVsbHB0cjsgfQogCiAgICAgICAgIHR5cGVkZWYgUGFzc093blB0cjxQPiBQYXNzSW5UeXBl
OwogICAgICAgICBzdGF0aWMgdm9pZCBzdG9yZShQYXNzT3duUHRyPFA+IHZhbHVlLCBPd25QdHI8
UD4mIHN0b3JhZ2UpIHsgc3RvcmFnZSA9IHZhbHVlOyB9CkBAIC0xNDQsOSArMTQ3LDEwIEBAIG5h
bWVzcGFjZSBXVEYgewogICAgICAgICB0eXBlZGVmIEZpcnN0VHJhaXRzQXJnIEZpcnN0VHJhaXRz
OwogICAgICAgICB0eXBlZGVmIFNlY29uZFRyYWl0c0FyZyBTZWNvbmRUcmFpdHM7CiAgICAgICAg
IHR5cGVkZWYgcGFpcjx0eXBlbmFtZSBGaXJzdFRyYWl0czo6VHJhaXRUeXBlLCB0eXBlbmFtZSBT
ZWNvbmRUcmFpdHM6OlRyYWl0VHlwZT4gVHJhaXRUeXBlOworICAgICAgICB0eXBlZGVmIHBhaXI8
dHlwZW5hbWUgRmlyc3RUcmFpdHM6OkVtcHR5VmFsdWVUeXBlLCB0eXBlbmFtZSBTZWNvbmRUcmFp
dHM6OkVtcHR5VmFsdWVUeXBlPiBFbXB0eVZhbHVlVHlwZTsKIAogICAgICAgICBzdGF0aWMgY29u
c3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gRmlyc3RUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm8g
JiYgU2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlSXNaZXJvOwotICAgICAgICBzdGF0aWMgVHJhaXRU
eXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBtYWtlX3BhaXIoRmlyc3RUcmFpdHM6OmVtcHR5VmFs
dWUoKSwgU2Vjb25kVHJhaXRzOjplbXB0eVZhbHVlKCkpOyB9CisgICAgICAgIHN0YXRpYyBFbXB0
eVZhbHVlVHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gbWFrZV9wYWlyKEZpcnN0VHJhaXRzOjpl
bXB0eVZhbHVlKCksIFNlY29uZFRyYWl0czo6ZW1wdHlWYWx1ZSgpKTsgfQogCiAgICAgICAgIHN0
YXRpYyBjb25zdCBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSBGaXJzdFRyYWl0czo6bmVlZHNEZXN0
cnVjdGlvbiB8fCBTZWNvbmRUcmFpdHM6Om5lZWRzRGVzdHJ1Y3Rpb247CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>