<?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>97703</bug_id>
          
          <creation_ts>2012-09-26 11:01:45 -0700</creation_ts>
          <short_desc>[V8] Make v8NPObjectMap per Context</short_desc>
          <delta_ts>2012-09-28 12:38:34 -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="Fady Samuel">fsamuel</reporter>
          <assigned_to name="Fady Samuel">fsamuel</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728750</commentid>
    <comment_count>0</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-26 11:01:45 -0700</bug_when>
    <thetext>[Chromium] Cache hash of global object in V8NPObject so that it can be cleared from staticNPObjectMap after the global object has been disposed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728755</commentid>
    <comment_count>1</comment_count>
      <attachid>165835</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-26 11:08:30 -0700</bug_when>
    <thetext>Created attachment 165835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728773</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-26 11:19:07 -0700</bug_when>
    <thetext>Can we write a test for this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728808</commentid>
    <comment_count>3</comment_count>
      <attachid>165841</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-26 11:45:18 -0700</bug_when>
    <thetext>Created attachment 165841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728809</commentid>
    <comment_count>4</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-26 11:46:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Can we write a test for this issue?

I will try. I updated the Changelog description according to a discussion with wez@.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728811</commentid>
    <comment_count>5</comment_count>
      <attachid>165842</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-26 11:47:17 -0700</bug_when>
    <thetext>Created attachment 165842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729807</commentid>
    <comment_count>6</comment_count>
      <attachid>166051</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-27 13:24:21 -0700</bug_when>
    <thetext>Created attachment 166051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729852</commentid>
    <comment_count>7</comment_count>
      <attachid>166051</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-27 14:16:21 -0700</bug_when>
    <thetext>Comment on attachment 166051
Patch

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

&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:77
&gt; +    if (!v8NpObject-&gt;v8Object-&gt;CreationContext().IsEmpty()) {

How can the creation context be empty?  That doesn&apos;t make any sense.  Every object must have been created in a context.

&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:80
&gt; +            if (int v8ObjectHash = v8NpObject-&gt;v8Object-&gt;GetIdentityHash()) {

Can this

&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:93
&gt; +                } else
&gt; +                    ASSERT_NOT_REACHED();

Rather than structuring this as an if-then-else NOT REACHED, we should just ASSERT the condition in the if-block and continue.

&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:96
&gt; +                ASSERT(!v8::Context::InContext());
&gt; +                v8NPObjectMap-&gt;clear();

Can this case occur now?  I would expect that the perContextData would be gone before the hashes start turning into zeros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729853</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-27 14:17:03 -0700</bug_when>
    <thetext>Would you be willing to write a chromium-side test for this issue?  Also, I would run this patch through the Chromium try servers to see if that uncovers any issues with this approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730682</commentid>
    <comment_count>9</comment_count>
      <attachid>166258</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-28 08:32:29 -0700</bug_when>
    <thetext>Created attachment 166258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730683</commentid>
    <comment_count>10</comment_count>
      <attachid>166051</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-28 08:33:04 -0700</bug_when>
    <thetext>Comment on attachment 166051
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:77
&gt;&gt; +    if (!v8NpObject-&gt;v8Object-&gt;CreationContext().IsEmpty()) {
&gt; 
&gt; How can the creation context be empty?  That doesn&apos;t make any sense.  Every object must have been created in a context.

Changing it to an ASSERT instead.

&gt;&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:80
&gt;&gt; +            if (int v8ObjectHash = v8NpObject-&gt;v8Object-&gt;GetIdentityHash()) {
&gt; 
&gt; Can this

I&apos;ve added an ASSERT(v8ObjectHash) instead.

&gt;&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:93
&gt;&gt; +                    ASSERT_NOT_REACHED();
&gt; 
&gt; Rather than structuring this as an if-then-else NOT REACHED, we should just ASSERT the condition in the if-block and continue.

Done.

&gt;&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:96
&gt;&gt; +                v8NPObjectMap-&gt;clear();
&gt; 
&gt; Can this case occur now?  I would expect that the perContextData would be gone before the hashes start turning into zeros.

Yup, added an ASSERT that the hash is non-zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730723</commentid>
    <comment_count>11</comment_count>
      <attachid>166258</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-28 09:09:37 -0700</bug_when>
    <thetext>Comment on attachment 166258
Patch

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

This looks great.  I don&apos;t have a complete enough understanding of how plugins work to know if this is going to work in all cases, but I think we should give it a try.

&gt; Source/WebCore/bindings/v8/NPV8Object.cpp:79
&gt; +        V8NPObjectMap* v8NPObjectMap = perContextData-&gt;getV8NPObjectMap();

getV8NPObjectMap -&gt; v8NPObjectMap

We tend to avoid the &quot;get&quot; prefix in names because it doesn&apos;t really mean anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730837</commentid>
    <comment_count>12</comment_count>
      <attachid>166285</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-09-28 11:34:48 -0700</bug_when>
    <thetext>Created attachment 166285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730898</commentid>
    <comment_count>13</comment_count>
      <attachid>166285</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 12:38:30 -0700</bug_when>
    <thetext>Comment on attachment 166285
Patch

Clearing flags on attachment: 166285

Committed r129933: &lt;http://trac.webkit.org/changeset/129933&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730899</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 12:38:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165835</attachid>
            <date>2012-09-26 11:08:30 -0700</date>
            <delta_ts>2012-09-26 11:45:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97703-20120926140749.patch</filename>
            <type>text/plain</type>
            <size>4309</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE0MDc5ZTU2NDlmZmJk
YTA1OGQ5MGJlNDU3MjY4MDJiMjA4YTgwMi4uODIxMmFkNWI0YTgzODk1NjhjZDAxZTNmZWNmY2Rm
ZGFkMTk3OWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA5LTI2ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2Fj
aGUgaGFzaCBvZiBnbG9iYWwgb2JqZWN0IGluIFY4TlBPYmplY3Qgc28gdGhhdCBpdCBjYW4gYmUg
Y2xlYXJlZCBmcm9tIHN0YXRpY05QT2JqZWN0TWFwIGFmdGVyIHRoZSBnbG9iYWwgb2JqZWN0IGhh
cyBiZWVuIGRpc3Bvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NzcwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIElmIHR3byBwYWdlcyBpbiBhIHNpbmdsZSByZW5kZXIgcHJvY2VzcyBib3RoIGluc3Rh
bnRpYXRlIHBsdWdpbnMgdGhhdAorICAgICAgICBhY2Nlc3MgdGhlaXIgcmVzcGVjdGl2ZSB3aW5k
b3cgb2JqZWN0cywgYW5kIHRoZSBwYWdlIG9mIG9uZSB0YWIgaXMKKyAgICAgICAgcmVsb2FkZWQs
IHRoZW4gdGhlIHN0YXRpY05QT2JqZWN0TWFwIHdpbGwgYmUgY2xlYXJlZCBpbiBmcmVlVjhOUE9i
amVjdC4KKyAgICAgICAgVGhpcyBoYXBwZW5zIGJlY2F1c2UgdGhlIGhhc2ggb2YgdGhlIHY4T2Jq
ZWN0IGlzIHplcm8gYW5kIHNvIHdlIGFzc3VtZQorICAgICAgICBldmVyeXRoaW5nIGhhcyBiZWVu
IHRvcm4gZG93bi4gSG93ZXZlciwgdGhpcyBhc3N1bXB0aW9uIGRvZXMgbm90IGhvbGQKKyAgICAg
ICAgaWYgd2UgaGF2ZSBtdWx0aXBsZSBwYWdlcyBpbiBhIHNpbmdsZSBwcm9jZXNzLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0gYnkgY2FjaGluZyB0aGUgaGFzaCB2YWx1
ZSBvZiB0aGUgdjhPYmplY3QKKyAgICAgICAgaW4gdGhlIFY4TlBPYmplY3QuIGZyZWVWOE5QT2Jq
ZWN0IHdpbGwgbm93IHVzZSB0aGUgY2FjaGVkIGhhc2ggcmF0aGVyIHRoYW4KKyAgICAgICAgdGhl
IHY4T2JqZWN0J3MgaGFzaCB3aGljaCBiZWNvbWVzIHplcm8gb24gcmVsb2FkLgorCisKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZyZWVW
OE5QT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Om5wQ3JlYXRlVjhTY3JpcHRPYmplY3QpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L05QVjhPYmplY3QuaDoKKyAgICAgICAgKFY4TlBPYmplY3Qp
OgorCiAyMDEyLTA5LTIxICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtDYW52YXNdIHN1cHBvcnQgMkQgY2FudmFzIGluc3Ry
dW1lbnRhdGlvbiBmcm9tIHRoZSBpbnNwZWN0b3IgQysrIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKaW5kZXggZjg1Yzg0NTNlNzliNWEwYjc3ODI0MjU4OTU2
NWEwYTk1NjllNzRmYS4uNmRmYTllMGU3ZjQwMjJlMmU0M2UxMjg4NDlmNjUyZGU3NTAyODkxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKQEAgLTgyLDI0ICs4
MiwyMiBAQCBzdGF0aWMgTlBPYmplY3QqIGFsbG9jVjhOUE9iamVjdChOUFAsIE5QQ2xhc3MqKQog
c3RhdGljIHZvaWQgZnJlZVY4TlBPYmplY3QoTlBPYmplY3QqIG5wT2JqZWN0KQogewogICAgIFY4
TlBPYmplY3QqIHY4TnBPYmplY3QgPSByZWludGVycHJldF9jYXN0PFY4TlBPYmplY3QqPihucE9i
amVjdCk7Ci0gICAgaWYgKGludCB2OE9iamVjdEhhc2ggPSB2OE5wT2JqZWN0LT52OE9iamVjdC0+
R2V0SWRlbnRpdHlIYXNoKCkpIHsKLSAgICAgICAgVjhOUE9iamVjdE1hcDo6aXRlcmF0b3IgaXRl
ciA9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+ZmluZCh2OE9iamVjdEhhc2gpOwotICAgICAgICBp
ZiAoaXRlciAhPSBzdGF0aWNWOE5QT2JqZWN0TWFwKCktPmVuZCgpKSB7Ci0gICAgICAgICAgICBW
OE5QT2JqZWN0VmVjdG9yJiBvYmplY3RzID0gaXRlci0+c2Vjb25kOwotICAgICAgICAgICAgZm9y
IChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4KSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKG9iamVjdHMuYXQoaW5kZXgpID09IHY4TnBPYmplY3QpIHsKLSAg
ICAgICAgICAgICAgICAgICAgb2JqZWN0cy5yZW1vdmUoaW5kZXgpOwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9CisgICAgaW50IHY4T2JqZWN0SGFzaCA9IHY4
TnBPYmplY3QtPmhhc2g7CisgICAgQVNTRVJUKHY4T2JqZWN0SGFzaCk7CisKKyAgICBWOE5QT2Jq
ZWN0TWFwOjppdGVyYXRvciBpdGVyID0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5maW5kKHY4T2Jq
ZWN0SGFzaCk7CisgICAgaWYgKGl0ZXIgIT0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5lbmQoKSkg
eworICAgICAgICBWOE5QT2JqZWN0VmVjdG9yJiBvYmplY3RzID0gaXRlci0+c2Vjb25kOworICAg
ICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgb2JqZWN0cy5zaXplKCk7ICsraW5k
ZXgpIHsKKyAgICAgICAgICAgIGlmIChvYmplY3RzLmF0KGluZGV4KSA9PSB2OE5wT2JqZWN0KSB7
CisgICAgICAgICAgICAgICAgb2JqZWN0cy5yZW1vdmUoaW5kZXgpOworICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKG9iamVjdHMuaXNFbXB0eSgp
KQotICAgICAgICAgICAgICAgIHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+cmVtb3ZlKHY4T2JqZWN0
SGFzaCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKCF2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkp
OwotICAgICAgICBzdGF0aWNWOE5QT2JqZWN0TWFwKCktPmNsZWFyKCk7Ci0gICAgfQorICAgICAg
ICB9CisgICAgICAgIGlmIChvYmplY3RzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHN0YXRpY1Y4
TlBPYmplY3RNYXAoKS0+cmVtb3ZlKHY4T2JqZWN0SGFzaCk7CisgICAgfSBlbHNlCisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCiAgICAgdjhOcE9iamVjdC0+djhPYmplY3QuRGlzcG9z
ZSgpOwogICAgIGZyZWUodjhOcE9iamVjdCk7CkBAIC0xNzMsNiArMTcxLDcgQEAgTlBPYmplY3Qq
IG5wQ3JlYXRlVjhTY3JpcHRPYmplY3QoTlBQIG5wcCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBv
YmplY3QsIERPTVdpbmQKICAgICBWOE5QT2JqZWN0KiB2OG5wT2JqZWN0ID0gcmVpbnRlcnByZXRf
Y2FzdDxWOE5QT2JqZWN0Kj4oX05QTl9DcmVhdGVPYmplY3QobnBwLCAmVjhOUE9iamVjdENsYXNz
KSk7CiAgICAgdjhucE9iamVjdC0+djhPYmplY3QgPSB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
Pjo6TmV3KG9iamVjdCk7CiAgICAgdjhucE9iamVjdC0+cm9vdE9iamVjdCA9IHJvb3Q7CisgICAg
djhucE9iamVjdC0+aGFzaCA9IHY4T2JqZWN0SGFzaDsKIAogICAgIGl0ZXItPnNlY29uZC5hcHBl
bmQodjhucE9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L05QVjhPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuaApp
bmRleCBmNzJiYThiZDEwYWRiNWFiZjc0MTBhMGIyNmEyZTkwZjQ5NjIzMDcwLi45ZmE1MmJiNzhh
ZWNhMDQwNGY0YTZlNjBiMTFlZjMzMjBlZjdjODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvTlBWOE9iamVjdC5oCkBAIC01OSw2ICs1OSw3IEBAIGV4dGVybiBOUENsYXNzKiBucFNjcmlw
dE9iamVjdENsYXNzOwogc3RydWN0IFY4TlBPYmplY3QgewogICAgIE5QT2JqZWN0IG9iamVjdDsK
ICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB2OE9iamVjdDsKKyAgICBpbnQgaGFzaDsK
ICAgICBET01XaW5kb3cqIHJvb3RPYmplY3Q7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165841</attachid>
            <date>2012-09-26 11:45:18 -0700</date>
            <delta_ts>2012-09-26 11:47:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97703-20120926144437.patch</filename>
            <type>text/plain</type>
            <size>4462</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE0MDc5ZTU2NDlmZmJk
YTA1OGQ5MGJlNDU3MjY4MDJiMjA4YTgwMi4uMmM5MjdmZDhhNGJmZTU3MDZiYTAyZjExYWFkMGUx
ZTE3ZGMxMTQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTI2ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2Fj
aGUgaGFzaCBvZiBnbG9iYWwgb2JqZWN0IGluIFY4TlBPYmplY3Qgc28gdGhhdCBpdCBjYW4gYmUg
Y2xlYXJlZCBmcm9tIHN0YXRpY05QT2JqZWN0TWFwIGFmdGVyIHRoZSBnbG9iYWwgb2JqZWN0IGhh
cyBiZWVuIGRpc3Bvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NzcwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5QT2JqZWN0IHdyYXBwZXJzIGZvciBWOCBvYmplY3RzIGFyZSBzdG9yZWQgaW4gYSBn
bG9iYWwgbWFwLCBpbmRleGVkIGJ5CisgICAgICAgIHRoZSB1bmRlcmx5aW5nIFY4IG9iamVjdCdz
IGlkZW50aXR5IGhhc2gsIGFsbG93aW5nIHRoZSBzYW1lIHdyYXBwZXIgdG8KKyAgICAgICAgYmUg
cmV0dXJuZWQgY29uc2lzdGVudGx5IGZvciBhbnkgcGFydGljdWxhciBvYmplY3QuCisgICAgICAg
IAorICAgICAgICBEdXJpbmcgcGFnZSB0ZWFyLWRvd24gc29tZSBWOE5QT2JqZWN0cyBtYXkgb3V0
LWxpdmUgdGhlIHBhZ2UncyBWOAorICAgICAgICBjb250ZXh0LCB3aGljaCBjYXVzZXMgdGhlaXIg
aGFzaCB0byBiZSByZXNldCB0byB6ZXJvLiBUaGlzIGlzCisgICAgICAgIGN1cnJlbnRseSBoYW5k
bGVkIGJ5IGNsZWFyaW5nIHRoZSBzdGF0aWMgbWFwIHdoZW4gYSB6ZXJvIGhhc2ggaXMKKyAgICAg
ICAgb2JzZXJ2ZWQsIGxlYWRpbmcgdG8gcHJvYmxlbXMgaWYgbXVsdGlwbGUgcGFnZXMgc2hhcmUg
YSBzaW5nbGUgcHJvY2VzcywKKyAgICAgICAgc2luY2UgdGVhcmluZyBkb3duIG9uZSBjYW4gYnJl
YWsgdGhlIG1hcHBpbmdzIGZvciB0aGUgb3RoZXIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhl
cyB0aGUgcHJvYmxlbSBieSBjYWNoaW5nIHRoZSBoYXNoIHZhbHVlIG9mIHRoZSBWOCBvYmplY3QK
KyAgICAgICAgaW4gdGhlIFY4TlBPYmplY3QsIGFuZCByZWZlcnJpbmcgdG8gdGhhdCB3aGVuIHRl
YXJpbmcgdGhlIFY4TlBPYmplY3QKKyAgICAgICAgZG93biwgcmF0aGVyIHRoYW4gdXNpbmcgdGhl
IHBvc3NpYmx5LXplcm8gVjggb2JqZWN0IGhhc2guCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9O
UFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZyZWVWOE5QT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Om5wQ3JlYXRlVjhTY3JpcHRPYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L05QVjhPYmplY3QuaDoKKyAgICAgICAgKFY4TlBPYmplY3QpOgorCiAyMDEyLTA5LTIxICBB
bmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtDYW52YXNdIHN1cHBvcnQgMkQgY2FudmFzIGluc3RydW1lbnRhdGlvbiBmcm9tIHRo
ZSBpbnNwZWN0b3IgQysrIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVj
dC5jcHAKaW5kZXggZjg1Yzg0NTNlNzliNWEwYjc3ODI0MjU4OTU2NWEwYTk1NjllNzRmYS4uNmRm
YTllMGU3ZjQwMjJlMmU0M2UxMjg4NDlmNjUyZGU3NTAyODkxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKQEAgLTgyLDI0ICs4MiwyMiBAQCBzdGF0aWMgTlBP
YmplY3QqIGFsbG9jVjhOUE9iamVjdChOUFAsIE5QQ2xhc3MqKQogc3RhdGljIHZvaWQgZnJlZVY4
TlBPYmplY3QoTlBPYmplY3QqIG5wT2JqZWN0KQogewogICAgIFY4TlBPYmplY3QqIHY4TnBPYmpl
Y3QgPSByZWludGVycHJldF9jYXN0PFY4TlBPYmplY3QqPihucE9iamVjdCk7Ci0gICAgaWYgKGlu
dCB2OE9iamVjdEhhc2ggPSB2OE5wT2JqZWN0LT52OE9iamVjdC0+R2V0SWRlbnRpdHlIYXNoKCkp
IHsKLSAgICAgICAgVjhOUE9iamVjdE1hcDo6aXRlcmF0b3IgaXRlciA9IHN0YXRpY1Y4TlBPYmpl
Y3RNYXAoKS0+ZmluZCh2OE9iamVjdEhhc2gpOwotICAgICAgICBpZiAoaXRlciAhPSBzdGF0aWNW
OE5QT2JqZWN0TWFwKCktPmVuZCgpKSB7Ci0gICAgICAgICAgICBWOE5QT2JqZWN0VmVjdG9yJiBv
YmplY3RzID0gaXRlci0+c2Vjb25kOwotICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAw
OyBpbmRleCA8IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4KSB7Ci0gICAgICAgICAgICAgICAgaWYg
KG9iamVjdHMuYXQoaW5kZXgpID09IHY4TnBPYmplY3QpIHsKLSAgICAgICAgICAgICAgICAgICAg
b2JqZWN0cy5yZW1vdmUoaW5kZXgpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICB9CisgICAgaW50IHY4T2JqZWN0SGFzaCA9IHY4TnBPYmplY3QtPmhhc2g7Cisg
ICAgQVNTRVJUKHY4T2JqZWN0SGFzaCk7CisKKyAgICBWOE5QT2JqZWN0TWFwOjppdGVyYXRvciBp
dGVyID0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5maW5kKHY4T2JqZWN0SGFzaCk7CisgICAgaWYg
KGl0ZXIgIT0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5lbmQoKSkgeworICAgICAgICBWOE5QT2Jq
ZWN0VmVjdG9yJiBvYmplY3RzID0gaXRlci0+c2Vjb25kOworICAgICAgICBmb3IgKHNpemVfdCBp
bmRleCA9IDA7IGluZGV4IDwgb2JqZWN0cy5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgICAg
IGlmIChvYmplY3RzLmF0KGluZGV4KSA9PSB2OE5wT2JqZWN0KSB7CisgICAgICAgICAgICAgICAg
b2JqZWN0cy5yZW1vdmUoaW5kZXgpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgaWYgKG9iamVjdHMuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAg
IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+cmVtb3ZlKHY4T2JqZWN0SGFzaCk7Ci0gICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgICAgQVNTRVJUKCF2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpOwotICAgICAgICBzdGF0aWNW
OE5QT2JqZWN0TWFwKCktPmNsZWFyKCk7Ci0gICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChv
YmplY3RzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+cmVt
b3ZlKHY4T2JqZWN0SGFzaCk7CisgICAgfSBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogCiAgICAgdjhOcE9iamVjdC0+djhPYmplY3QuRGlzcG9zZSgpOwogICAgIGZyZWUodjhO
cE9iamVjdCk7CkBAIC0xNzMsNiArMTcxLDcgQEAgTlBPYmplY3QqIG5wQ3JlYXRlVjhTY3JpcHRP
YmplY3QoTlBQIG5wcCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QsIERPTVdpbmQKICAg
ICBWOE5QT2JqZWN0KiB2OG5wT2JqZWN0ID0gcmVpbnRlcnByZXRfY2FzdDxWOE5QT2JqZWN0Kj4o
X05QTl9DcmVhdGVPYmplY3QobnBwLCAmVjhOUE9iamVjdENsYXNzKSk7CiAgICAgdjhucE9iamVj
dC0+djhPYmplY3QgPSB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KG9iamVjdCk7CiAg
ICAgdjhucE9iamVjdC0+cm9vdE9iamVjdCA9IHJvb3Q7CisgICAgdjhucE9iamVjdC0+aGFzaCA9
IHY4T2JqZWN0SGFzaDsKIAogICAgIGl0ZXItPnNlY29uZC5hcHBlbmQodjhucE9iamVjdCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuaAppbmRleCBmNzJiYThiZDEwYWRi
NWFiZjc0MTBhMGIyNmEyZTkwZjQ5NjIzMDcwLi45ZmE1MmJiNzhhZWNhMDQwNGY0YTZlNjBiMTFl
ZjMzMjBlZjdjODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5oCkBA
IC01OSw2ICs1OSw3IEBAIGV4dGVybiBOUENsYXNzKiBucFNjcmlwdE9iamVjdENsYXNzOwogc3Ry
dWN0IFY4TlBPYmplY3QgewogICAgIE5QT2JqZWN0IG9iamVjdDsKICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiB2OE9iamVjdDsKKyAgICBpbnQgaGFzaDsKICAgICBET01XaW5kb3cqIHJv
b3RPYmplY3Q7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165842</attachid>
            <date>2012-09-26 11:47:17 -0700</date>
            <delta_ts>2012-09-27 13:24:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97703-20120926144636.patch</filename>
            <type>text/plain</type>
            <size>4383</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE0MDc5ZTU2NDlmZmJk
YTA1OGQ5MGJlNDU3MjY4MDJiMjA4YTgwMi4uY2Q0NjMwYmJmNzIzMjc1MThlMDk5ZDU4ZTE1ZjAz
Nzc2ZWZhY2MzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTI2ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gQ2FjaGUgaGFz
aCBvZiB1bmRlcmx5aW5nIFY4IG9iamVjdCBpbiBOUFY4T2JqZWN0IHdyYXBwZXJzLiAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NzAzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTlBPYmplY3Qgd3JhcHBl
cnMgZm9yIFY4IG9iamVjdHMgYXJlIHN0b3JlZCBpbiBhIGdsb2JhbCBtYXAsIGluZGV4ZWQgYnkK
KyAgICAgICAgdGhlIHVuZGVybHlpbmcgVjggb2JqZWN0J3MgaWRlbnRpdHkgaGFzaCwgYWxsb3dp
bmcgdGhlIHNhbWUgd3JhcHBlciB0bworICAgICAgICBiZSByZXR1cm5lZCBjb25zaXN0ZW50bHkg
Zm9yIGFueSBwYXJ0aWN1bGFyIG9iamVjdC4KKyAgICAgICAgCisgICAgICAgIER1cmluZyBwYWdl
IHRlYXItZG93biBzb21lIFY4TlBPYmplY3RzIG1heSBvdXQtbGl2ZSB0aGUgcGFnZSdzIFY4Cisg
ICAgICAgIGNvbnRleHQsIHdoaWNoIGNhdXNlcyB0aGVpciBoYXNoIHRvIGJlIHJlc2V0IHRvIHpl
cm8uIFRoaXMgaXMKKyAgICAgICAgY3VycmVudGx5IGhhbmRsZWQgYnkgY2xlYXJpbmcgdGhlIHN0
YXRpYyBtYXAgd2hlbiBhIHplcm8gaGFzaCBpcworICAgICAgICBvYnNlcnZlZCwgbGVhZGluZyB0
byBwcm9ibGVtcyBpZiBtdWx0aXBsZSBwYWdlcyBzaGFyZSBhIHNpbmdsZSBwcm9jZXNzLAorICAg
ICAgICBzaW5jZSB0ZWFyaW5nIGRvd24gb25lIGNhbiBicmVhayB0aGUgbWFwcGluZ3MgZm9yIHRo
ZSBvdGhlci4KKworICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtIGJ5IGNhY2hp
bmcgdGhlIGhhc2ggdmFsdWUgb2YgdGhlIFY4IG9iamVjdAorICAgICAgICBpbiB0aGUgVjhOUE9i
amVjdCwgYW5kIHJlZmVycmluZyB0byB0aGF0IHdoZW4gdGVhcmluZyB0aGUgVjhOUE9iamVjdAor
ICAgICAgICBkb3duLCByYXRoZXIgdGhhbiB1c2luZyB0aGUgcG9zc2libHktemVybyBWOCBvYmpl
Y3QgaGFzaC4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6ZnJlZVY4TlBPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6bnBDcmVhdGVW
OFNjcmlwdE9iamVjdCk6CisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5oOgorICAg
ICAgICAoVjhOUE9iamVjdCk6CisKIDIwMTItMDktMjEgIEFuZHJleSBBZGFpa2luICA8YWFuZHJl
eUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0NhbnZhc10gc3VwcG9y
dCAyRCBjYW52YXMgaW5zdHJ1bWVudGF0aW9uIGZyb20gdGhlIGluc3BlY3RvciBDKysgY29kZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAppbmRleCBmODVjODQ1M2U3
OWI1YTBiNzc4MjQyNTg5NTY1YTBhOTU2OWU3NGZhLi42ZGZhOWUwZTdmNDAyMmUyZTQzZTEyODg0
OWY2NTJkZTc1MDI4OTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9O
UFY4T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0
LmNwcApAQCAtODIsMjQgKzgyLDIyIEBAIHN0YXRpYyBOUE9iamVjdCogYWxsb2NWOE5QT2JqZWN0
KE5QUCwgTlBDbGFzcyopCiBzdGF0aWMgdm9pZCBmcmVlVjhOUE9iamVjdChOUE9iamVjdCogbnBP
YmplY3QpCiB7CiAgICAgVjhOUE9iamVjdCogdjhOcE9iamVjdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8
VjhOUE9iamVjdCo+KG5wT2JqZWN0KTsKLSAgICBpZiAoaW50IHY4T2JqZWN0SGFzaCA9IHY4TnBP
YmplY3QtPnY4T2JqZWN0LT5HZXRJZGVudGl0eUhhc2goKSkgewotICAgICAgICBWOE5QT2JqZWN0
TWFwOjppdGVyYXRvciBpdGVyID0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5maW5kKHY4T2JqZWN0
SGFzaCk7Ci0gICAgICAgIGlmIChpdGVyICE9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+ZW5kKCkp
IHsKLSAgICAgICAgICAgIFY4TlBPYmplY3RWZWN0b3ImIG9iamVjdHMgPSBpdGVyLT5zZWNvbmQ7
Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgb2JqZWN0cy5zaXpl
KCk7ICsraW5kZXgpIHsKLSAgICAgICAgICAgICAgICBpZiAob2JqZWN0cy5hdChpbmRleCkgPT0g
djhOcE9iamVjdCkgewotICAgICAgICAgICAgICAgICAgICBvYmplY3RzLnJlbW92ZShpbmRleCk7
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KKyAgICBpbnQg
djhPYmplY3RIYXNoID0gdjhOcE9iamVjdC0+aGFzaDsKKyAgICBBU1NFUlQodjhPYmplY3RIYXNo
KTsKKworICAgIFY4TlBPYmplY3RNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBzdGF0aWNWOE5QT2JqZWN0
TWFwKCktPmZpbmQodjhPYmplY3RIYXNoKTsKKyAgICBpZiAoaXRlciAhPSBzdGF0aWNWOE5QT2Jq
ZWN0TWFwKCktPmVuZCgpKSB7CisgICAgICAgIFY4TlBPYmplY3RWZWN0b3ImIG9iamVjdHMgPSBp
dGVyLT5zZWNvbmQ7CisgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBvYmpl
Y3RzLnNpemUoKTsgKytpbmRleCkgeworICAgICAgICAgICAgaWYgKG9iamVjdHMuYXQoaW5kZXgp
ID09IHY4TnBPYmplY3QpIHsKKyAgICAgICAgICAgICAgICBvYmplY3RzLnJlbW92ZShpbmRleCk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAo
b2JqZWN0cy5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgc3RhdGljVjhOUE9iamVjdE1hcCgp
LT5yZW1vdmUodjhPYmplY3RIYXNoKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NFUlQoIXY4OjpDb250
ZXh0OjpJbkNvbnRleHQoKSk7Ci0gICAgICAgIHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+Y2xlYXIo
KTsKLSAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKG9iamVjdHMuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgc3RhdGljVjhOUE9iamVjdE1hcCgpLT5yZW1vdmUodjhPYmplY3RIYXNoKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKICAgICB2OE5wT2JqZWN0
LT52OE9iamVjdC5EaXNwb3NlKCk7CiAgICAgZnJlZSh2OE5wT2JqZWN0KTsKQEAgLTE3Myw2ICsx
NzEsNyBAQCBOUE9iamVjdCogbnBDcmVhdGVWOFNjcmlwdE9iamVjdChOUFAgbnBwLCB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IG9iamVjdCwgRE9NV2luZAogICAgIFY4TlBPYmplY3QqIHY4bnBPYmpl
Y3QgPSByZWludGVycHJldF9jYXN0PFY4TlBPYmplY3QqPihfTlBOX0NyZWF0ZU9iamVjdChucHAs
ICZWOE5QT2JqZWN0Q2xhc3MpKTsKICAgICB2OG5wT2JqZWN0LT52OE9iamVjdCA9IHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcob2JqZWN0KTsKICAgICB2OG5wT2JqZWN0LT5yb290T2Jq
ZWN0ID0gcm9vdDsKKyAgICB2OG5wT2JqZWN0LT5oYXNoID0gdjhPYmplY3RIYXNoOwogCiAgICAg
aXRlci0+c2Vjb25kLmFwcGVuZCh2OG5wT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvTlBWOE9iamVjdC5oCmluZGV4IGY3MmJhOGJkMTBhZGI1YWJmNzQxMGEwYjI2YTJlOTBmNDk2
MjMwNzAuLjlmYTUyYmI3OGFlY2EwNDA0ZjRhNmU2MGIxMWVmMzMyMGVmN2M4OTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmgKQEAgLTU5LDYgKzU5LDcgQEAgZXh0ZXJu
IE5QQ2xhc3MqIG5wU2NyaXB0T2JqZWN0Q2xhc3M7CiBzdHJ1Y3QgVjhOUE9iamVjdCB7CiAgICAg
TlBPYmplY3Qgb2JqZWN0OwogICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHY4T2JqZWN0
OworICAgIGludCBoYXNoOwogICAgIERPTVdpbmRvdyogcm9vdE9iamVjdDsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166051</attachid>
            <date>2012-09-27 13:24:21 -0700</date>
            <delta_ts>2012-09-28 08:33:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97703-20120927162339.patch</filename>
            <type>text/plain</type>
            <size>7053</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJmYTQ2YzM5YTE5ZDQ1
NzhlZDExOWU1OGU3ZGM2YzQ1NGM5ZTYxYi4uYmVmNjYzYmEzMWU3YzQ3MjZkMGZiNDI1YmMyYmEw
NWNhZDEzZjYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA5LTI3ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gTWFrZSB2OE5Q
T2JqZWN0TWFwIHBlciBDb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzcwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIHN0YXRpY1Y4TlBPYmplY3RNYXAgaXMgdXNlZCBmb3Iga2VlcGluZyByZWNv
cmQgb2YgVjhOUE9iamVjdHMgYXMgdGhleSBhcmUgY3JlYXRlZCBhbmQgZGVzdHJveWVkLgorICAg
ICAgICAKKyAgICAgICAgT25jZSBhIGNvbnRleHQgaXMgZ29uZSwgdGhlIE5QT2JqZWN0cyBmb3Ig
dGhlIGNvbnRleHQgYXJlIG5vIGxvbmdlciB2YWxpZCBhbmQgdGhhdCByZWNvcmQga2VlcGluZwor
ICAgICAgICBubyBsb25nZXIgbWFrZXMgc2Vuc2Ugc28gd2UgY2xlYXIgdGhlIG1hcC4KKworICAg
ICAgICBIb3dldmVyLCBiZWNhdXNlIHRoZSBtYXAgd2FzIHN0YXRpYyBpdCBleGlzdGVkIGZvciBh
bGwgcGFnZXMgYWNyb3NzIGNvbnRleHRzLiBDbGVhcmluZyB0aGUKKyAgICAgICAgbWFwIGlmIG9u
ZSBjb250ZXh0IGlzIGdvbmUgc2hvdWxkIG5vdCBpbXBhY3QgdGhlIG9iamVjdCBtYXAgb2Ygb3Ro
ZXIgY29udGV4dHMuCisKKyAgICAgICAgVGh1cywgdGhpcyBwYXRjaCBtYWtlcyB0aGUgdjhvYmpl
Y3QgbWFwIHBlciBjb250ZXh0LgorCisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpmcmVlVjhOUE9iamVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpucENyZWF0ZVY4U2NyaXB0T2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBlckNv
bnRleHREYXRhLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4UGVy
Q29udGV4dERhdGE6OmdldFY4TlBPYmplY3RNYXApOgorICAgICAgICAoVjhQZXJDb250ZXh0RGF0
YSk6CisKIDIwMTItMDktMjcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogbW92ZSB2aXNpdGVkIGFuZCBjb3VudE9i
amVjdFNpemUgbWV0aG9kcyBpbXBsZW1lbnRhdGlvbiBpbnRvIHNlcGFyYXRlIGNsYXNzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAppbmRleCBmODVjODQ1M2U3OWI1
YTBiNzc4MjQyNTg5NTY1YTBhOTU2OWU3NGZhLi44YTA1NDdkODU2M2U5ZWQxMTM2NDY1NjhmYTYz
NDEzOTY3Y2YxYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNw
cApAQCAtNTUsOSArNTUsNiBAQCBXcmFwcGVyVHlwZUluZm8qIG5wT2JqZWN0VHlwZUluZm8oKQog
ICAgIHJldHVybiAmdHlwZUluZm87CiB9CiAKLXR5cGVkZWYgVmVjdG9yPFY4TlBPYmplY3QqPiBW
OE5QT2JqZWN0VmVjdG9yOwotdHlwZWRlZiBIYXNoTWFwPGludCwgVjhOUE9iamVjdFZlY3Rvcj4g
VjhOUE9iamVjdE1hcDsKLQogc3RhdGljIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gdG9WOENvbnRl
eHQoTlBQIG5wcCwgTlBPYmplY3QqIG5wT2JqZWN0KQogewogICAgIFY4TlBPYmplY3QqIG9iamVj
dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8VjhOUE9iamVjdCo+KG5wT2JqZWN0KTsKQEAgLTY3LDEyICs2
NCw2IEBAIHN0YXRpYyB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IHRvVjhDb250ZXh0KE5QUCBucHAs
IE5QT2JqZWN0KiBucE9iamVjdCkKICAgICByZXR1cm4gU2NyaXB0Q29udHJvbGxlcjo6bWFpbldv
cmxkQ29udGV4dChvYmplY3QtPnJvb3RPYmplY3QtPmZyYW1lKCkpOwogfQogCi1zdGF0aWMgVjhO
UE9iamVjdE1hcCogc3RhdGljVjhOUE9iamVjdE1hcCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19M
T0NBTChWOE5QT2JqZWN0TWFwLCB2OG5wT2JqZWN0TWFwLCAoKSk7Ci0gICAgcmV0dXJuICZ2OG5w
T2JqZWN0TWFwOwotfQotCiAvLyBGSVhNRTogQ29tbWVudHMgb24gd2h5IHVzZSBtYWxsb2MgYW5k
IGZyZWUuCiBzdGF0aWMgTlBPYmplY3QqIGFsbG9jVjhOUE9iamVjdChOUFAsIE5QQ2xhc3MqKQog
ewpAQCAtODIsMjUgKzczLDMwIEBAIHN0YXRpYyBOUE9iamVjdCogYWxsb2NWOE5QT2JqZWN0KE5Q
UCwgTlBDbGFzcyopCiBzdGF0aWMgdm9pZCBmcmVlVjhOUE9iamVjdChOUE9iamVjdCogbnBPYmpl
Y3QpCiB7CiAgICAgVjhOUE9iamVjdCogdjhOcE9iamVjdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8VjhO
UE9iamVjdCo+KG5wT2JqZWN0KTsKLSAgICBpZiAoaW50IHY4T2JqZWN0SGFzaCA9IHY4TnBPYmpl
Y3QtPnY4T2JqZWN0LT5HZXRJZGVudGl0eUhhc2goKSkgewotICAgICAgICBWOE5QT2JqZWN0TWFw
OjppdGVyYXRvciBpdGVyID0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5maW5kKHY4T2JqZWN0SGFz
aCk7Ci0gICAgICAgIGlmIChpdGVyICE9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+ZW5kKCkpIHsK
LSAgICAgICAgICAgIFY4TlBPYmplY3RWZWN0b3ImIG9iamVjdHMgPSBpdGVyLT5zZWNvbmQ7Ci0g
ICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgb2JqZWN0cy5zaXplKCk7
ICsraW5kZXgpIHsKLSAgICAgICAgICAgICAgICBpZiAob2JqZWN0cy5hdChpbmRleCkgPT0gdjhO
cE9iamVjdCkgewotICAgICAgICAgICAgICAgICAgICBvYmplY3RzLnJlbW92ZShpbmRleCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KKyAgICB2ODo6SGFu
ZGxlU2NvcGUgc2NvcGU7CisgICAgaWYgKCF2OE5wT2JqZWN0LT52OE9iamVjdC0+Q3JlYXRpb25D
b250ZXh0KCkuSXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChWOFBlckNvbnRleHREYXRhKiBwZXJD
b250ZXh0RGF0YSA9IFY4UGVyQ29udGV4dERhdGE6OmZyb20odjhOcE9iamVjdC0+djhPYmplY3Qt
PkNyZWF0aW9uQ29udGV4dCgpKSkgeworICAgICAgICAgICAgVjhOUE9iamVjdE1hcCogdjhOUE9i
amVjdE1hcCA9IHBlckNvbnRleHREYXRhLT5nZXRWOE5QT2JqZWN0TWFwKCk7CisgICAgICAgICAg
ICBpZiAoaW50IHY4T2JqZWN0SGFzaCA9IHY4TnBPYmplY3QtPnY4T2JqZWN0LT5HZXRJZGVudGl0
eUhhc2goKSkgeworICAgICAgICAgICAgICAgIFY4TlBPYmplY3RNYXA6Oml0ZXJhdG9yIGl0ZXIg
PSB2OE5QT2JqZWN0TWFwLT5maW5kKHY4T2JqZWN0SGFzaCk7CisgICAgICAgICAgICAgICAgaWYg
KGl0ZXIgIT0gdjhOUE9iamVjdE1hcC0+ZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgVjhO
UE9iamVjdFZlY3RvciYgb2JqZWN0cyA9IGl0ZXItPnNlY29uZDsKKyAgICAgICAgICAgICAgICAg
ICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAob2JqZWN0cy5hdChpbmRleCkgPT0gdjhO
cE9iamVjdCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdHMucmVtb3ZlKGlu
ZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBp
ZiAob2JqZWN0cy5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgICAgICB2OE5QT2JqZWN0
TWFwLT5yZW1vdmUodjhPYmplY3RIYXNoKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIEFTU0VSVCghdjg6OkNvbnRleHQ6OkluQ29udGV4dCgpKTsKKyAg
ICAgICAgICAgICAgICB2OE5QT2JqZWN0TWFwLT5jbGVhcigpOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKG9iamVjdHMuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIHN0YXRpY1Y4
TlBPYmplY3RNYXAoKS0+cmVtb3ZlKHY4T2JqZWN0SGFzaCk7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNT
RVJUKCF2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpOwotICAgICAgICBzdGF0aWNWOE5QT2JqZWN0
TWFwKCktPmNsZWFyKCk7CisgICAgICAgIH0KICAgICB9Ci0KICAgICB2OE5wT2JqZWN0LT52OE9i
amVjdC5EaXNwb3NlKCk7CiAgICAgZnJlZSh2OE5wT2JqZWN0KTsKIH0KQEAgLTE1NSw4ICsxNTEs
OSBAQCBOUE9iamVjdCogbnBDcmVhdGVWOFNjcmlwdE9iamVjdChOUFAgbnBwLCB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IG9iamVjdCwgRE9NV2luZAogCiAgICAgaW50IHY4T2JqZWN0SGFzaCA9IG9i
amVjdC0+R2V0SWRlbnRpdHlIYXNoKCk7CiAgICAgQVNTRVJUKHY4T2JqZWN0SGFzaCk7Ci0gICAg
VjhOUE9iamVjdE1hcDo6aXRlcmF0b3IgaXRlciA9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+Zmlu
ZCh2OE9iamVjdEhhc2gpOwotICAgIGlmIChpdGVyICE9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+
ZW5kKCkpIHsKKyAgICBWOE5QT2JqZWN0TWFwKiB2OE5QT2JqZWN0TWFwID0gVjhQZXJDb250ZXh0
RGF0YTo6ZnJvbShvYmplY3QtPkNyZWF0aW9uQ29udGV4dCgpKS0+Z2V0VjhOUE9iamVjdE1hcCgp
OworICAgIFY4TlBPYmplY3RNYXA6Oml0ZXJhdG9yIGl0ZXIgPSB2OE5QT2JqZWN0TWFwLT5maW5k
KHY4T2JqZWN0SGFzaCk7CisgICAgaWYgKGl0ZXIgIT0gdjhOUE9iamVjdE1hcC0+ZW5kKCkpIHsK
ICAgICAgICAgVjhOUE9iamVjdFZlY3RvciYgb2JqZWN0cyA9IGl0ZXItPnNlY29uZDsKICAgICAg
ICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4
KSB7CiAgICAgICAgICAgICBWOE5QT2JqZWN0KiB2OG5wT2JqZWN0ID0gb2JqZWN0cy5hdChpbmRl
eCk7CkBAIC0xNjcsNyArMTY0LDcgQEAgTlBPYmplY3QqIG5wQ3JlYXRlVjhTY3JpcHRPYmplY3Qo
TlBQIG5wcCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QsIERPTVdpbmQKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIGl0ZXIgPSBzdGF0aWNWOE5Q
T2JqZWN0TWFwKCktPnNldCh2OE9iamVjdEhhc2gsIFY4TlBPYmplY3RWZWN0b3IoKSkuaXRlcmF0
b3I7CisgICAgICAgIGl0ZXIgPSB2OE5QT2JqZWN0TWFwLT5zZXQodjhPYmplY3RIYXNoLCBWOE5Q
T2JqZWN0VmVjdG9yKCkpLml0ZXJhdG9yOwogICAgIH0KIAogICAgIFY4TlBPYmplY3QqIHY4bnBP
YmplY3QgPSByZWludGVycHJldF9jYXN0PFY4TlBPYmplY3QqPihfTlBOX0NyZWF0ZU9iamVjdChu
cHAsICZWOE5QT2JqZWN0Q2xhc3MpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UGVyQ29udGV4dERhdGEuaAppbmRleCBlYTc0MjkwMjQxMGZmMjNiMzYxYWRmMjliYTAzMDE1MGFj
YmYyMzQ2Li5lMGY1MzgzNzllMTdkYmNiMjRkN2ZkZDgwYjJhNDQwNzRlYmUwYjhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oCkBAIC0zNiw5ICsz
NiwxNCBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgVjhOUE9iamVjdDsKK3R5cGVkZWYgV1RGOjpWZWN0b3I8
VjhOUE9iamVjdCo+IFY4TlBPYmplY3RWZWN0b3I7Cit0eXBlZGVmIFdURjo6SGFzaE1hcDxpbnQs
IFY4TlBPYmplY3RWZWN0b3I+IFY4TlBPYmplY3RNYXA7CisKIGNsYXNzIFY4UGVyQ29udGV4dERh
dGEgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFY4UGVyQ29udGV4dERhdGE+IGNy
ZWF0ZSh2ODo6UGVyc2lzdGVudDx2ODo6Q29udGV4dD4gY29udGV4dCkKQEAgLTcyLDYgKzc3LDEx
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yRm9yVHlwZVNsb3dDYXNlKHR5
cGUpOwogICAgIH0KIAorICAgIFY4TlBPYmplY3RNYXAqIGdldFY4TlBPYmplY3RNYXAoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuICZtX3Y4TlBPYmplY3RNYXA7CisgICAgfQorCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IFY4UGVyQ29udGV4dERhdGEodjg6OlBlcnNpc3RlbnQ8djg6OkNvbnRleHQ+
IGNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KGNvbnRleHQpCkBAIC05MSw2ICsxMDEsOCBA
QCBwcml2YXRlOgogICAgIHR5cGVkZWYgV1RGOjpIYXNoTWFwPFdyYXBwZXJUeXBlSW5mbyosIHY4
OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvbj4gPiBDb25zdHJ1Y3Rvck1hcDsKICAgICBDb25zdHJ1
Y3Rvck1hcCBtX2NvbnN0cnVjdG9yTWFwOwogCisgICAgVjhOUE9iamVjdE1hcCBtX3Y4TlBPYmpl
Y3RNYXA7CisKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6Q29udGV4dD4gbV9jb250ZXh0OwogICAg
IFNjb3BlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiBtX2Vycm9yUHJvdG90eXBlOwogICAgIFNjb3Bl
ZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiBtX29iamVjdFByb3RvdHlwZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166258</attachid>
            <date>2012-09-28 08:32:29 -0700</date>
            <delta_ts>2012-09-28 11:34:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97703-20120928113146.patch</filename>
            <type>text/plain</type>
            <size>6923</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJmYTQ2YzM5YTE5ZDQ1
NzhlZDExOWU1OGU3ZGM2YzQ1NGM5ZTYxYi4uZGM3ZWI2Mjc4ZWJiMWNlMzM2ZGQyMzNjNjk5NmE3
YjVhNjk1M2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA5LTI3ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gTWFrZSB2OE5Q
T2JqZWN0TWFwIHBlciBDb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzcwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFY4TlBPYmplY3QgaXMgYSBWOE9iamVjdCB3cmFwcGVyIGZvciB1c2UgYnkg
dGhlIG5wcnVudGltZS4KKworICAgICAgICBzdGF0aWNWOE5QT2JqZWN0TWFwIGlzIHVzZWQgZm9y
IGtlZXBpbmcgcmVjb3JkIG9mIFY4TlBPYmplY3RzIGFzIHRoZXkgYXJlIGNyZWF0ZWQgYW5kIGRl
c3Ryb3llZAorICAgICAgICB0byBlbnN1cmUgdGhhdCBhbiBleGlzdGluZyBWOE5QT2JqZWN0IHdy
YXBwZXIgaXMgcmV0dXJuZWQgZm9yIGEgVjhPYmplY3QgaW4gbnBDcmVhdGVWOFNjcmlwdE9iamVj
dC4KKyAgICAgICAgCisgICAgICAgIE9uY2UgYSBjb250ZXh0IGlzIGdvbmUsIHRoZSBOUE9iamVj
dHMgZm9yIHRoZSBjb250ZXh0IGFyZSBubyBsb25nZXIgdmFsaWQgYW5kIHRoYXQgcmVjb3JkIGtl
ZXBpbmcKKyAgICAgICAgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIHNvIHdlIGNsZWFyIHRoZSBtYXAu
CisKKyAgICAgICAgSG93ZXZlciwgYmVjYXVzZSB0aGUgbWFwIHdhcyBzdGF0aWMsIGl0IGV4aXN0
ZWQgZm9yIGFsbCBwYWdlcyBhY3Jvc3MgY29udGV4dHMuIENsZWFyaW5nIHRoZQorICAgICAgICBt
YXAgaWYgb25lIGNvbnRleHQgaXMgZ29uZSBzaG91bGQgbm90IGltcGFjdCB0aGUgVjhOUE9iamVj
dCBtYXAgb2Ygb3RoZXIgY29udGV4dHMuCisKKyAgICAgICAgVGh1cywgdGhpcyBwYXRjaCBtYWtl
cyB0aGUgVjhOUE9iamVjdCBtYXAgcGVyIGNvbnRleHQuCisKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9OUFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZyZWVWOE5QT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Om5wQ3JlYXRlVjhTY3JpcHRPYmplY3QpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VjhQZXJDb250ZXh0RGF0YTo6Z2V0VjhOUE9iamVjdE1hcCk6CisgICAgICAgIChW
OFBlckNvbnRleHREYXRhKToKKwogMjAxMi0wOS0yNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNs
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JOiBtb3ZlIHZpc2l0
ZWQgYW5kIGNvdW50T2JqZWN0U2l6ZSBtZXRob2RzIGltcGxlbWVudGF0aW9uIGludG8gc2VwYXJh
dGUgY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4
IGY4NWM4NDUzZTc5YjVhMGI3NzgyNDI1ODk1NjVhMGE5NTY5ZTc0ZmEuLjYzMzQwMTVkNTE5MjAx
OGJjZDg0MjZiMThhZWVmYjEyMjg2ZGYzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L05QVjhPYmplY3QuY3BwCkBAIC01NSw5ICs1NSw2IEBAIFdyYXBwZXJUeXBlSW5mbyogbnBPYmpl
Y3RUeXBlSW5mbygpCiAgICAgcmV0dXJuICZ0eXBlSW5mbzsKIH0KIAotdHlwZWRlZiBWZWN0b3I8
VjhOUE9iamVjdCo+IFY4TlBPYmplY3RWZWN0b3I7Ci10eXBlZGVmIEhhc2hNYXA8aW50LCBWOE5Q
T2JqZWN0VmVjdG9yPiBWOE5QT2JqZWN0TWFwOwotCiBzdGF0aWMgdjg6OkxvY2FsPHY4OjpDb250
ZXh0PiB0b1Y4Q29udGV4dChOUFAgbnBwLCBOUE9iamVjdCogbnBPYmplY3QpCiB7CiAgICAgVjhO
UE9iamVjdCogb2JqZWN0ID0gcmVpbnRlcnByZXRfY2FzdDxWOE5QT2JqZWN0Kj4obnBPYmplY3Qp
OwpAQCAtNjcsMTIgKzY0LDYgQEAgc3RhdGljIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gdG9WOENv
bnRleHQoTlBQIG5wcCwgTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIHJldHVybiBTY3JpcHRDb250
cm9sbGVyOjptYWluV29ybGRDb250ZXh0KG9iamVjdC0+cm9vdE9iamVjdC0+ZnJhbWUoKSk7CiB9
CiAKLXN0YXRpYyBWOE5QT2JqZWN0TWFwKiBzdGF0aWNWOE5QT2JqZWN0TWFwKCkKLXsKLSAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKFY4TlBPYmplY3RNYXAsIHY4bnBPYmplY3RNYXAsICgpKTsKLSAg
ICByZXR1cm4gJnY4bnBPYmplY3RNYXA7Ci19Ci0KIC8vIEZJWE1FOiBDb21tZW50cyBvbiB3aHkg
dXNlIG1hbGxvYyBhbmQgZnJlZS4KIHN0YXRpYyBOUE9iamVjdCogYWxsb2NWOE5QT2JqZWN0KE5Q
UCwgTlBDbGFzcyopCiB7CkBAIC04MiwyNSArNzMsMjQgQEAgc3RhdGljIE5QT2JqZWN0KiBhbGxv
Y1Y4TlBPYmplY3QoTlBQLCBOUENsYXNzKikKIHN0YXRpYyB2b2lkIGZyZWVWOE5QT2JqZWN0KE5Q
T2JqZWN0KiBucE9iamVjdCkKIHsKICAgICBWOE5QT2JqZWN0KiB2OE5wT2JqZWN0ID0gcmVpbnRl
cnByZXRfY2FzdDxWOE5QT2JqZWN0Kj4obnBPYmplY3QpOwotICAgIGlmIChpbnQgdjhPYmplY3RI
YXNoID0gdjhOcE9iamVjdC0+djhPYmplY3QtPkdldElkZW50aXR5SGFzaCgpKSB7Ci0gICAgICAg
IFY4TlBPYmplY3RNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBzdGF0aWNWOE5QT2JqZWN0TWFwKCktPmZp
bmQodjhPYmplY3RIYXNoKTsKLSAgICAgICAgaWYgKGl0ZXIgIT0gc3RhdGljVjhOUE9iamVjdE1h
cCgpLT5lbmQoKSkgewotICAgICAgICAgICAgVjhOUE9iamVjdFZlY3RvciYgb2JqZWN0cyA9IGl0
ZXItPnNlY29uZDsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBv
YmplY3RzLnNpemUoKTsgKytpbmRleCkgewotICAgICAgICAgICAgICAgIGlmIChvYmplY3RzLmF0
KGluZGV4KSA9PSB2OE5wT2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG9iamVjdHMucmVt
b3ZlKGluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
fQorICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKyAgICBBU1NFUlQoIXY4TnBPYmplY3QtPnY4
T2JqZWN0LT5DcmVhdGlvbkNvbnRleHQoKS5Jc0VtcHR5KCkpOworICAgIGlmIChWOFBlckNvbnRl
eHREYXRhKiBwZXJDb250ZXh0RGF0YSA9IFY4UGVyQ29udGV4dERhdGE6OmZyb20odjhOcE9iamVj
dC0+djhPYmplY3QtPkNyZWF0aW9uQ29udGV4dCgpKSkgeworICAgICAgICBWOE5QT2JqZWN0TWFw
KiB2OE5QT2JqZWN0TWFwID0gcGVyQ29udGV4dERhdGEtPmdldFY4TlBPYmplY3RNYXAoKTsKKyAg
ICAgICAgaW50IHY4T2JqZWN0SGFzaCA9IHY4TnBPYmplY3QtPnY4T2JqZWN0LT5HZXRJZGVudGl0
eUhhc2goKTsKKyAgICAgICAgQVNTRVJUKHY4T2JqZWN0SGFzaCk7CisgICAgICAgIFY4TlBPYmpl
Y3RNYXA6Oml0ZXJhdG9yIGl0ZXIgPSB2OE5QT2JqZWN0TWFwLT5maW5kKHY4T2JqZWN0SGFzaCk7
CisgICAgICAgIEFTU0VSVChpdGVyICE9IHY4TlBPYmplY3RNYXAtPmVuZCgpKTsKKyAgICAgICAg
VjhOUE9iamVjdFZlY3RvciYgb2JqZWN0cyA9IGl0ZXItPnNlY29uZDsKKyAgICAgICAgZm9yIChz
aXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAg
ICAgICAgICBpZiAob2JqZWN0cy5hdChpbmRleCkgPT0gdjhOcE9iamVjdCkgeworICAgICAgICAg
ICAgICAgIG9iamVjdHMucmVtb3ZlKGluZGV4KTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChvYmplY3RzLmlzRW1wdHkoKSkKLSAgICAgICAg
ICAgICAgICBzdGF0aWNWOE5QT2JqZWN0TWFwKCktPnJlbW92ZSh2OE9iamVjdEhhc2gpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgIEFTU0VSVCghdjg6OkNvbnRleHQ6OkluQ29udGV4dCgpKTsKLSAgICAgICAg
c3RhdGljVjhOUE9iamVjdE1hcCgpLT5jbGVhcigpOworICAgICAgICB9CisgICAgICAgIGlmIChv
YmplY3RzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHY4TlBPYmplY3RNYXAtPnJlbW92ZSh2OE9i
amVjdEhhc2gpOwogICAgIH0KLQogICAgIHY4TnBPYmplY3QtPnY4T2JqZWN0LkRpc3Bvc2UoKTsK
ICAgICBmcmVlKHY4TnBPYmplY3QpOwogfQpAQCAtMTU1LDggKzE0NSw5IEBAIE5QT2JqZWN0KiBu
cENyZWF0ZVY4U2NyaXB0T2JqZWN0KE5QUCBucHAsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2Jq
ZWN0LCBET01XaW5kCiAKICAgICBpbnQgdjhPYmplY3RIYXNoID0gb2JqZWN0LT5HZXRJZGVudGl0
eUhhc2goKTsKICAgICBBU1NFUlQodjhPYmplY3RIYXNoKTsKLSAgICBWOE5QT2JqZWN0TWFwOjpp
dGVyYXRvciBpdGVyID0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5maW5kKHY4T2JqZWN0SGFzaCk7
Ci0gICAgaWYgKGl0ZXIgIT0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5lbmQoKSkgeworICAgIFY4
TlBPYmplY3RNYXAqIHY4TlBPYmplY3RNYXAgPSBWOFBlckNvbnRleHREYXRhOjpmcm9tKG9iamVj
dC0+Q3JlYXRpb25Db250ZXh0KCkpLT5nZXRWOE5QT2JqZWN0TWFwKCk7CisgICAgVjhOUE9iamVj
dE1hcDo6aXRlcmF0b3IgaXRlciA9IHY4TlBPYmplY3RNYXAtPmZpbmQodjhPYmplY3RIYXNoKTsK
KyAgICBpZiAoaXRlciAhPSB2OE5QT2JqZWN0TWFwLT5lbmQoKSkgewogICAgICAgICBWOE5QT2Jq
ZWN0VmVjdG9yJiBvYmplY3RzID0gaXRlci0+c2Vjb25kOwogICAgICAgICBmb3IgKHNpemVfdCBp
bmRleCA9IDA7IGluZGV4IDwgb2JqZWN0cy5zaXplKCk7ICsraW5kZXgpIHsKICAgICAgICAgICAg
IFY4TlBPYmplY3QqIHY4bnBPYmplY3QgPSBvYmplY3RzLmF0KGluZGV4KTsKQEAgLTE2Nyw3ICsx
NTgsNyBAQCBOUE9iamVjdCogbnBDcmVhdGVWOFNjcmlwdE9iamVjdChOUFAgbnBwLCB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IG9iamVjdCwgRE9NV2luZAogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaXRlciA9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+c2V0
KHY4T2JqZWN0SGFzaCwgVjhOUE9iamVjdFZlY3RvcigpKS5pdGVyYXRvcjsKKyAgICAgICAgaXRl
ciA9IHY4TlBPYmplY3RNYXAtPnNldCh2OE9iamVjdEhhc2gsIFY4TlBPYmplY3RWZWN0b3IoKSku
aXRlcmF0b3I7CiAgICAgfQogCiAgICAgVjhOUE9iamVjdCogdjhucE9iamVjdCA9IHJlaW50ZXJw
cmV0X2Nhc3Q8VjhOUE9iamVjdCo+KF9OUE5fQ3JlYXRlT2JqZWN0KG5wcCwgJlY4TlBPYmplY3RD
bGFzcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250
ZXh0RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5o
CmluZGV4IGVhNzQyOTAyNDEwZmYyM2IzNjFhZGYyOWJhMDMwMTUwYWNiZjIzNDYuLmUwZjUzODM3
OWUxN2RiY2IyNGQ3ZmRkODBiMmE0NDA3NGViZTBiOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmgKQEAgLTM2LDkgKzM2LDE0IEBACiAjaW5jbHVk
ZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K3N0cnVjdCBWOE5QT2JqZWN0OwordHlwZWRlZiBXVEY6OlZlY3RvcjxWOE5QT2JqZWN0Kj4gVjhO
UE9iamVjdFZlY3RvcjsKK3R5cGVkZWYgV1RGOjpIYXNoTWFwPGludCwgVjhOUE9iamVjdFZlY3Rv
cj4gVjhOUE9iamVjdE1hcDsKKwogY2xhc3MgVjhQZXJDb250ZXh0RGF0YSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8VjhQZXJDb250ZXh0RGF0YT4gY3JlYXRlKHY4OjpQZXJzaXN0
ZW50PHY4OjpDb250ZXh0PiBjb250ZXh0KQpAQCAtNzIsNiArNzcsMTEgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gY29uc3RydWN0b3JGb3JUeXBlU2xvd0Nhc2UodHlwZSk7CiAgICAgfQogCisg
ICAgVjhOUE9iamVjdE1hcCogZ2V0VjhOUE9iamVjdE1hcCgpCisgICAgeworICAgICAgICByZXR1
cm4gJm1fdjhOUE9iamVjdE1hcDsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgVjhQ
ZXJDb250ZXh0RGF0YSh2ODo6UGVyc2lzdGVudDx2ODo6Q29udGV4dD4gY29udGV4dCkKICAgICAg
ICAgOiBtX2NvbnRleHQoY29udGV4dCkKQEAgLTkxLDYgKzEwMSw4IEBAIHByaXZhdGU6CiAgICAg
dHlwZWRlZiBXVEY6Okhhc2hNYXA8V3JhcHBlclR5cGVJbmZvKiwgdjg6OlBlcnNpc3RlbnQ8djg6
OkZ1bmN0aW9uPiA+IENvbnN0cnVjdG9yTWFwOwogICAgIENvbnN0cnVjdG9yTWFwIG1fY29uc3Ry
dWN0b3JNYXA7CiAKKyAgICBWOE5QT2JqZWN0TWFwIG1fdjhOUE9iamVjdE1hcDsKKwogICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgU2NvcGVkUGVyc2lzdGVu
dDx2ODo6VmFsdWU+IG1fZXJyb3JQcm90b3R5cGU7CiAgICAgU2NvcGVkUGVyc2lzdGVudDx2ODo6
VmFsdWU+IG1fb2JqZWN0UHJvdG90eXBlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166285</attachid>
            <date>2012-09-28 11:34:48 -0700</date>
            <delta_ts>2012-09-28 12:38:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97703-20120928143405.patch</filename>
            <type>text/plain</type>
            <size>6911</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJmYTQ2YzM5YTE5ZDQ1
NzhlZDExOWU1OGU3ZGM2YzQ1NGM5ZTYxYi4uMmEzMTQwNDRlZjJiOWYxNGVlMmM3NjNkOGM5YmZj
ZTYwNTVmZDM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA5LTI3ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gTWFrZSB2OE5Q
T2JqZWN0TWFwIHBlciBDb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzcwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFY4TlBPYmplY3QgaXMgYSBWOE9iamVjdCB3cmFwcGVyIGZvciB1c2UgYnkg
dGhlIG5wcnVudGltZS4KKworICAgICAgICBzdGF0aWNWOE5QT2JqZWN0TWFwIGlzIHVzZWQgZm9y
IGtlZXBpbmcgcmVjb3JkIG9mIFY4TlBPYmplY3RzIGFzIHRoZXkgYXJlIGNyZWF0ZWQgYW5kIGRl
c3Ryb3llZAorICAgICAgICB0byBlbnN1cmUgdGhhdCBhbiBleGlzdGluZyBWOE5QT2JqZWN0IHdy
YXBwZXIgaXMgcmV0dXJuZWQgZm9yIGEgVjhPYmplY3QgaW4gbnBDcmVhdGVWOFNjcmlwdE9iamVj
dC4KKyAgICAgICAgCisgICAgICAgIE9uY2UgYSBjb250ZXh0IGlzIGdvbmUsIHRoZSBOUE9iamVj
dHMgZm9yIHRoZSBjb250ZXh0IGFyZSBubyBsb25nZXIgdmFsaWQgYW5kIHRoYXQgcmVjb3JkIGtl
ZXBpbmcKKyAgICAgICAgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIHNvIHdlIGNsZWFyIHRoZSBtYXAu
CisKKyAgICAgICAgSG93ZXZlciwgYmVjYXVzZSB0aGUgbWFwIHdhcyBzdGF0aWMsIGl0IGV4aXN0
ZWQgZm9yIGFsbCBwYWdlcyBhY3Jvc3MgY29udGV4dHMuIENsZWFyaW5nIHRoZQorICAgICAgICBt
YXAgaWYgb25lIGNvbnRleHQgaXMgZ29uZSBzaG91bGQgbm90IGltcGFjdCB0aGUgVjhOUE9iamVj
dCBtYXAgb2Ygb3RoZXIgY29udGV4dHMuCisKKyAgICAgICAgVGh1cywgdGhpcyBwYXRjaCBtYWtl
cyB0aGUgVjhOUE9iamVjdCBtYXAgcGVyIGNvbnRleHQuCisKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9OUFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZyZWVWOE5QT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Om5wQ3JlYXRlVjhTY3JpcHRPYmplY3QpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VjhQZXJDb250ZXh0RGF0YTo6djhOUE9iamVjdE1hcCk6CisgICAgICAgIChWOFBl
ckNvbnRleHREYXRhKToKKwogMjAxMi0wOS0yNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JOiBtb3ZlIHZpc2l0ZWQg
YW5kIGNvdW50T2JqZWN0U2l6ZSBtZXRob2RzIGltcGxlbWVudGF0aW9uIGludG8gc2VwYXJhdGUg
Y2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4IGY4
NWM4NDUzZTc5YjVhMGI3NzgyNDI1ODk1NjVhMGE5NTY5ZTc0ZmEuLjIyNDAzMDBlOTAwODZmNmNh
MjdjNzAxZjk5ZjFmZDRmZTA1ZjFkYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05Q
VjhPYmplY3QuY3BwCkBAIC01NSw5ICs1NSw2IEBAIFdyYXBwZXJUeXBlSW5mbyogbnBPYmplY3RU
eXBlSW5mbygpCiAgICAgcmV0dXJuICZ0eXBlSW5mbzsKIH0KIAotdHlwZWRlZiBWZWN0b3I8VjhO
UE9iamVjdCo+IFY4TlBPYmplY3RWZWN0b3I7Ci10eXBlZGVmIEhhc2hNYXA8aW50LCBWOE5QT2Jq
ZWN0VmVjdG9yPiBWOE5QT2JqZWN0TWFwOwotCiBzdGF0aWMgdjg6OkxvY2FsPHY4OjpDb250ZXh0
PiB0b1Y4Q29udGV4dChOUFAgbnBwLCBOUE9iamVjdCogbnBPYmplY3QpCiB7CiAgICAgVjhOUE9i
amVjdCogb2JqZWN0ID0gcmVpbnRlcnByZXRfY2FzdDxWOE5QT2JqZWN0Kj4obnBPYmplY3QpOwpA
QCAtNjcsMTIgKzY0LDYgQEAgc3RhdGljIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gdG9WOENvbnRl
eHQoTlBQIG5wcCwgTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIHJldHVybiBTY3JpcHRDb250cm9s
bGVyOjptYWluV29ybGRDb250ZXh0KG9iamVjdC0+cm9vdE9iamVjdC0+ZnJhbWUoKSk7CiB9CiAK
LXN0YXRpYyBWOE5QT2JqZWN0TWFwKiBzdGF0aWNWOE5QT2JqZWN0TWFwKCkKLXsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKFY4TlBPYmplY3RNYXAsIHY4bnBPYmplY3RNYXAsICgpKTsKLSAgICBy
ZXR1cm4gJnY4bnBPYmplY3RNYXA7Ci19Ci0KIC8vIEZJWE1FOiBDb21tZW50cyBvbiB3aHkgdXNl
IG1hbGxvYyBhbmQgZnJlZS4KIHN0YXRpYyBOUE9iamVjdCogYWxsb2NWOE5QT2JqZWN0KE5QUCwg
TlBDbGFzcyopCiB7CkBAIC04MiwyNSArNzMsMjQgQEAgc3RhdGljIE5QT2JqZWN0KiBhbGxvY1Y4
TlBPYmplY3QoTlBQLCBOUENsYXNzKikKIHN0YXRpYyB2b2lkIGZyZWVWOE5QT2JqZWN0KE5QT2Jq
ZWN0KiBucE9iamVjdCkKIHsKICAgICBWOE5QT2JqZWN0KiB2OE5wT2JqZWN0ID0gcmVpbnRlcnBy
ZXRfY2FzdDxWOE5QT2JqZWN0Kj4obnBPYmplY3QpOwotICAgIGlmIChpbnQgdjhPYmplY3RIYXNo
ID0gdjhOcE9iamVjdC0+djhPYmplY3QtPkdldElkZW50aXR5SGFzaCgpKSB7Ci0gICAgICAgIFY4
TlBPYmplY3RNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBzdGF0aWNWOE5QT2JqZWN0TWFwKCktPmZpbmQo
djhPYmplY3RIYXNoKTsKLSAgICAgICAgaWYgKGl0ZXIgIT0gc3RhdGljVjhOUE9iamVjdE1hcCgp
LT5lbmQoKSkgewotICAgICAgICAgICAgVjhOUE9iamVjdFZlY3RvciYgb2JqZWN0cyA9IGl0ZXIt
PnNlY29uZDsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBvYmpl
Y3RzLnNpemUoKTsgKytpbmRleCkgewotICAgICAgICAgICAgICAgIGlmIChvYmplY3RzLmF0KGlu
ZGV4KSA9PSB2OE5wT2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG9iamVjdHMucmVtb3Zl
KGluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQor
ICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKyAgICBBU1NFUlQoIXY4TnBPYmplY3QtPnY4T2Jq
ZWN0LT5DcmVhdGlvbkNvbnRleHQoKS5Jc0VtcHR5KCkpOworICAgIGlmIChWOFBlckNvbnRleHRE
YXRhKiBwZXJDb250ZXh0RGF0YSA9IFY4UGVyQ29udGV4dERhdGE6OmZyb20odjhOcE9iamVjdC0+
djhPYmplY3QtPkNyZWF0aW9uQ29udGV4dCgpKSkgeworICAgICAgICBWOE5QT2JqZWN0TWFwKiB2
OE5QT2JqZWN0TWFwID0gcGVyQ29udGV4dERhdGEtPnY4TlBPYmplY3RNYXAoKTsKKyAgICAgICAg
aW50IHY4T2JqZWN0SGFzaCA9IHY4TnBPYmplY3QtPnY4T2JqZWN0LT5HZXRJZGVudGl0eUhhc2go
KTsKKyAgICAgICAgQVNTRVJUKHY4T2JqZWN0SGFzaCk7CisgICAgICAgIFY4TlBPYmplY3RNYXA6
Oml0ZXJhdG9yIGl0ZXIgPSB2OE5QT2JqZWN0TWFwLT5maW5kKHY4T2JqZWN0SGFzaCk7CisgICAg
ICAgIEFTU0VSVChpdGVyICE9IHY4TlBPYmplY3RNYXAtPmVuZCgpKTsKKyAgICAgICAgVjhOUE9i
amVjdFZlY3RvciYgb2JqZWN0cyA9IGl0ZXItPnNlY29uZDsKKyAgICAgICAgZm9yIChzaXplX3Qg
aW5kZXggPSAwOyBpbmRleCA8IG9iamVjdHMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAgICAgICAg
ICBpZiAob2JqZWN0cy5hdChpbmRleCkgPT0gdjhOcE9iamVjdCkgeworICAgICAgICAgICAgICAg
IG9iamVjdHMucmVtb3ZlKGluZGV4KTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGlmIChvYmplY3RzLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAg
ICBzdGF0aWNWOE5QT2JqZWN0TWFwKCktPnJlbW92ZSh2OE9iamVjdEhhc2gpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0gZWxzZSB7Ci0g
ICAgICAgIEFTU0VSVCghdjg6OkNvbnRleHQ6OkluQ29udGV4dCgpKTsKLSAgICAgICAgc3RhdGlj
VjhOUE9iamVjdE1hcCgpLT5jbGVhcigpOworICAgICAgICB9CisgICAgICAgIGlmIChvYmplY3Rz
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHY4TlBPYmplY3RNYXAtPnJlbW92ZSh2OE9iamVjdEhh
c2gpOwogICAgIH0KLQogICAgIHY4TnBPYmplY3QtPnY4T2JqZWN0LkRpc3Bvc2UoKTsKICAgICBm
cmVlKHY4TnBPYmplY3QpOwogfQpAQCAtMTU1LDggKzE0NSw5IEBAIE5QT2JqZWN0KiBucENyZWF0
ZVY4U2NyaXB0T2JqZWN0KE5QUCBucHAsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0LCBE
T01XaW5kCiAKICAgICBpbnQgdjhPYmplY3RIYXNoID0gb2JqZWN0LT5HZXRJZGVudGl0eUhhc2go
KTsKICAgICBBU1NFUlQodjhPYmplY3RIYXNoKTsKLSAgICBWOE5QT2JqZWN0TWFwOjppdGVyYXRv
ciBpdGVyID0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5maW5kKHY4T2JqZWN0SGFzaCk7Ci0gICAg
aWYgKGl0ZXIgIT0gc3RhdGljVjhOUE9iamVjdE1hcCgpLT5lbmQoKSkgeworICAgIFY4TlBPYmpl
Y3RNYXAqIHY4TlBPYmplY3RNYXAgPSBWOFBlckNvbnRleHREYXRhOjpmcm9tKG9iamVjdC0+Q3Jl
YXRpb25Db250ZXh0KCkpLT52OE5QT2JqZWN0TWFwKCk7CisgICAgVjhOUE9iamVjdE1hcDo6aXRl
cmF0b3IgaXRlciA9IHY4TlBPYmplY3RNYXAtPmZpbmQodjhPYmplY3RIYXNoKTsKKyAgICBpZiAo
aXRlciAhPSB2OE5QT2JqZWN0TWFwLT5lbmQoKSkgewogICAgICAgICBWOE5QT2JqZWN0VmVjdG9y
JiBvYmplY3RzID0gaXRlci0+c2Vjb25kOwogICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7
IGluZGV4IDwgb2JqZWN0cy5zaXplKCk7ICsraW5kZXgpIHsKICAgICAgICAgICAgIFY4TlBPYmpl
Y3QqIHY4bnBPYmplY3QgPSBvYmplY3RzLmF0KGluZGV4KTsKQEAgLTE2Nyw3ICsxNTgsNyBAQCBO
UE9iamVjdCogbnBDcmVhdGVWOFNjcmlwdE9iamVjdChOUFAgbnBwLCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IG9iamVjdCwgRE9NV2luZAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBl
bHNlIHsKLSAgICAgICAgaXRlciA9IHN0YXRpY1Y4TlBPYmplY3RNYXAoKS0+c2V0KHY4T2JqZWN0
SGFzaCwgVjhOUE9iamVjdFZlY3RvcigpKS5pdGVyYXRvcjsKKyAgICAgICAgaXRlciA9IHY4TlBP
YmplY3RNYXAtPnNldCh2OE9iamVjdEhhc2gsIFY4TlBPYmplY3RWZWN0b3IoKSkuaXRlcmF0b3I7
CiAgICAgfQogCiAgICAgVjhOUE9iamVjdCogdjhucE9iamVjdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8
VjhOUE9iamVjdCo+KF9OUE5fQ3JlYXRlT2JqZWN0KG5wcCwgJlY4TlBPYmplY3RDbGFzcykpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oCmluZGV4IGVh
NzQyOTAyNDEwZmYyM2IzNjFhZGYyOWJhMDMwMTUwYWNiZjIzNDYuLjhjM2M0MzdlMjhjMDgzMWRk
MDMxNTkxNDYwMjc1MGZiNjUzZjUyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOFBlckNvbnRleHREYXRhLmgKQEAgLTM2LDkgKzM2LDE0IEBACiAjaW5jbHVkZSA8djguaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVjdCBW
OE5QT2JqZWN0OwordHlwZWRlZiBXVEY6OlZlY3RvcjxWOE5QT2JqZWN0Kj4gVjhOUE9iamVjdFZl
Y3RvcjsKK3R5cGVkZWYgV1RGOjpIYXNoTWFwPGludCwgVjhOUE9iamVjdFZlY3Rvcj4gVjhOUE9i
amVjdE1hcDsKKwogY2xhc3MgVjhQZXJDb250ZXh0RGF0YSB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8VjhQZXJDb250ZXh0RGF0YT4gY3JlYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpD
b250ZXh0PiBjb250ZXh0KQpAQCAtNzIsNiArNzcsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gY29uc3RydWN0b3JGb3JUeXBlU2xvd0Nhc2UodHlwZSk7CiAgICAgfQogCisgICAgVjhOUE9i
amVjdE1hcCogdjhOUE9iamVjdE1hcCgpCisgICAgeworICAgICAgICByZXR1cm4gJm1fdjhOUE9i
amVjdE1hcDsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgVjhQZXJDb250ZXh0RGF0
YSh2ODo6UGVyc2lzdGVudDx2ODo6Q29udGV4dD4gY29udGV4dCkKICAgICAgICAgOiBtX2NvbnRl
eHQoY29udGV4dCkKQEAgLTkxLDYgKzEwMSw4IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBXVEY6
Okhhc2hNYXA8V3JhcHBlclR5cGVJbmZvKiwgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uPiA+
IENvbnN0cnVjdG9yTWFwOwogICAgIENvbnN0cnVjdG9yTWFwIG1fY29uc3RydWN0b3JNYXA7CiAK
KyAgICBWOE5QT2JqZWN0TWFwIG1fdjhOUE9iamVjdE1hcDsKKwogICAgIHY4OjpQZXJzaXN0ZW50
PHY4OjpDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgU2NvcGVkUGVyc2lzdGVudDx2ODo6VmFsdWU+
IG1fZXJyb3JQcm90b3R5cGU7CiAgICAgU2NvcGVkUGVyc2lzdGVudDx2ODo6VmFsdWU+IG1fb2Jq
ZWN0UHJvdG90eXBlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>