<?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>43457</bug_id>
          
          <creation_ts>2010-08-03 19:11:09 -0700</creation_ts>
          <short_desc>Make the cascade level of &quot;user&quot; styles configurable</short_desc>
          <delta_ts>2010-08-12 15:41:23 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Aaron Boodman">aa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259809</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-03 19:11:09 -0700</bug_when>
    <thetext>Chromium needs to set the cascade level to &quot;author&quot; for backward compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260096</commentid>
    <comment_count>1</comment_count>
      <attachid>63465</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-04 10:30:20 -0700</bug_when>
    <thetext>Created attachment 63465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260100</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-04 10:50:25 -0700</bug_when>
    <thetext>Attachment 63465 did not build on mac:
Build output: http://queues.webkit.org/results/3580800</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260156</commentid>
    <comment_count>3</comment_count>
      <attachid>63481</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-04 12:41:34 -0700</bug_when>
    <thetext>Created attachment 63481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261469</commentid>
    <comment_count>4</comment_count>
      <attachid>63481</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-08-06 14:31:43 -0700</bug_when>
    <thetext>Comment on attachment 63481
Patch


&gt; +    {
&gt; +        OwnPtr&lt;CSSRuleSet&gt; tempUserStyle(new CSSRuleSet);
&gt;          if (pageUserSheet)
&gt; -            m_userStyle-&gt;addRulesFromSheet(pageUserSheet, *m_medium, this);
&gt; +            tempUserStyle-&gt;addRulesFromSheet(pageUserSheet, *m_medium, this);
&gt;          if (pageGroupUserSheets) {
&gt;              unsigned length = pageGroupUserSheets-&gt;size();
&gt; -            for (unsigned i = 0; i &lt; length; i++)
&gt; -                m_userStyle-&gt;addRulesFromSheet(pageGroupUserSheets-&gt;at(i).get(), *m_medium, this);
&gt; +            for (unsigned i = 0; i &lt; length; i++) {
&gt; +                if (pageGroupUserSheets-&gt;at(i)-&gt;isUserStyleSheet())
&gt; +                    tempUserStyle-&gt;addRulesFromSheet(pageGroupUserSheets-&gt;at(i).get(), *m_medium, this);
&gt; +                else
&gt; +                    m_authorStyle-&gt;addRulesFromSheet(pageGroupUserSheets-&gt;at(i).get(), *m_medium, this);
&gt; +            }
&gt;          }
&gt; +
&gt; +        if (tempUserStyle-&gt;m_ruleCount &gt; 0)
&gt; +            m_userStyle = tempUserStyle.leakPtr();
&gt;      }

Unless I&apos;m misreading this, you have indented code inside braces but no longer have an if statement?  Just pull the code out of the braces.


&gt; -            parsedSheet-&gt;setIsUserStyleSheet(true);
&gt; +
&gt; +            if (sheet-&gt;level() == UserStyleSheet::UserLevel)
&gt; +                parsedSheet-&gt;setIsUserStyleSheet(true);
&gt; +            else {
&gt; +                ASSERT(sheet-&gt;level() == UserStyleSheet::AuthorLevel);
&gt; +                parsedSheet-&gt;setIsUserStyleSheet(false);
&gt; +            }
&gt; +

I wouldn&apos;t worry about the assert here... just do:

parsedSheet-&gt;setIsUserStyleSheet(sheet-&gt;level() == UserStyleSheet::UserLevel)

More compact.


&gt;      OwnPtr&lt;UserStyleSheet&gt; userStyleSheet(new UserStyleSheet(source, url, whitelist, blacklist, injectedFrames));
&gt; +    userStyleSheet-&gt;setLevel(level);

Just make level part of the constructor, so that you don&apos;t have to have a 2nd line with a setLevel call.

Everything else looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262911</commentid>
    <comment_count>5</comment_count>
      <attachid>64055</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-10 16:58:11 -0700</bug_when>
    <thetext>Created attachment 64055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263366</commentid>
    <comment_count>6</comment_count>
      <attachid>64055</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-08-11 11:49:48 -0700</bug_when>
    <thetext>Comment on attachment 64055
Patch

r-me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263433</commentid>
    <comment_count>7</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-11 13:38:29 -0700</bug_when>
    <thetext>Committed r65183: &lt;http://trac.webkit.org/changeset/65183&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263460</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-11 14:40:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/65183 might have broken Leopard Intel Release (Tests)
The following changes are on the blame list:
http://trac.webkit.org/changeset/65182
http://trac.webkit.org/changeset/65183</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263532</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-08-11 17:35:43 -0700</bug_when>
    <thetext>I think there may have been a merge problem in WebCore/ChangeLog with one of the patches landed for this bug. See https://bugs.webkit.org/show_bug.cgi?id=40320 and http://trac.webkit.org/changeset/65193 which it references.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263556</commentid>
    <comment_count>10</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-11 18:27:40 -0700</bug_when>
    <thetext>Change broke test printing/page-rule-selection.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263559</commentid>
    <comment_count>11</comment_count>
      <attachid>64179</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-11 18:33:45 -0700</bug_when>
    <thetext>Created attachment 64179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263562</commentid>
    <comment_count>12</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-11 18:36:04 -0700</bug_when>
    <thetext>The only change to the patch is the addition of &quot; || tempUserStyle-&gt;m_pageRuleCount &gt; 0&quot; to line 479 of CSSStyleSelector.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263974</commentid>
    <comment_count>13</comment_count>
      <attachid>64179</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-08-12 14:25:38 -0700</bug_when>
    <thetext>Comment on attachment 64179
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264039</commentid>
    <comment_count>14</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-12 15:41:23 -0700</bug_when>
    <thetext>Committed r65273: &lt;http://trac.webkit.org/changeset/65273&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63465</attachid>
            <date>2010-08-04 10:30:20 -0700</date>
            <delta_ts>2010-08-04 12:41:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43457-20100804103019.patch</filename>
            <type>text/plain</type>
            <size>10000</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTZhN2JmNTIwMGM4MzNlYjUwZWVlZDVhZGMwZTRhMGM1MGI0MGFiZC4uODY5NmYxMTFkYTEyNjMz
MGYzZTMwOGQ4OWJjNDcxOWQ5NTlhYjI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wOC0wNCAgQWFy
b24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBjYXNjYWRlIGxldmVsIG9mICJ1c2VyIiBz
dHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3Rvcik6IEhh
bmRsZSB0aGUgY2FzZSB3aGVyZSB1c2VyIHN0eWxlcyBtaWdodCBoYXZlIGF1dGhvciBsZXZlbC4g
TWlub3IgcmVmYWN0b3IuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpwYWdlR3JvdXBVc2VyU2hlZXRzKTogU2V0IGlzVXNlclN0eWxlIG9u
IGNyZWF0ZWQgc3R5bGVzaGVldCBvYmplY3RzIGFwcHJvcHJpYXRlbHkuCisgICAgICAgICogcGFn
ZS9QYWdlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjphZGRVc2VyU3R5
bGVTaGVldFRvV29ybGQpOiBBZGQgbmV3IG9wdGlvbmFsICJsZXZlbCIgYXJndW1lbnQuCisgICAg
ICAgICogcGFnZS9QYWdlR3JvdXAuaDogRGl0dG8uCisgICAgICAgICogcGFnZS9Vc2VyU3R5bGVT
aGVldC5oOiBBZGQgbGV2ZWwgcHJvcGVydHkuCisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVT
aGVldDo6KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0OjpVc2VyU3R5bGVTaGVl
dCk6CisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVTaGVldDo6c2V0TGV2ZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQ6OmxldmVsKToKKwogMjAxMC0wOC0wNCAgWXVyeSBT
ZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQ
YXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA5ZDdlNTA1MzFmMTJh
MTQwYWY1MTgzZDBiYjI5YjI0ODcyZDdkYWIxLi5lYzRjMjcxNmU3ODRmNWEwYWQ1MTdlYzAwM2Jh
NzllMGY2OTY0MmY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNDYwLDMyICs0NjAs
MzkgQEAgQ1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCogZG9jLCBT
dHlsZVNoZWV0TGlzdCogc3R5bGVTaGVldHMsIEMKICAgICAgICAgbV9tZWRpdW0gPSBuZXcgTWVk
aWFRdWVyeUV2YWx1YXRvcih2aWV3LT5tZWRpYVR5cGUoKSwgdmlldy0+ZnJhbWUoKSwgbV9yb290
RGVmYXVsdFN0eWxlLmdldCgpKTsKICAgICB9CiAKKyAgICBtX2F1dGhvclN0eWxlID0gbmV3IENT
U1J1bGVTZXQoKTsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHN1Y2tzISBUaGUgdXNlciBzaGVldCBp
cyByZXBhcnNlZCBldmVyeSB0aW1lIQotICAgIGlmIChwYWdlVXNlclNoZWV0IHx8IHBhZ2VHcm91
cFVzZXJTaGVldHMpIHsKLSAgICAgICAgbV91c2VyU3R5bGUgPSBuZXcgQ1NTUnVsZVNldCgpOwor
ICAgIHsKKyAgICAgICAgT3duUHRyPENTU1J1bGVTZXQ+IHRlbXBVc2VyU3R5bGUobmV3IENTU1J1
bGVTZXQpOwogICAgICAgICBpZiAocGFnZVVzZXJTaGVldCkKLSAgICAgICAgICAgIG1fdXNlclN0
eWxlLT5hZGRSdWxlc0Zyb21TaGVldChwYWdlVXNlclNoZWV0LCAqbV9tZWRpdW0sIHRoaXMpOwor
ICAgICAgICAgICAgdGVtcFVzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZVVzZXJTaGVl
dCwgKm1fbWVkaXVtLCB0aGlzKTsKICAgICAgICAgaWYgKHBhZ2VHcm91cFVzZXJTaGVldHMpIHsK
ICAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBhZ2VHcm91cFVzZXJTaGVldHMtPnNpemUo
KTsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAg
ICAgICAgICAgICAgICBtX3VzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdyb3VwVXNl
clNoZWV0cy0+YXQoaSkuZ2V0KCksICptX21lZGl1bSwgdGhpcyk7CisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAo
cGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSktPmlzVXNlclN0eWxlU2hlZXQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgdGVtcFVzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdyb3VwVXNl
clNoZWV0cy0+YXQoaSkuZ2V0KCksICptX21lZGl1bSwgdGhpcyk7CisgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICBtX2F1dGhvclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVl
dChwYWdlR3JvdXBVc2VyU2hlZXRzLT5hdChpKS5nZXQoKSwgKm1fbWVkaXVtLCB0aGlzKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIGlmICh0ZW1wVXNlclN0eWxlLT5tX3J1
bGVDb3VudCA+IDApCisgICAgICAgICAgICBtX3VzZXJTdHlsZSA9IHRlbXBVc2VyU3R5bGUubGVh
a1B0cigpOwogICAgIH0KIAotICAgIC8vIGFkZCBzdHlsZXNoZWV0cyBmcm9tIGRvY3VtZW50Ci0g
ICAgbV9hdXRob3JTdHlsZSA9IG5ldyBDU1NSdWxlU2V0KCk7Ci0gICAgCiAgICAgLy8gQWRkIHJ1
bGVzIGZyb20gZWxlbWVudHMgbGlrZSBTVkcncyA8Zm9udC1mYWNlPgogICAgIGlmIChtYXBwZWRF
bGVtZW50U2hlZXQpCiAgICAgICAgIG1fYXV0aG9yU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1h
cHBlZEVsZW1lbnRTaGVldCwgKm1fbWVkaXVtLCB0aGlzKTsKIAorICAgIC8vIGFkZCBzdHlsZXNo
ZWV0cyBmcm9tIGRvY3VtZW50CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3R5bGVTaGVldHMtPmxl
bmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAg
ICAgICBTdHlsZVNoZWV0KiBzaGVldCA9IHN0eWxlU2hlZXRzLT5pdGVtKGkpOwogICAgICAgICBp
ZiAoc2hlZXQtPmlzQ1NTU3R5bGVTaGVldCgpICYmICFzaGVldC0+ZGlzYWJsZWQoKSkKICAgICAg
ICAgICAgIG1fYXV0aG9yU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHN0YXRpY19jYXN0PENTU1N0
eWxlU2hlZXQqPihzaGVldCksICptX21lZGl1bSwgdGhpcyk7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKGRvYy0+cmVuZGVyZXIoKSAmJiBkb2MtPnJlbmRlcmVyKCktPnN0eWxlKCkpCiAgICAgICAg
IGRvYy0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+Zm9udCgpLnVwZGF0ZShmb250U2VsZWN0b3IoKSk7
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKaW5kZXggOTFlZmU5ZWRlM2NkNWY0MWJjZjdkNzQ0OWU0NDI4ZjFhNjA5NzY2
Zi4uNTBiZjM4YzlmMjI1ODEwZjY5YTg1ZTc4NTE0ZTY5MzhhMDM4OTRjZiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtMjIyNCw3ICsyMjI0LDE0IEBAIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4g
PiogRG9jdW1lbnQ6OnBhZ2VHcm91cFVzZXJTaGVldHMoKSBjb25zdAogICAgICAgICAgICAgaWYg
KCFVc2VyQ29udGVudFVSTFBhdHRlcm46Om1hdGNoZXNQYXR0ZXJucyh1cmwoKSwgc2hlZXQtPndo
aXRlbGlzdCgpLCBzaGVldC0+YmxhY2tsaXN0KCkpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IHBhcnNlZFNoZWV0ID0gQ1NTU3R5
bGVTaGVldDo6Y3JlYXRlSW5saW5lKGNvbnN0X2Nhc3Q8RG9jdW1lbnQqPih0aGlzKSwgc2hlZXQt
PnVybCgpKTsKLSAgICAgICAgICAgIHBhcnNlZFNoZWV0LT5zZXRJc1VzZXJTdHlsZVNoZWV0KHRy
dWUpOworCisgICAgICAgICAgICBpZiAoc2hlZXQtPmxldmVsKCkgPT0gVXNlclN0eWxlU2hlZXQ6
OlVzZXJMZXZlbCkKKyAgICAgICAgICAgICAgICBwYXJzZWRTaGVldC0+c2V0SXNVc2VyU3R5bGVT
aGVldCh0cnVlKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChz
aGVldC0+bGV2ZWwoKSA9PSBVc2VyU3R5bGVTaGVldDo6QXV0aG9yTGV2ZWwpOworICAgICAgICAg
ICAgICAgIHBhcnNlZFNoZWV0LT5zZXRJc1VzZXJTdHlsZVNoZWV0KGZhbHNlKTsKKyAgICAgICAg
ICAgIH0KKwogICAgICAgICAgICAgcGFyc2VkU2hlZXQtPnBhcnNlU3RyaW5nKHNoZWV0LT5zb3Vy
Y2UoKSwgIWluQ29tcGF0TW9kZSgpKTsKICAgICAgICAgICAgIGlmICghbV9wYWdlR3JvdXBVc2Vy
U2hlZXRzKQogICAgICAgICAgICAgICAgIG1fcGFnZUdyb3VwVXNlclNoZWV0cy5zZXQobmV3IFZl
Y3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwLmNwcCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCmluZGV4IDEyYjFhNDFj
YTRkYjAyMDNjMzkwMjQwMDY4ODNkZjliMzI4NzIzM2QuLjZjZWNiNTgyMDgwNjU0OWI3ZDAxNzZk
NzljYTYwYmRjNTViMGRlYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
CisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCkBAIC0yMzYsMTEgKzIzNiwxMyBAQCB2
b2lkIFBhZ2VHcm91cDo6YWRkVXNlclNjcmlwdFRvV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3Js
ZCwgY29uc3QgU3RyaW5nJiBzb3VyYwogCiB2b2lkIFBhZ2VHcm91cDo6YWRkVXNlclN0eWxlU2hl
ZXRUb1dvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmluZyYgc291cmNlLCBj
b25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9y
PFN0cmluZz4gPiBibGFja2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFt
ZXMgaW5qZWN0ZWRGcmFtZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFVzZXJTdHlsZVNoZWV0OjpMZXZlbCBsZXZlbCkKIHsKICAgICBBU1NFUlRfQVJHKHdvcmxk
LCB3b3JsZCk7CiAKICAgICBPd25QdHI8VXNlclN0eWxlU2hlZXQ+IHVzZXJTdHlsZVNoZWV0KG5l
dyBVc2VyU3R5bGVTaGVldChzb3VyY2UsIHVybCwgd2hpdGVsaXN0LCBibGFja2xpc3QsIGluamVj
dGVkRnJhbWVzKSk7CisgICAgdXNlclN0eWxlU2hlZXQtPnNldExldmVsKGxldmVsKTsKICAgICBp
ZiAoIW1fdXNlclN0eWxlU2hlZXRzKQogICAgICAgICBtX3VzZXJTdHlsZVNoZWV0cy5zZXQobmV3
IFVzZXJTdHlsZVNoZWV0TWFwKTsKICAgICBVc2VyU3R5bGVTaGVldFZlY3RvciomIHN0eWxlU2hl
ZXRzSW5Xb3JsZCA9IG1fdXNlclN0eWxlU2hlZXRzLT5hZGQod29ybGQsIDApLmZpcnN0LT5zZWNv
bmQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwLmgKaW5kZXggMDhiMDNkNzAyNzg1MDQwMjM3Mzg4ZWU1ZjkyOTFjOWIzNDVjMDRm
Mi4uNTFlYmY5ZmM1MmZmY2E5MjI3ZTE2ZTEyNTdlYTgyMzVjOWRlNjc1NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApA
QCAtODAsNyArODAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVXNlclNjcmlwdEluamVjdGlvblRpbWUsIFVzZXJDb250ZW50SW5qZWN0
ZWRGcmFtZXMpOwogICAgICAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0VG9Xb3JsZChET01XcmFw
cGVyV29ybGQqLCBjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3
aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyQ29udGVudEluamVj
dGVkRnJhbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyU3R5
bGVTaGVldDo6TGV2ZWwgbGV2ZWwgPSBVc2VyU3R5bGVTaGVldDo6VXNlckxldmVsKTsKIAogICAg
ICAgICB2b2lkIHJlbW92ZVVzZXJTY3JpcHRGcm9tV29ybGQoRE9NV3JhcHBlcldvcmxkKiwgY29u
c3QgS1VSTCYpOwogICAgICAgICB2b2lkIHJlbW92ZVVzZXJTdHlsZVNoZWV0RnJvbVdvcmxkKERP
TVdyYXBwZXJXb3JsZCosIGNvbnN0IEtVUkwmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggNGM2
ZDcwODJiMGViNDIwNWQ4MGUzNzI3MzA1NGY1ZTBiM2Y3YTFjNi4uZWIyODdhYjkzNDQ3OWRjN2Q1
MDk4NmNjZGRhMjdkOTk1Zjk1OWRkOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHls
ZVNoZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM3LDYgKzM3
LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJs
aWMgTm9uY29weWFibGUgewogcHVibGljOgorICAgIGVudW0gTGV2ZWwgeworICAgICAgICBVc2Vy
TGV2ZWwsCisgICAgICAgIEF1dGhvckxldmVsCisgICAgfTsKKwogICAgIFVzZXJTdHlsZVNoZWV0
KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICAg
ICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0
b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKICAgICAgICAgICAgICAgICAgICBVc2VyQ29udGVudElu
amVjdGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKQpAQCAtNDUsNiArNTAsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICwgbV93aGl0ZWxpc3Qod2hpdGVsaXN0KQogICAgICAgICAsIG1fYmxhY2tsaXN0KGJs
YWNrbGlzdCkKICAgICAgICAgLCBtX2luamVjdGVkRnJhbWVzKGluamVjdGVkRnJhbWVzKQorICAg
ICAgICAsIG1fbGV2ZWwoVXNlckxldmVsKQogICAgIHsKICAgICB9CiAKQEAgLTU0LDEyICs2MCwx
NiBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4qIGJsYWNrbGlzdCgpIGNvbnN0
IHsgcmV0dXJuIG1fYmxhY2tsaXN0LmdldCgpOyB9CiAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZy
YW1lcyBpbmplY3RlZEZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1faW5qZWN0ZWRGcmFtZXM7IH0K
IAorICAgIHZvaWQgc2V0TGV2ZWwoTGV2ZWwgbGV2ZWwpIHsgbV9sZXZlbCA9IGxldmVsOyB9Cisg
ICAgTGV2ZWwgbGV2ZWwoKSBjb25zdCB7IHJldHVybiBtX2xldmVsOyB9CisKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1fc291cmNlOwogICAgIEtVUkwgbV91cmw7CiAgICAgT3duUHRyPFZlY3RvcjxT
dHJpbmc+ID4gbV93aGl0ZWxpc3Q7CiAgICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gbV9ibGFj
a2xpc3Q7CiAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBtX2luamVjdGVkRnJhbWVzOwor
ICAgIExldmVsIG1fbGV2ZWw7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCAxYTRiZDM2MTBhNWVlZWI2YTQ4YWU1ZmNjMWVhNTY1NTUzYzg4M2M5Li5lYzViZmZi
NzZiYjk2YzgyODRkODI1OWY2NDQxNjFkZWUzNjhkZjVhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMC0wOC0wNCAgQWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBj
YXNjYWRlIGxldmVsIG9mICJ1c2VyIiBzdHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgICogc3Jj
L1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6YWRkVXNlclN0eWxl
U2hlZXQpOiBTZW5kICJhdXRob3IiIGZvciB0aGUgY3NzIGxldmVsIG9mIHVzZXIgc3R5bGVzLgor
CiAyMDEwLTA4LTA0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IDY5MWYxNDM2MTA3ZTNjMzZkNWNlZDkzMTliYmM2Zjg5M2EyYjZlMzQu
LjhlNTFiNDU3MzYzNzgxMzFiNTFiYWRlNTFlYzhhMjY0OGEyYjc1ZTMgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xOTQwLDggKzE5NDAsMTQgQEAgdm9pZCBXZWJWaWV3Ojph
ZGRVc2VyU3R5bGVTaGVldChjb25zdCBXZWJTdHJpbmcmIHNvdXJjZUNvZGUsCiAKICAgICBQYWdl
R3JvdXAqIHBhZ2VHcm91cCA9IFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cE5hbWUpOwog
ICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkKERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRl
KCkpOworCisgICAgLy8gRklYTUU6IEN1cnJlbnQgY2FsbGVycyBhbHdheXMgd2FudCB0aGUgbGV2
ZWwgdG8gYmUgImF1dGhvciIuIEl0IHByb2JhYmx5IG1ha2VzIHNlbnNlIHRvIGxldAorICAgIC8v
IGNhbGxlcnMgc3BlY2lmeSB0aGlzIHRob3VnaCwgc2luY2UgaW4gb3RoZXIgY2FzZXMgdGhlIGNh
bGxlciB3aWxsIHByb2JhYmx5IHdhbnQgInVzZXIiIGxldmVsLgorICAgIC8vCisgICAgLy8gRklY
TUU6IEl0IHdvdWxkIGJlIG5pY2UgdG8gcG9wdWxhdGUgdGhlIFVSTCBjb3JyZWN0bHksIGluc3Rl
YWQgb2YgcGFzc2luZyBhbiBlbXB0eSBVUkwuCiAgICAgcGFnZUdyb3VwLT5hZGRVc2VyU3R5bGVT
aGVldFRvV29ybGQod29ybGQuZ2V0KCksIHNvdXJjZUNvZGUsIFdlYlVSTCgpLCBwYXR0ZXJucy5y
ZWxlYXNlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcz4oaW5qZWN0SW4pKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxVc2VyQ29udGVudElu
amVjdGVkRnJhbWVzPihpbmplY3RJbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVXNlclN0eWxlU2hlZXQ6OkF1dGhvckxldmVsKTsKIH0KIAogdm9pZCBXZWJWaWV3
OjpyZW1vdmVBbGxVc2VyQ29udGVudCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63481</attachid>
            <date>2010-08-04 12:41:34 -0700</date>
            <delta_ts>2010-08-10 16:58:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43457-20100804124133.patch</filename>
            <type>text/plain</type>
            <size>11158</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTZhN2JmNTIwMGM4MzNlYjUwZWVlZDVhZGMwZTRhMGM1MGI0MGFiZC4uODY5NmYxMTFkYTEyNjMz
MGYzZTMwOGQ4OWJjNDcxOWQ5NTlhYjI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wOC0wNCAgQWFy
b24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBjYXNjYWRlIGxldmVsIG9mICJ1c2VyIiBz
dHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3Rvcik6IEhh
bmRsZSB0aGUgY2FzZSB3aGVyZSB1c2VyIHN0eWxlcyBtaWdodCBoYXZlIGF1dGhvciBsZXZlbC4g
TWlub3IgcmVmYWN0b3IuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpwYWdlR3JvdXBVc2VyU2hlZXRzKTogU2V0IGlzVXNlclN0eWxlIG9u
IGNyZWF0ZWQgc3R5bGVzaGVldCBvYmplY3RzIGFwcHJvcHJpYXRlbHkuCisgICAgICAgICogcGFn
ZS9QYWdlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjphZGRVc2VyU3R5
bGVTaGVldFRvV29ybGQpOiBBZGQgbmV3IG9wdGlvbmFsICJsZXZlbCIgYXJndW1lbnQuCisgICAg
ICAgICogcGFnZS9QYWdlR3JvdXAuaDogRGl0dG8uCisgICAgICAgICogcGFnZS9Vc2VyU3R5bGVT
aGVldC5oOiBBZGQgbGV2ZWwgcHJvcGVydHkuCisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVT
aGVldDo6KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0OjpVc2VyU3R5bGVTaGVl
dCk6CisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVTaGVldDo6c2V0TGV2ZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQ6OmxldmVsKToKKwogMjAxMC0wOC0wNCAgWXVyeSBT
ZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQ
YXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzA3YTViODA1NzJhODA3MTUwYzliZDBmZGZiZmZhZmY3
YWY1Y2RiYy4uOGZhMzdlYzQ4MzNkNWM0NjdlNTUxZjZjNDFmM2ZlNTZjMTYyNzk3MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC04MjIsNyArODIyLDcgQEAgX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE4YWRkVmlzaXRlZExp
bmtIYXNoRXkKIF9fWk43V2ViQ29yZTlQYWdlR3JvdXAyMGFkZFVzZXJTY3JpcHRUb1dvcmxkRVBO
U18xNURPTVdyYXBwZXJXb3JsZEVSS05TXzZTdHJpbmdFUktOU180S1VSTEVOM1dURjEwUGFzc093
blB0cklOUzlfNlZlY3RvcklTM19MbTBFRUVFRVNEX05TXzIzVXNlclNjcmlwdEluamVjdGlvblRp
bWVFTlNfMjVVc2VyQ29udGVudEluamVjdGVkRnJhbWVzRQogX19aTjdXZWJDb3JlOVBhZ2VHcm91
cDIwcmVtb3ZlQWxsVXNlckNvbnRlbnRFdgogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDIxcmVtb3Zl
QWxsVmlzaXRlZExpbmtzRXYKLV9fWk43V2ViQ29yZTlQYWdlR3JvdXAyNGFkZFVzZXJTdHlsZVNo
ZWV0VG9Xb3JsZEVQTlNfMTVET01XcmFwcGVyV29ybGRFUktOU182U3RyaW5nRVJLTlNfNEtVUkxF
TjNXVEYxMFBhc3NPd25QdHJJTlM5XzZWZWN0b3JJUzNfTG0wRUVFRUVTRF9OU18yNVVzZXJDb250
ZW50SW5qZWN0ZWRGcmFtZXNFCitfX1pON1dlYkNvcmU5UGFnZUdyb3VwMjRhZGRVc2VyU3R5bGVT
aGVldFRvV29ybGRFUE5TXzE1RE9NV3JhcHBlcldvcmxkRVJLTlNfNlN0cmluZ0VSS05TXzRLVVJM
RU4zV1RGMTBQYXNzT3duUHRySU5TOV82VmVjdG9ySVMzX0xtMEVFRUVFU0RfTlNfMjVVc2VyQ29u
dGVudEluamVjdGVkRnJhbWVzRU5TXzE0VXNlclN0eWxlU2hlZXQ1TGV2ZWxFCiBfX1pON1dlYkNv
cmU5UGFnZUdyb3VwMjVyZW1vdmVVc2VyU2NyaXB0RnJvbVdvcmxkRVBOU18xNURPTVdyYXBwZXJX
b3JsZEVSS05TXzRLVVJMRQogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDI2cmVtb3ZlVXNlclNjcmlw
dHNGcm9tV29ybGRFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQogX19aTjdXZWJDb3JlOVBhZ2VHcm91
cDI2c2V0U2hvdWxkVHJhY2tWaXNpdGVkTGlua3NFYgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApp
bmRleCA5ZDdlNTA1MzFmMTJhMTQwYWY1MTgzZDBiYjI5YjI0ODcyZDdkYWIxLi5lYzRjMjcxNmU3
ODRmNWEwYWQ1MTdlYzAwM2JhNzllMGY2OTY0MmY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cApAQCAtNDYwLDMyICs0NjAsMzkgQEAgQ1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3Rv
cihEb2N1bWVudCogZG9jLCBTdHlsZVNoZWV0TGlzdCogc3R5bGVTaGVldHMsIEMKICAgICAgICAg
bV9tZWRpdW0gPSBuZXcgTWVkaWFRdWVyeUV2YWx1YXRvcih2aWV3LT5tZWRpYVR5cGUoKSwgdmll
dy0+ZnJhbWUoKSwgbV9yb290RGVmYXVsdFN0eWxlLmdldCgpKTsKICAgICB9CiAKKyAgICBtX2F1
dGhvclN0eWxlID0gbmV3IENTU1J1bGVTZXQoKTsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHN1Y2tz
ISBUaGUgdXNlciBzaGVldCBpcyByZXBhcnNlZCBldmVyeSB0aW1lIQotICAgIGlmIChwYWdlVXNl
clNoZWV0IHx8IHBhZ2VHcm91cFVzZXJTaGVldHMpIHsKLSAgICAgICAgbV91c2VyU3R5bGUgPSBu
ZXcgQ1NTUnVsZVNldCgpOworICAgIHsKKyAgICAgICAgT3duUHRyPENTU1J1bGVTZXQ+IHRlbXBV
c2VyU3R5bGUobmV3IENTU1J1bGVTZXQpOwogICAgICAgICBpZiAocGFnZVVzZXJTaGVldCkKLSAg
ICAgICAgICAgIG1fdXNlclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChwYWdlVXNlclNoZWV0LCAq
bV9tZWRpdW0sIHRoaXMpOworICAgICAgICAgICAgdGVtcFVzZXJTdHlsZS0+YWRkUnVsZXNGcm9t
U2hlZXQocGFnZVVzZXJTaGVldCwgKm1fbWVkaXVtLCB0aGlzKTsKICAgICAgICAgaWYgKHBhZ2VH
cm91cFVzZXJTaGVldHMpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBhZ2VHcm91
cFVzZXJTaGVldHMtPnNpemUoKTsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBsZW5ndGg7IGkrKykKLSAgICAgICAgICAgICAgICBtX3VzZXJTdHlsZS0+YWRkUnVsZXNGcm9t
U2hlZXQocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSkuZ2V0KCksICptX21lZGl1bSwgdGhpcyk7
CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAg
ICAgICAgICAgICAgICBpZiAocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSktPmlzVXNlclN0eWxl
U2hlZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgdGVtcFVzZXJTdHlsZS0+YWRkUnVsZXNGcm9t
U2hlZXQocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSkuZ2V0KCksICptX21lZGl1bSwgdGhpcyk7
CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBtX2F1dGhvclN0eWxl
LT5hZGRSdWxlc0Zyb21TaGVldChwYWdlR3JvdXBVc2VyU2hlZXRzLT5hdChpKS5nZXQoKSwgKm1f
bWVkaXVtLCB0aGlzKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIGlmICh0
ZW1wVXNlclN0eWxlLT5tX3J1bGVDb3VudCA+IDApCisgICAgICAgICAgICBtX3VzZXJTdHlsZSA9
IHRlbXBVc2VyU3R5bGUubGVha1B0cigpOwogICAgIH0KIAotICAgIC8vIGFkZCBzdHlsZXNoZWV0
cyBmcm9tIGRvY3VtZW50Ci0gICAgbV9hdXRob3JTdHlsZSA9IG5ldyBDU1NSdWxlU2V0KCk7Ci0g
ICAgCiAgICAgLy8gQWRkIHJ1bGVzIGZyb20gZWxlbWVudHMgbGlrZSBTVkcncyA8Zm9udC1mYWNl
PgogICAgIGlmIChtYXBwZWRFbGVtZW50U2hlZXQpCiAgICAgICAgIG1fYXV0aG9yU3R5bGUtPmFk
ZFJ1bGVzRnJvbVNoZWV0KG1hcHBlZEVsZW1lbnRTaGVldCwgKm1fbWVkaXVtLCB0aGlzKTsKIAor
ICAgIC8vIGFkZCBzdHlsZXNoZWV0cyBmcm9tIGRvY3VtZW50CiAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gc3R5bGVTaGVldHMtPmxlbmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW5ndGg7IGkrKykgewogICAgICAgICBTdHlsZVNoZWV0KiBzaGVldCA9IHN0eWxlU2hlZXRzLT5p
dGVtKGkpOwogICAgICAgICBpZiAoc2hlZXQtPmlzQ1NTU3R5bGVTaGVldCgpICYmICFzaGVldC0+
ZGlzYWJsZWQoKSkKICAgICAgICAgICAgIG1fYXV0aG9yU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0
KHN0YXRpY19jYXN0PENTU1N0eWxlU2hlZXQqPihzaGVldCksICptX21lZGl1bSwgdGhpcyk7CiAg
ICAgfQotICAgIAorCiAgICAgaWYgKGRvYy0+cmVuZGVyZXIoKSAmJiBkb2MtPnJlbmRlcmVyKCkt
PnN0eWxlKCkpCiAgICAgICAgIGRvYy0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+Zm9udCgpLnVwZGF0
ZShmb250U2VsZWN0b3IoKSk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOTFlZmU5ZWRlM2NkNWY0MWJjZjdk
NzQ0OWU0NDI4ZjFhNjA5NzY2Zi4uNTBiZjM4YzlmMjI1ODEwZjY5YTg1ZTc4NTE0ZTY5MzhhMDM4
OTRjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtMjIyNCw3ICsyMjI0LDE0IEBAIGNvbnN0IFZlY3RvcjxSZWZQ
dHI8Q1NTU3R5bGVTaGVldD4gPiogRG9jdW1lbnQ6OnBhZ2VHcm91cFVzZXJTaGVldHMoKSBjb25z
dAogICAgICAgICAgICAgaWYgKCFVc2VyQ29udGVudFVSTFBhdHRlcm46Om1hdGNoZXNQYXR0ZXJu
cyh1cmwoKSwgc2hlZXQtPndoaXRlbGlzdCgpLCBzaGVldC0+YmxhY2tsaXN0KCkpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IHBh
cnNlZFNoZWV0ID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlSW5saW5lKGNvbnN0X2Nhc3Q8RG9jdW1l
bnQqPih0aGlzKSwgc2hlZXQtPnVybCgpKTsKLSAgICAgICAgICAgIHBhcnNlZFNoZWV0LT5zZXRJ
c1VzZXJTdHlsZVNoZWV0KHRydWUpOworCisgICAgICAgICAgICBpZiAoc2hlZXQtPmxldmVsKCkg
PT0gVXNlclN0eWxlU2hlZXQ6OlVzZXJMZXZlbCkKKyAgICAgICAgICAgICAgICBwYXJzZWRTaGVl
dC0+c2V0SXNVc2VyU3R5bGVTaGVldCh0cnVlKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgICAgIEFTU0VSVChzaGVldC0+bGV2ZWwoKSA9PSBVc2VyU3R5bGVTaGVldDo6QXV0aG9y
TGV2ZWwpOworICAgICAgICAgICAgICAgIHBhcnNlZFNoZWV0LT5zZXRJc1VzZXJTdHlsZVNoZWV0
KGZhbHNlKTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgcGFyc2VkU2hlZXQtPnBhcnNl
U3RyaW5nKHNoZWV0LT5zb3VyY2UoKSwgIWluQ29tcGF0TW9kZSgpKTsKICAgICAgICAgICAgIGlm
ICghbV9wYWdlR3JvdXBVc2VyU2hlZXRzKQogICAgICAgICAgICAgICAgIG1fcGFnZUdyb3VwVXNl
clNoZWV0cy5zZXQobmV3IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNwcCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAu
Y3BwCmluZGV4IDEyYjFhNDFjYTRkYjAyMDNjMzkwMjQwMDY4ODNkZjliMzI4NzIzM2QuLjZjZWNi
NTgyMDgwNjU0OWI3ZDAxNzZkNzljYTYwYmRjNTViMGRlYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCkBAIC0y
MzYsMTEgKzIzNiwxMyBAQCB2b2lkIFBhZ2VHcm91cDo6YWRkVXNlclNjcmlwdFRvV29ybGQoRE9N
V3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzb3VyYwogCiB2b2lkIFBhZ2VHcm91
cDo6YWRkVXNlclN0eWxlU2hlZXRUb1dvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0
IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3Qs
IFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0
ZWRGcmFtZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJD
b250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFVzZXJTdHlsZVNoZWV0OjpMZXZlbCBsZXZlbCkKIHsKICAg
ICBBU1NFUlRfQVJHKHdvcmxkLCB3b3JsZCk7CiAKICAgICBPd25QdHI8VXNlclN0eWxlU2hlZXQ+
IHVzZXJTdHlsZVNoZWV0KG5ldyBVc2VyU3R5bGVTaGVldChzb3VyY2UsIHVybCwgd2hpdGVsaXN0
LCBibGFja2xpc3QsIGluamVjdGVkRnJhbWVzKSk7CisgICAgdXNlclN0eWxlU2hlZXQtPnNldExl
dmVsKGxldmVsKTsKICAgICBpZiAoIW1fdXNlclN0eWxlU2hlZXRzKQogICAgICAgICBtX3VzZXJT
dHlsZVNoZWV0cy5zZXQobmV3IFVzZXJTdHlsZVNoZWV0TWFwKTsKICAgICBVc2VyU3R5bGVTaGVl
dFZlY3RvciomIHN0eWxlU2hlZXRzSW5Xb3JsZCA9IG1fdXNlclN0eWxlU2hlZXRzLT5hZGQod29y
bGQsIDApLmZpcnN0LT5zZWNvbmQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5kZXggMDhiMDNkNzAyNzg1MDQwMjM3Mzg4
ZWU1ZjkyOTFjOWIzNDVjMDRmMi4uNTFlYmY5ZmM1MmZmY2E5MjI3ZTE2ZTEyNTdlYTgyMzVjOWRl
Njc1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXAuaApAQCAtODAsNyArODAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlclNjcmlwdEluamVjdGlvblRpbWUs
IFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMpOwogICAgICAgICB2b2lkIGFkZFVzZXJTdHlsZVNo
ZWV0VG9Xb3JsZChET01XcmFwcGVyV29ybGQqLCBjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3Qg
S1VSTCYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8
VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBi
bGFja2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJDb250
ZW50SW5qZWN0ZWRGcmFtZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBVc2VyQ29udGVudEluamVjdGVkRnJhbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBVc2VyU3R5bGVTaGVldDo6TGV2ZWwgbGV2ZWwgPSBVc2VyU3R5bGVTaGVldDo6
VXNlckxldmVsKTsKIAogICAgICAgICB2b2lkIHJlbW92ZVVzZXJTY3JpcHRGcm9tV29ybGQoRE9N
V3JhcHBlcldvcmxkKiwgY29uc3QgS1VSTCYpOwogICAgICAgICB2b2lkIHJlbW92ZVVzZXJTdHls
ZVNoZWV0RnJvbVdvcmxkKERPTVdyYXBwZXJXb3JsZCosIGNvbnN0IEtVUkwmKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHls
ZVNoZWV0LmgKaW5kZXggNGM2ZDcwODJiMGViNDIwNWQ4MGUzNzI3MzA1NGY1ZTBiM2Y3YTFjNi4u
ZWIyODdhYjkzNDQ3OWRjN2Q1MDk4NmNjZGRhMjdkOTk1Zjk1OWRkOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNo
ZWV0LmgKQEAgLTM3LDYgKzM3LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVXNl
clN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgorICAgIGVudW0gTGV2
ZWwgeworICAgICAgICBVc2VyTGV2ZWwsCisgICAgICAgIEF1dGhvckxldmVsCisgICAgfTsKKwog
ICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmws
CiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlz
dCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKICAgICAgICAgICAgICAg
ICAgICBVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKQpAQCAtNDUsNiAr
NTAsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV93aGl0ZWxpc3Qod2hpdGVsaXN0KQogICAgICAg
ICAsIG1fYmxhY2tsaXN0KGJsYWNrbGlzdCkKICAgICAgICAgLCBtX2luamVjdGVkRnJhbWVzKGlu
amVjdGVkRnJhbWVzKQorICAgICAgICAsIG1fbGV2ZWwoVXNlckxldmVsKQogICAgIHsKICAgICB9
CiAKQEAgLTU0LDEyICs2MCwxNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4q
IGJsYWNrbGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYmxhY2tsaXN0LmdldCgpOyB9CiAgICAgVXNl
ckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1f
aW5qZWN0ZWRGcmFtZXM7IH0KIAorICAgIHZvaWQgc2V0TGV2ZWwoTGV2ZWwgbGV2ZWwpIHsgbV9s
ZXZlbCA9IGxldmVsOyB9CisgICAgTGV2ZWwgbGV2ZWwoKSBjb25zdCB7IHJldHVybiBtX2xldmVs
OyB9CisKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fc291cmNlOwogICAgIEtVUkwgbV91cmw7CiAg
ICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gbV93aGl0ZWxpc3Q7CiAgICAgT3duUHRyPFZlY3Rv
cjxTdHJpbmc+ID4gbV9ibGFja2xpc3Q7CiAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBt
X2luamVjdGVkRnJhbWVzOworICAgIExldmVsIG1fbGV2ZWw7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxYTRiZDM2MTBhNWVlZWI2YTQ4YWU1ZmNjMWVhNTY1
NTUzYzg4M2M5Li5lYzViZmZiNzZiYjk2YzgyODRkODI1OWY2NDQxNjFkZWUzNjhkZjVhIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOC0wNCAgQWFyb24gQm9vZG1hbiAgPGFh
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIHRoZSBjYXNjYWRlIGxldmVsIG9mICJ1c2VyIiBzdHlsZXMgY29uZmlndXJh
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQ1
NworCisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6YWRkVXNlclN0eWxlU2hlZXQpOiBTZW5kICJhdXRob3IiIGZvciB0aGUgY3NzIGxldmVs
IG9mIHVzZXIgc3R5bGVzLgorCiAyMDEwLTA4LTA0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDY5MWYxNDM2MTA3ZTNjMzZkNWNlZDkz
MTliYmM2Zjg5M2EyYjZlMzQuLjhlNTFiNDU3MzYzNzgxMzFiNTFiYWRlNTFlYzhhMjY0OGEyYjc1
ZTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xOTQwLDggKzE5NDAsMTQg
QEAgdm9pZCBXZWJWaWV3OjphZGRVc2VyU3R5bGVTaGVldChjb25zdCBXZWJTdHJpbmcmIHNvdXJj
ZUNvZGUsCiAKICAgICBQYWdlR3JvdXAqIHBhZ2VHcm91cCA9IFBhZ2VHcm91cDo6cGFnZUdyb3Vw
KHBhZ2VHcm91cE5hbWUpOwogICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkKERPTVdy
YXBwZXJXb3JsZDo6Y3JlYXRlKCkpOworCisgICAgLy8gRklYTUU6IEN1cnJlbnQgY2FsbGVycyBh
bHdheXMgd2FudCB0aGUgbGV2ZWwgdG8gYmUgImF1dGhvciIuIEl0IHByb2JhYmx5IG1ha2VzIHNl
bnNlIHRvIGxldAorICAgIC8vIGNhbGxlcnMgc3BlY2lmeSB0aGlzIHRob3VnaCwgc2luY2UgaW4g
b3RoZXIgY2FzZXMgdGhlIGNhbGxlciB3aWxsIHByb2JhYmx5IHdhbnQgInVzZXIiIGxldmVsLgor
ICAgIC8vCisgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIG5pY2UgdG8gcG9wdWxhdGUgdGhlIFVS
TCBjb3JyZWN0bHksIGluc3RlYWQgb2YgcGFzc2luZyBhbiBlbXB0eSBVUkwuCiAgICAgcGFnZUdy
b3VwLT5hZGRVc2VyU3R5bGVTaGVldFRvV29ybGQod29ybGQuZ2V0KCksIHNvdXJjZUNvZGUsIFdl
YlVSTCgpLCBwYXR0ZXJucy5yZWxlYXNlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcz4oaW5q
ZWN0SW4pKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxVc2VyQ29udGVudEluamVjdGVkRnJhbWVzPihpbmplY3RJbiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlclN0eWxlU2hlZXQ6OkF1dGhvckxldmVsKTsK
IH0KIAogdm9pZCBXZWJWaWV3OjpyZW1vdmVBbGxVc2VyQ29udGVudCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64055</attachid>
            <date>2010-08-10 16:58:11 -0700</date>
            <delta_ts>2010-08-11 18:33:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43457-20100810165810.patch</filename>
            <type>text/plain</type>
            <size>11227</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzNjNTQwYzIxYzFlMjY1ZDMxZDkzNWU4MWNlMjg3ZGM3MjhkZWQzMi4uYTIzNDQ4MGVjYWUyYWQw
OGUxOTk5N2I3MjM3M2U5ZDI0YTI0MTUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wOC0xMCAgQWFy
b24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBjYXNjYWRlIGxldmVsIG9mICJ1c2VyIiBz
dHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3Rvcik6IEhh
bmRsZSB0aGUgY2FzZSB3aGVyZSB1c2VyIHN0eWxlcyBtaWdodCBoYXZlIGF1dGhvciBsZXZlbC4g
TWlub3IgcmVmYWN0b3IuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpwYWdlR3JvdXBVc2VyU2hlZXRzKTogU2V0IGlzVXNlclN0eWxlIG9u
IGNyZWF0ZWQgc3R5bGVzaGVldCBvYmplY3RzIGFwcHJvcHJpYXRlbHkuCisgICAgICAgICogcGFn
ZS9QYWdlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjphZGRVc2VyU3R5
bGVTaGVldFRvV29ybGQpOiBBZGQgbmV3IG9wdGlvbmFsICJsZXZlbCIgYXJndW1lbnQuCisgICAg
ICAgICogcGFnZS9QYWdlR3JvdXAuaDogRGl0dG8uCisgICAgICAgICogcGFnZS9Vc2VyU3R5bGVT
aGVldC5oOiBBZGQgbGV2ZWwgcHJvcGVydHkuCisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVT
aGVldDo6KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0OjpVc2VyU3R5bGVTaGVl
dCk6CisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVTaGVldDo6c2V0TGV2ZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQ6OmxldmVsKToKKwogMjAxMC0wOC0xMCAgR2F2aW4g
QmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyIHN0
YW1wZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4g
Yi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJkYTRkZWUwOGQ0ZWNmMGQ2Y2I2MGFjZmFh
Y2Q0ZWEwODk0NTZkOTcuLjEzNjkyOTYyZGZjZmYwYzlhNzQyYjZlM2Y2N2UxZWZmYjJjNzFlNzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtODIwLDcgKzgyMCw3IEBAIF9fWk43V2ViQ29yZTlQYWdlR3JvdXAxOGFkZFZp
c2l0ZWRMaW5rSGFzaEV5CiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMjBhZGRVc2VyU2NyaXB0VG9X
b3JsZEVQTlNfMTVET01XcmFwcGVyV29ybGRFUktOM1dURjZTdHJpbmdFUktOU180S1VSTEVOUzNf
MTBQYXNzT3duUHRySU5TM182VmVjdG9ySVM0X0xtMEVFRUVFU0RfTlNfMjNVc2VyU2NyaXB0SW5q
ZWN0aW9uVGltZUVOU18yNVVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXNFCiBfX1pON1dlYkNvcmU5
UGFnZUdyb3VwMjByZW1vdmVBbGxVc2VyQ29udGVudEV2CiBfX1pON1dlYkNvcmU5UGFnZUdyb3Vw
MjFyZW1vdmVBbGxWaXNpdGVkTGlua3NFdgotX19aTjdXZWJDb3JlOVBhZ2VHcm91cDI0YWRkVXNl
clN0eWxlU2hlZXRUb1dvcmxkRVBOU18xNURPTVdyYXBwZXJXb3JsZEVSS04zV1RGNlN0cmluZ0VS
S05TXzRLVVJMRU5TM18xMFBhc3NPd25QdHJJTlMzXzZWZWN0b3JJUzRfTG0wRUVFRUVTRF9OU18y
NVVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXNFCitfX1pON1dlYkNvcmU5UGFnZUdyb3VwMjRhZGRV
c2VyU3R5bGVTaGVldFRvV29ybGRFUE5TXzE1RE9NV3JhcHBlcldvcmxkRVJLTjNXVEY2U3RyaW5n
RVJLTlNfNEtVUkxFTlMzXzEwUGFzc093blB0cklOUzNfNlZlY3RvcklTNF9MbTBFRUVFRVNEX05T
XzI1VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lc0VOU18xNFVzZXJTdHlsZVNoZWV0NUxldmVsRQog
X19aTjdXZWJDb3JlOVBhZ2VHcm91cDI1cmVtb3ZlVXNlclNjcmlwdEZyb21Xb3JsZEVQTlNfMTVE
T01XcmFwcGVyV29ybGRFUktOU180S1VSTEUKIF9fWk43V2ViQ29yZTlQYWdlR3JvdXAyNnJlbW92
ZVVzZXJTY3JpcHRzRnJvbVdvcmxkRVBOU18xNURPTVdyYXBwZXJXb3JsZEUKIF9fWk43V2ViQ29y
ZTlQYWdlR3JvdXAyNnNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzRWIKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAKaW5kZXggNTgxMGIwMDZkZWUxNmFkYTNkZDAxYTA4ZWE3MzkxMGU0YjdiZmM5OS4u
N2I2MmVjMWQ2MWJmODk5NWMxYzAzMjZjMTYzYzRlMWEzOTQ1NTJlYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKQEAgLTQ2MCwzMiArNDYwLDM3IEBAIENTU1N0eWxlU2VsZWN0b3I6OkNTU1N0
eWxlU2VsZWN0b3IoRG9jdW1lbnQqIGRvYywgU3R5bGVTaGVldExpc3QqIHN0eWxlU2hlZXRzLCBD
CiAgICAgICAgIG1fbWVkaXVtID0gbmV3IE1lZGlhUXVlcnlFdmFsdWF0b3Iodmlldy0+bWVkaWFU
eXBlKCksIHZpZXctPmZyYW1lKCksIG1fcm9vdERlZmF1bHRTdHlsZS5nZXQoKSk7CiAgICAgfQog
CisgICAgbV9hdXRob3JTdHlsZSA9IG5ldyBDU1NSdWxlU2V0KCk7CisKICAgICAvLyBGSVhNRTog
VGhpcyBzdWNrcyEgVGhlIHVzZXIgc2hlZXQgaXMgcmVwYXJzZWQgZXZlcnkgdGltZSEKLSAgICBp
ZiAocGFnZVVzZXJTaGVldCB8fCBwYWdlR3JvdXBVc2VyU2hlZXRzKSB7Ci0gICAgICAgIG1fdXNl
clN0eWxlID0gbmV3IENTU1J1bGVTZXQoKTsKLSAgICAgICAgaWYgKHBhZ2VVc2VyU2hlZXQpCi0g
ICAgICAgICAgICBtX3VzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZVVzZXJTaGVldCwg
Km1fbWVkaXVtLCB0aGlzKTsKLSAgICAgICAgaWYgKHBhZ2VHcm91cFVzZXJTaGVldHMpIHsKLSAg
ICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBhZ2VHcm91cFVzZXJTaGVldHMtPnNpemUoKTsK
LSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICAg
ICAgICAgICAgICBtX3VzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdyb3VwVXNlclNo
ZWV0cy0+YXQoaSkuZ2V0KCksICptX21lZGl1bSwgdGhpcyk7CisgICAgT3duUHRyPENTU1J1bGVT
ZXQ+IHRlbXBVc2VyU3R5bGUobmV3IENTU1J1bGVTZXQpOworICAgIGlmIChwYWdlVXNlclNoZWV0
KQorICAgICAgICB0ZW1wVXNlclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChwYWdlVXNlclNoZWV0
LCAqbV9tZWRpdW0sIHRoaXMpOworICAgIGlmIChwYWdlR3JvdXBVc2VyU2hlZXRzKSB7CisgICAg
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBhZ2VHcm91cFVzZXJTaGVldHMtPnNpemUoKTsKKyAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBp
ZiAocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSktPmlzVXNlclN0eWxlU2hlZXQoKSkKKyAgICAg
ICAgICAgICAgICB0ZW1wVXNlclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChwYWdlR3JvdXBVc2Vy
U2hlZXRzLT5hdChpKS5nZXQoKSwgKm1fbWVkaXVtLCB0aGlzKTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBtX2F1dGhvclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChwYWdlR3Jv
dXBVc2VyU2hlZXRzLT5hdChpKS5nZXQoKSwgKm1fbWVkaXVtLCB0aGlzKTsKICAgICAgICAgfQog
ICAgIH0KIAotICAgIC8vIGFkZCBzdHlsZXNoZWV0cyBmcm9tIGRvY3VtZW50Ci0gICAgbV9hdXRo
b3JTdHlsZSA9IG5ldyBDU1NSdWxlU2V0KCk7Ci0gICAgCisgICAgaWYgKHRlbXBVc2VyU3R5bGUt
Pm1fcnVsZUNvdW50ID4gMCkKKyAgICAgICAgbV91c2VyU3R5bGUgPSB0ZW1wVXNlclN0eWxlLmxl
YWtQdHIoKTsKKwogICAgIC8vIEFkZCBydWxlcyBmcm9tIGVsZW1lbnRzIGxpa2UgU1ZHJ3MgPGZv
bnQtZmFjZT4KICAgICBpZiAobWFwcGVkRWxlbWVudFNoZWV0KQogICAgICAgICBtX2F1dGhvclN0
eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtYXBwZWRFbGVtZW50U2hlZXQsICptX21lZGl1bSwgdGhp
cyk7CiAKKyAgICAvLyBhZGQgc3R5bGVzaGVldHMgZnJvbSBkb2N1bWVudAogICAgIHVuc2lnbmVk
IGxlbmd0aCA9IHN0eWxlU2hlZXRzLT5sZW5ndGgoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgU3R5bGVTaGVldCogc2hlZXQgPSBzdHlsZVNo
ZWV0cy0+aXRlbShpKTsKICAgICAgICAgaWYgKHNoZWV0LT5pc0NTU1N0eWxlU2hlZXQoKSAmJiAh
c2hlZXQtPmRpc2FibGVkKCkpCiAgICAgICAgICAgICBtX2F1dGhvclN0eWxlLT5hZGRSdWxlc0Zy
b21TaGVldChzdGF0aWNfY2FzdDxDU1NTdHlsZVNoZWV0Kj4oc2hlZXQpLCAqbV9tZWRpdW0sIHRo
aXMpOwogICAgIH0KLSAgICAKKwogICAgIGlmIChkb2MtPnJlbmRlcmVyKCkgJiYgZG9jLT5yZW5k
ZXJlcigpLT5zdHlsZSgpKQogICAgICAgICBkb2MtPnJlbmRlcmVyKCktPnN0eWxlKCktPmZvbnQo
KS51cGRhdGUoZm9udFNlbGVjdG9yKCkpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBkMzk4NTRmOGNlOTgw
MWY2MjEzZmM5OGEzMGRkMjg3NTg1OTk3MWQuLmU5NzMyZWRmYmJmNTg3NjExMWY3NjJiMzIzZjE5
ZDkzZDgzYTA3NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTIyMjUsNyArMjIyNSw3IEBAIGNvbnN0IFZlY3Rv
cjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogRG9jdW1lbnQ6OnBhZ2VHcm91cFVzZXJTaGVldHMo
KSBjb25zdAogICAgICAgICAgICAgaWYgKCFVc2VyQ29udGVudFVSTFBhdHRlcm46Om1hdGNoZXNQ
YXR0ZXJucyh1cmwoKSwgc2hlZXQtPndoaXRlbGlzdCgpLCBzaGVldC0+YmxhY2tsaXN0KCkpKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgUmVmUHRyPENTU1N0eWxlU2hl
ZXQ+IHBhcnNlZFNoZWV0ID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlSW5saW5lKGNvbnN0X2Nhc3Q8
RG9jdW1lbnQqPih0aGlzKSwgc2hlZXQtPnVybCgpKTsKLSAgICAgICAgICAgIHBhcnNlZFNoZWV0
LT5zZXRJc1VzZXJTdHlsZVNoZWV0KHRydWUpOworICAgICAgICAgICAgcGFyc2VkU2hlZXQtPnNl
dElzVXNlclN0eWxlU2hlZXQoc2hlZXQtPmxldmVsKCkgPT0gVXNlclN0eWxlU2hlZXQ6OlVzZXJM
ZXZlbCk7CiAgICAgICAgICAgICBwYXJzZWRTaGVldC0+cGFyc2VTdHJpbmcoc2hlZXQtPnNvdXJj
ZSgpLCAhaW5Db21wYXRNb2RlKCkpOwogICAgICAgICAgICAgaWYgKCFtX3BhZ2VHcm91cFVzZXJT
aGVldHMpCiAgICAgICAgICAgICAgICAgbV9wYWdlR3JvdXBVc2VyU2hlZXRzLnNldChuZXcgVmVj
dG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXAuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKaW5kZXggMTJiMWE0MWNh
NGRiMDIwM2MzOTAyNDAwNjg4M2RmOWIzMjg3MjMzZC4uZTM5YjgxMjQyNjEyZjI4MjU3MjE4NDBm
MDI1ZmUxMmNhMzhiYzRmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTIzNiwxMSArMjM2LDEyIEBAIHZv
aWQgUGFnZUdyb3VwOjphZGRVc2VyU2NyaXB0VG9Xb3JsZChET01XcmFwcGVyV29ybGQqIHdvcmxk
LCBjb25zdCBTdHJpbmcmIHNvdXJjCiAKIHZvaWQgUGFnZUdyb3VwOjphZGRVc2VyU3R5bGVTaGVl
dFRvV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNv
bnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8
U3RyaW5nPiA+IGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1l
cyBpbmplY3RlZEZyYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVXNlclN0eWxlU2hlZXQ6OkxldmVsIGxldmVsKQogewogICAgIEFTU0VSVF9BUkcod29ybGQs
IHdvcmxkKTsKIAotICAgIE93blB0cjxVc2VyU3R5bGVTaGVldD4gdXNlclN0eWxlU2hlZXQobmV3
IFVzZXJTdHlsZVNoZWV0KHNvdXJjZSwgdXJsLCB3aGl0ZWxpc3QsIGJsYWNrbGlzdCwgaW5qZWN0
ZWRGcmFtZXMpKTsKKyAgICBPd25QdHI8VXNlclN0eWxlU2hlZXQ+IHVzZXJTdHlsZVNoZWV0KG5l
dyBVc2VyU3R5bGVTaGVldChzb3VyY2UsIHVybCwgd2hpdGVsaXN0LCBibGFja2xpc3QsIGluamVj
dGVkRnJhbWVzLCBsZXZlbCkpOwogICAgIGlmICghbV91c2VyU3R5bGVTaGVldHMpCiAgICAgICAg
IG1fdXNlclN0eWxlU2hlZXRzLnNldChuZXcgVXNlclN0eWxlU2hlZXRNYXApOwogICAgIFVzZXJT
dHlsZVNoZWV0VmVjdG9yKiYgc3R5bGVTaGVldHNJbldvcmxkID0gbV91c2VyU3R5bGVTaGVldHMt
PmFkZCh3b3JsZCwgMCkuZmlyc3QtPnNlY29uZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCA5NWRiOGMzOGQyNzYz
YTE1ZTRkNmQzYmMyZGZmM2I3MmYyMGZkZWU4Li43Nzk3MDRjNDJjNzk4ZmMyMjRlZDhmNzEwMmJi
ZTc3NTk2YzEyM2I3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC04MCw3ICs4MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyU2NyaXB0SW5qZWN0
aW9uVGltZSwgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyk7CiAgICAgICAgIHZvaWQgYWRkVXNl
clN0eWxlU2hlZXRUb1dvcmxkKERPTVdyYXBwZXJXb3JsZCosIGNvbnN0IFN0cmluZyYgc291cmNl
LCBjb25zdCBLVVJMJiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFz
c093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3Ry
aW5nPiA+IGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFVzZXJTdHlsZVNoZWV0OjpMZXZlbCBsZXZlbCA9IFVzZXJTdHls
ZVNoZWV0OjpVc2VyTGV2ZWwpOwogCiAgICAgICAgIHZvaWQgcmVtb3ZlVXNlclNjcmlwdEZyb21X
b3JsZChET01XcmFwcGVyV29ybGQqLCBjb25zdCBLVVJMJik7CiAgICAgICAgIHZvaWQgcmVtb3Zl
VXNlclN0eWxlU2hlZXRGcm9tV29ybGQoRE9NV3JhcHBlcldvcmxkKiwgY29uc3QgS1VSTCYpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2Uv
VXNlclN0eWxlU2hlZXQuaAppbmRleCA0YzZkNzA4MmIwZWI0MjA1ZDgwZTM3MjczMDU0ZjVlMGIz
ZjdhMWM2Li4xYWNkMjk2M2NjNTE3MTMwMWNlNjk4NDhkYmExY2M3MWJjOGFkZDczIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNl
clN0eWxlU2hlZXQuaApAQCAtMzcsMTQgKzM3LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgorICAg
IGVudW0gTGV2ZWwgeworICAgICAgICBVc2VyTGV2ZWwsCisgICAgICAgIEF1dGhvckxldmVsCisg
ICAgfTsKKwogICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBL
VVJMJiB1cmwsCiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+
IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKLSAgICAg
ICAgICAgICAgICAgICBVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKQor
ICAgICAgICAgICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFt
ZXMsIExldmVsIGxldmVsKQogICAgICAgICA6IG1fc291cmNlKHNvdXJjZSkKICAgICAgICAgLCBt
X3VybCh1cmwpCiAgICAgICAgICwgbV93aGl0ZWxpc3Qod2hpdGVsaXN0KQogICAgICAgICAsIG1f
YmxhY2tsaXN0KGJsYWNrbGlzdCkKICAgICAgICAgLCBtX2luamVjdGVkRnJhbWVzKGluamVjdGVk
RnJhbWVzKQorICAgICAgICAsIG1fbGV2ZWwobGV2ZWwpCiAgICAgewogICAgIH0KIApAQCAtNTMs
NiArNTksNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4qIHdoaXRlbGlzdCgp
IGNvbnN0IHsgcmV0dXJuIG1fd2hpdGVsaXN0LmdldCgpOyB9CiAgICAgY29uc3QgVmVjdG9yPFN0
cmluZz4qIGJsYWNrbGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYmxhY2tsaXN0LmdldCgpOyB9CiAg
ICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcygpIGNvbnN0IHsgcmV0
dXJuIG1faW5qZWN0ZWRGcmFtZXM7IH0KKyAgICBMZXZlbCBsZXZlbCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGV2ZWw7IH0KIAogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9zb3VyY2U7CkBAIC02MCw2ICs2
Nyw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gbV93aGl0ZWxpc3Q7
CiAgICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gbV9ibGFja2xpc3Q7CiAgICAgVXNlckNvbnRl
bnRJbmplY3RlZEZyYW1lcyBtX2luamVjdGVkRnJhbWVzOworICAgIExldmVsIG1fbGV2ZWw7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA0ZTE0N2NhYWY4MDM4
NDQxNmQxMTU5ZGQ3MThmYzc5MzQ1ODU3N2RlLi40MTE3ZjMyYWRiMDYxYmY5YTU1MDRlMTYxMTBk
MDdhNmZjNzFmYWJjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOC0xMCAg
QWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBjYXNjYWRlIGxldmVsIG9mICJ1c2Vy
IiBzdHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlldzo6YWRkVXNlclN0eWxlU2hlZXQpOiBTZW5kICJhdXRob3Ii
IGZvciB0aGUgY3NzIGxldmVsIG9mIHVzZXIgc3R5bGVzLgorCiAyMDEwLTA4LTEwICBLZW5uZXRo
IFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJp
IEdsYXprb3YuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDg3MzNhMmFmNjE5
MWQ3YzI5OTQ4MzA3ODgxMjU0MDNmMDdhNmE3ZDEuLjYyYjIwZDVmYjU5NDc3ZGYyNDQ4YjAzYmE5
NWU4ODMwNTFhMTliMWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xOTQ5
LDggKzE5NDksMTQgQEAgdm9pZCBXZWJWaWV3OjphZGRVc2VyU3R5bGVTaGVldChjb25zdCBXZWJT
dHJpbmcmIHNvdXJjZUNvZGUsCiAKICAgICBQYWdlR3JvdXAqIHBhZ2VHcm91cCA9IFBhZ2VHcm91
cDo6cGFnZUdyb3VwKHBhZ2VHcm91cE5hbWUpOwogICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+
IHdvcmxkKERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlKCkpOworCisgICAgLy8gRklYTUU6IEN1cnJl
bnQgY2FsbGVycyBhbHdheXMgd2FudCB0aGUgbGV2ZWwgdG8gYmUgImF1dGhvciIuIEl0IHByb2Jh
Ymx5IG1ha2VzIHNlbnNlIHRvIGxldAorICAgIC8vIGNhbGxlcnMgc3BlY2lmeSB0aGlzIHRob3Vn
aCwgc2luY2UgaW4gb3RoZXIgY2FzZXMgdGhlIGNhbGxlciB3aWxsIHByb2JhYmx5IHdhbnQgInVz
ZXIiIGxldmVsLgorICAgIC8vCisgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIG5pY2UgdG8gcG9w
dWxhdGUgdGhlIFVSTCBjb3JyZWN0bHksIGluc3RlYWQgb2YgcGFzc2luZyBhbiBlbXB0eSBVUkwu
CiAgICAgcGFnZUdyb3VwLT5hZGRVc2VyU3R5bGVTaGVldFRvV29ybGQod29ybGQuZ2V0KCksIHNv
dXJjZUNvZGUsIFdlYlVSTCgpLCBwYXR0ZXJucy5yZWxlYXNlKCksIDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8VXNlckNvbnRlbnRJbmplY3Rl
ZEZyYW1lcz4oaW5qZWN0SW4pKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxVc2VyQ29udGVudEluamVjdGVkRnJhbWVzPihpbmplY3RJbiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlclN0eWxlU2hlZXQ6OkF1
dGhvckxldmVsKTsKIH0KIAogdm9pZCBXZWJWaWV3OjpyZW1vdmVBbGxVc2VyQ29udGVudCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64179</attachid>
            <date>2010-08-11 18:33:45 -0700</date>
            <delta_ts>2010-08-12 14:25:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43457-20100811183344.patch</filename>
            <type>text/plain</type>
            <size>11025</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzNlNDdkOTYyYTBhMWRhMGFjNWUwYTVlNjdhNjllZmNhZDZlNTEyNC4uOGIwZjcxZjM0MzQwYmFl
ZDA0ZmY3NjQ4NTVhNWFhNTZkNDE2MDE2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOC0xMSAgQWFy
b24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBjYXNjYWRlIGxldmVsIG9mICJ1c2VyIiBz
dHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAg
ICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3Rvcik6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpwYWdlR3JvdXBVc2VyU2hlZXRzKToKKyAgICAgICAgKiBwYWdlL1BhZ2VHcm91cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OmFkZFVzZXJTdHlsZVNoZWV0VG9Xb3JsZCk6Cisg
ICAgICAgICogcGFnZS9QYWdlR3JvdXAuaDoKKyAgICAgICAgKiBwYWdlL1VzZXJTdHlsZVNoZWV0
Lmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyU3R5bGVTaGVldDo6KToKKyAgICAgICAgKFdlYkNv
cmU6OlVzZXJTdHlsZVNoZWV0OjpVc2VyU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpV
c2VyU3R5bGVTaGVldDo6bGV2ZWwpOgorCiAyMDEwLTA4LTExICBLZW5uZXRoIFJ1c3NlbGwgIDxr
YnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCAyZGE0ZGVlMDhkNGVjZjBkNmNiNjBhY2ZhYWNkNGVhMDg5NDU2ZDk3Li4xMzY5Mjk2
MmRmY2ZmMGM5YTc0MmI2ZTNmNjdlMWVmZmIyYzcxZTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTgyMCw3ICs4MjAs
NyBAQCBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMThhZGRWaXNpdGVkTGlua0hhc2hFeQogX19aTjdX
ZWJDb3JlOVBhZ2VHcm91cDIwYWRkVXNlclNjcmlwdFRvV29ybGRFUE5TXzE1RE9NV3JhcHBlcldv
cmxkRVJLTjNXVEY2U3RyaW5nRVJLTlNfNEtVUkxFTlMzXzEwUGFzc093blB0cklOUzNfNlZlY3Rv
cklTNF9MbTBFRUVFRVNEX05TXzIzVXNlclNjcmlwdEluamVjdGlvblRpbWVFTlNfMjVVc2VyQ29u
dGVudEluamVjdGVkRnJhbWVzRQogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDIwcmVtb3ZlQWxsVXNl
ckNvbnRlbnRFdgogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDIxcmVtb3ZlQWxsVmlzaXRlZExpbmtz
RXYKLV9fWk43V2ViQ29yZTlQYWdlR3JvdXAyNGFkZFVzZXJTdHlsZVNoZWV0VG9Xb3JsZEVQTlNf
MTVET01XcmFwcGVyV29ybGRFUktOM1dURjZTdHJpbmdFUktOU180S1VSTEVOUzNfMTBQYXNzT3du
UHRySU5TM182VmVjdG9ySVM0X0xtMEVFRUVFU0RfTlNfMjVVc2VyQ29udGVudEluamVjdGVkRnJh
bWVzRQorX19aTjdXZWJDb3JlOVBhZ2VHcm91cDI0YWRkVXNlclN0eWxlU2hlZXRUb1dvcmxkRVBO
U18xNURPTVdyYXBwZXJXb3JsZEVSS04zV1RGNlN0cmluZ0VSS05TXzRLVVJMRU5TM18xMFBhc3NP
d25QdHJJTlMzXzZWZWN0b3JJUzRfTG0wRUVFRUVTRF9OU18yNVVzZXJDb250ZW50SW5qZWN0ZWRG
cmFtZXNFTlNfMTRVc2VyU3R5bGVTaGVldDVMZXZlbEUKIF9fWk43V2ViQ29yZTlQYWdlR3JvdXAy
NXJlbW92ZVVzZXJTY3JpcHRGcm9tV29ybGRFUE5TXzE1RE9NV3JhcHBlcldvcmxkRVJLTlNfNEtV
UkxFCiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMjZyZW1vdmVVc2VyU2NyaXB0c0Zyb21Xb3JsZEVQ
TlNfMTVET01XcmFwcGVyV29ybGRFCiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMjZzZXRTaG91bGRU
cmFja1Zpc2l0ZWRMaW5rc0ViCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDJkYTQyMjI3
MjgyNmRmZWE3NDEwYTBhYzA5OTJkY2NmODEwOTAwMDIuLmZmODNlYTllOTRhNDQ2ODIyNWRlZGIw
MTVmZWYzZDZjYTY5ZDM0OWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC00NjAsMzIg
KzQ2MCwzNyBAQCBDU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50KiBk
b2MsIFN0eWxlU2hlZXRMaXN0KiBzdHlsZVNoZWV0cywgQwogICAgICAgICBtX21lZGl1bSA9IG5l
dyBNZWRpYVF1ZXJ5RXZhbHVhdG9yKHZpZXctPm1lZGlhVHlwZSgpLCB2aWV3LT5mcmFtZSgpLCBt
X3Jvb3REZWZhdWx0U3R5bGUuZ2V0KCkpOwogICAgIH0KIAorICAgIG1fYXV0aG9yU3R5bGUgPSBu
ZXcgQ1NTUnVsZVNldCgpOworCiAgICAgLy8gRklYTUU6IFRoaXMgc3Vja3MhIFRoZSB1c2VyIHNo
ZWV0IGlzIHJlcGFyc2VkIGV2ZXJ5IHRpbWUhCi0gICAgaWYgKHBhZ2VVc2VyU2hlZXQgfHwgcGFn
ZUdyb3VwVXNlclNoZWV0cykgewotICAgICAgICBtX3VzZXJTdHlsZSA9IG5ldyBDU1NSdWxlU2V0
KCk7Ci0gICAgICAgIGlmIChwYWdlVXNlclNoZWV0KQotICAgICAgICAgICAgbV91c2VyU3R5bGUt
PmFkZFJ1bGVzRnJvbVNoZWV0KHBhZ2VVc2VyU2hlZXQsICptX21lZGl1bSwgdGhpcyk7Ci0gICAg
ICAgIGlmIChwYWdlR3JvdXBVc2VyU2hlZXRzKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsZW5n
dGggPSBwYWdlR3JvdXBVc2VyU2hlZXRzLT5zaXplKCk7Ci0gICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCi0gICAgICAgICAgICAgICAgbV91c2VyU3R5bGUt
PmFkZFJ1bGVzRnJvbVNoZWV0KHBhZ2VHcm91cFVzZXJTaGVldHMtPmF0KGkpLmdldCgpLCAqbV9t
ZWRpdW0sIHRoaXMpOworICAgIE93blB0cjxDU1NSdWxlU2V0PiB0ZW1wVXNlclN0eWxlKG5ldyBD
U1NSdWxlU2V0KTsKKyAgICBpZiAocGFnZVVzZXJTaGVldCkKKyAgICAgICAgdGVtcFVzZXJTdHls
ZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZVVzZXJTaGVldCwgKm1fbWVkaXVtLCB0aGlzKTsKKyAg
ICBpZiAocGFnZUdyb3VwVXNlclNoZWV0cykgeworICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBw
YWdlR3JvdXBVc2VyU2hlZXRzLT5zaXplKCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICAgICAgaWYgKHBhZ2VHcm91cFVzZXJTaGVldHMt
PmF0KGkpLT5pc1VzZXJTdHlsZVNoZWV0KCkpCisgICAgICAgICAgICAgICAgdGVtcFVzZXJTdHls
ZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSkuZ2V0KCksICpt
X21lZGl1bSwgdGhpcyk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9hdXRo
b3JTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSkuZ2V0
KCksICptX21lZGl1bSwgdGhpcyk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBhZGQgc3R5
bGVzaGVldHMgZnJvbSBkb2N1bWVudAotICAgIG1fYXV0aG9yU3R5bGUgPSBuZXcgQ1NTUnVsZVNl
dCgpOwotICAgIAorICAgIGlmICh0ZW1wVXNlclN0eWxlLT5tX3J1bGVDb3VudCA+IDAgfHwgdGVt
cFVzZXJTdHlsZS0+bV9wYWdlUnVsZUNvdW50ID4gMCkKKyAgICAgICAgbV91c2VyU3R5bGUgPSB0
ZW1wVXNlclN0eWxlLmxlYWtQdHIoKTsKKwogICAgIC8vIEFkZCBydWxlcyBmcm9tIGVsZW1lbnRz
IGxpa2UgU1ZHJ3MgPGZvbnQtZmFjZT4KICAgICBpZiAobWFwcGVkRWxlbWVudFNoZWV0KQogICAg
ICAgICBtX2F1dGhvclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtYXBwZWRFbGVtZW50U2hlZXQs
ICptX21lZGl1bSwgdGhpcyk7CiAKKyAgICAvLyBhZGQgc3R5bGVzaGVldHMgZnJvbSBkb2N1bWVu
dAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0eWxlU2hlZXRzLT5sZW5ndGgoKTsKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgU3R5bGVTaGVldCog
c2hlZXQgPSBzdHlsZVNoZWV0cy0+aXRlbShpKTsKICAgICAgICAgaWYgKHNoZWV0LT5pc0NTU1N0
eWxlU2hlZXQoKSAmJiAhc2hlZXQtPmRpc2FibGVkKCkpCiAgICAgICAgICAgICBtX2F1dGhvclN0
eWxlLT5hZGRSdWxlc0Zyb21TaGVldChzdGF0aWNfY2FzdDxDU1NTdHlsZVNoZWV0Kj4oc2hlZXQp
LCAqbV9tZWRpdW0sIHRoaXMpOwogICAgIH0KLSAgICAKKwogICAgIGlmIChkb2MtPnJlbmRlcmVy
KCkgJiYgZG9jLT5yZW5kZXJlcigpLT5zdHlsZSgpKQogICAgICAgICBkb2MtPnJlbmRlcmVyKCkt
PnN0eWxlKCktPmZvbnQoKS51cGRhdGUoZm9udFNlbGVjdG9yKCkpOwogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGQwOGU3MWI2OTg3ODI2NDhjZDQ2YTcyNmRkOGJmOGUzYjM5ZWIwNzIuLjU5YjdkNmQ4YjZkZmE5
ZGNmYTg5Njc0YTUwNTVjN2E3NmI2NzFiZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTIyMjUsNyArMjIyNSw3
IEBAIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogRG9jdW1lbnQ6OnBhZ2VH
cm91cFVzZXJTaGVldHMoKSBjb25zdAogICAgICAgICAgICAgaWYgKCFVc2VyQ29udGVudFVSTFBh
dHRlcm46Om1hdGNoZXNQYXR0ZXJucyh1cmwoKSwgc2hlZXQtPndoaXRlbGlzdCgpLCBzaGVldC0+
YmxhY2tsaXN0KCkpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgUmVm
UHRyPENTU1N0eWxlU2hlZXQ+IHBhcnNlZFNoZWV0ID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlSW5s
aW5lKGNvbnN0X2Nhc3Q8RG9jdW1lbnQqPih0aGlzKSwgc2hlZXQtPnVybCgpKTsKLSAgICAgICAg
ICAgIHBhcnNlZFNoZWV0LT5zZXRJc1VzZXJTdHlsZVNoZWV0KHRydWUpOworICAgICAgICAgICAg
cGFyc2VkU2hlZXQtPnNldElzVXNlclN0eWxlU2hlZXQoc2hlZXQtPmxldmVsKCkgPT0gVXNlclN0
eWxlU2hlZXQ6OlVzZXJMZXZlbCk7CiAgICAgICAgICAgICBwYXJzZWRTaGVldC0+cGFyc2VTdHJp
bmcoc2hlZXQtPnNvdXJjZSgpLCAhaW5Db21wYXRNb2RlKCkpOwogICAgICAgICAgICAgaWYgKCFt
X3BhZ2VHcm91cFVzZXJTaGVldHMpCiAgICAgICAgICAgICAgICAgbV9wYWdlR3JvdXBVc2VyU2hl
ZXRzLnNldChuZXcgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAK
aW5kZXggMTJiMWE0MWNhNGRiMDIwM2MzOTAyNDAwNjg4M2RmOWIzMjg3MjMzZC4uZTM5YjgxMjQy
NjEyZjI4MjU3MjE4NDBmMDI1ZmUxMmNhMzhiYzRmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cC5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTIzNiwx
MSArMjM2LDEyIEBAIHZvaWQgUGFnZUdyb3VwOjphZGRVc2VyU2NyaXB0VG9Xb3JsZChET01XcmFw
cGVyV29ybGQqIHdvcmxkLCBjb25zdCBTdHJpbmcmIHNvdXJjCiAKIHZvaWQgUGFnZUdyb3VwOjph
ZGRVc2VyU3R5bGVTaGVldFRvV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFz
c093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZy
YW1lcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlckNvbnRl
bnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVXNlclN0eWxlU2hlZXQ6OkxldmVsIGxldmVsKQogewogICAgIEFT
U0VSVF9BUkcod29ybGQsIHdvcmxkKTsKIAotICAgIE93blB0cjxVc2VyU3R5bGVTaGVldD4gdXNl
clN0eWxlU2hlZXQobmV3IFVzZXJTdHlsZVNoZWV0KHNvdXJjZSwgdXJsLCB3aGl0ZWxpc3QsIGJs
YWNrbGlzdCwgaW5qZWN0ZWRGcmFtZXMpKTsKKyAgICBPd25QdHI8VXNlclN0eWxlU2hlZXQ+IHVz
ZXJTdHlsZVNoZWV0KG5ldyBVc2VyU3R5bGVTaGVldChzb3VyY2UsIHVybCwgd2hpdGVsaXN0LCBi
bGFja2xpc3QsIGluamVjdGVkRnJhbWVzLCBsZXZlbCkpOwogICAgIGlmICghbV91c2VyU3R5bGVT
aGVldHMpCiAgICAgICAgIG1fdXNlclN0eWxlU2hlZXRzLnNldChuZXcgVXNlclN0eWxlU2hlZXRN
YXApOwogICAgIFVzZXJTdHlsZVNoZWV0VmVjdG9yKiYgc3R5bGVTaGVldHNJbldvcmxkID0gbV91
c2VyU3R5bGVTaGVldHMtPmFkZCh3b3JsZCwgMCkuZmlyc3QtPnNlY29uZDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRl
eCA5NWRiOGMzOGQyNzYzYTE1ZTRkNmQzYmMyZGZmM2I3MmYyMGZkZWU4Li43Nzk3MDRjNDJjNzk4
ZmMyMjRlZDhmNzEwMmJiZTc3NTk2YzEyM2I3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFn
ZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC04MCw3ICs4MCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBV
c2VyU2NyaXB0SW5qZWN0aW9uVGltZSwgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyk7CiAgICAg
ICAgIHZvaWQgYWRkVXNlclN0eWxlU2hlZXRUb1dvcmxkKERPTVdyYXBwZXJXb3JsZCosIGNvbnN0
IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093
blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJTdHlsZVNoZWV0OjpMZXZlbCBs
ZXZlbCA9IFVzZXJTdHlsZVNoZWV0OjpVc2VyTGV2ZWwpOwogCiAgICAgICAgIHZvaWQgcmVtb3Zl
VXNlclNjcmlwdEZyb21Xb3JsZChET01XcmFwcGVyV29ybGQqLCBjb25zdCBLVVJMJik7CiAgICAg
ICAgIHZvaWQgcmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tV29ybGQoRE9NV3JhcHBlcldvcmxkKiwg
Y29uc3QgS1VSTCYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0Lmgg
Yi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAppbmRleCA0YzZkNzA4MmIwZWI0MjA1ZDgw
ZTM3MjczMDU0ZjVlMGIzZjdhMWM2Li4xYWNkMjk2M2NjNTE3MTMwMWNlNjk4NDhkYmExY2M3MWJj
OGFkZDczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzcsMTQgKzM3LDIwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogcHVibGljOgorICAgIGVudW0gTGV2ZWwgeworICAgICAgICBVc2VyTGV2ZWwsCisgICAgICAg
IEF1dGhvckxldmVsCisgICAgfTsKKwogICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYg
c291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0cjxW
ZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJs
YWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICBVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGlu
amVjdGVkRnJhbWVzKQorICAgICAgICAgICAgICAgICAgIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFt
ZXMgaW5qZWN0ZWRGcmFtZXMsIExldmVsIGxldmVsKQogICAgICAgICA6IG1fc291cmNlKHNvdXJj
ZSkKICAgICAgICAgLCBtX3VybCh1cmwpCiAgICAgICAgICwgbV93aGl0ZWxpc3Qod2hpdGVsaXN0
KQogICAgICAgICAsIG1fYmxhY2tsaXN0KGJsYWNrbGlzdCkKICAgICAgICAgLCBtX2luamVjdGVk
RnJhbWVzKGluamVjdGVkRnJhbWVzKQorICAgICAgICAsIG1fbGV2ZWwobGV2ZWwpCiAgICAgewog
ICAgIH0KIApAQCAtNTMsNiArNTksNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFN0cmlu
Zz4qIHdoaXRlbGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fd2hpdGVsaXN0LmdldCgpOyB9CiAgICAg
Y29uc3QgVmVjdG9yPFN0cmluZz4qIGJsYWNrbGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYmxhY2ts
aXN0LmdldCgpOyB9CiAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1l
cygpIGNvbnN0IHsgcmV0dXJuIG1faW5qZWN0ZWRGcmFtZXM7IH0KKyAgICBMZXZlbCBsZXZlbCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGV2ZWw7IH0KIAogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9zb3Vy
Y2U7CkBAIC02MCw2ICs2Nyw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+
ID4gbV93aGl0ZWxpc3Q7CiAgICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gbV9ibGFja2xpc3Q7
CiAgICAgVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBtX2luamVjdGVkRnJhbWVzOworICAgIExl
dmVsIG1fbGV2ZWw7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCA5NGFjYzU1NzYxN2M4OGIxZmIwZjFhOTE5NGFkNzk3MjlmYjNlOWVkLi44OWI3MDY3YmU2NDMw
YzVjOTg2ZDBjZDA4ZDAxYTdkNDg4Nzk5MDE3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMC0wOC0xMSAgQWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBjYXNjYWRl
IGxldmVsIG9mICJ1c2VyIiBzdHlsZXMgY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQ1NworCisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6YWRkVXNlclN0eWxlU2hlZXQp
OgorCiAyMDEwLTA4LTExICBKYW1lcyBIYXdraW5zICA8amhhd2tpbnNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBUaXRvdi4KZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAKaW5kZXggODczM2EyYWY2MTkxZDdjMjk5NDgzMDc4ODEyNTQwM2YwN2E2YTdkMS4u
NjJiMjBkNWZiNTk0NzdkZjI0NDhiMDNiYTk1ZTg4MzA1MWExOWIxZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKQEAgLTE5NDksOCArMTk0OSwxNCBAQCB2b2lkIFdlYlZpZXc6OmFk
ZFVzZXJTdHlsZVNoZWV0KGNvbnN0IFdlYlN0cmluZyYgc291cmNlQ29kZSwKIAogICAgIFBhZ2VH
cm91cCogcGFnZUdyb3VwID0gUGFnZUdyb3VwOjpwYWdlR3JvdXAocGFnZUdyb3VwTmFtZSk7CiAg
ICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gd29ybGQoRE9NV3JhcHBlcldvcmxkOjpjcmVhdGUo
KSk7CisKKyAgICAvLyBGSVhNRTogQ3VycmVudCBjYWxsZXJzIGFsd2F5cyB3YW50IHRoZSBsZXZl
bCB0byBiZSAiYXV0aG9yIi4gSXQgcHJvYmFibHkgbWFrZXMgc2Vuc2UgdG8gbGV0CisgICAgLy8g
Y2FsbGVycyBzcGVjaWZ5IHRoaXMgdGhvdWdoLCBzaW5jZSBpbiBvdGhlciBjYXNlcyB0aGUgY2Fs
bGVyIHdpbGwgcHJvYmFibHkgd2FudCAidXNlciIgbGV2ZWwuCisgICAgLy8KKyAgICAvLyBGSVhN
RTogSXQgd291bGQgYmUgbmljZSB0byBwb3B1bGF0ZSB0aGUgVVJMIGNvcnJlY3RseSwgaW5zdGVh
ZCBvZiBwYXNzaW5nIGFuIGVtcHR5IFVSTC4KICAgICBwYWdlR3JvdXAtPmFkZFVzZXJTdHlsZVNo
ZWV0VG9Xb3JsZCh3b3JsZC5nZXQoKSwgc291cmNlQ29kZSwgV2ViVVJMKCksIHBhdHRlcm5zLnJl
bGVhc2UoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
aWNfY2FzdDxVc2VyQ29udGVudEluamVjdGVkRnJhbWVzPihpbmplY3RJbikpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PFVzZXJDb250ZW50SW5q
ZWN0ZWRGcmFtZXM+KGluamVjdEluKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBVc2VyU3R5bGVTaGVldDo6QXV0aG9yTGV2ZWwpOwogfQogCiB2b2lkIFdlYlZpZXc6
OnJlbW92ZUFsbFVzZXJDb250ZW50KCkK
</data>
<flag name="review"
          id="52687"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>