<?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>98184</bug_id>
          
          <creation_ts>2012-10-02 11:48:44 -0700</creation_ts>
          <short_desc>HTMLBaseElement href attribute binding returns wrong URL</short_desc>
          <delta_ts>2012-11-18 23:02:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732896</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-02 11:48:44 -0700</bug_when>
    <thetext>We currently use [Reflect, URL] which resolves the reflected attribute relative to the base element of the document.

In the case of the base element we need to resolve the attribute relative to the URL of the document and not the base element itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732920</commentid>
    <comment_count>1</comment_count>
      <attachid>166727</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-02 12:05:04 -0700</bug_when>
    <thetext>Created attachment 166727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732945</commentid>
    <comment_count>2</comment_count>
      <attachid>166727</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-02 12:26:59 -0700</bug_when>
    <thetext>Comment on attachment 166727
Patch

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

&gt; Source/WebCore/html/HTMLBaseElement.cpp:81
&gt; +    return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(getAttribute(hrefAttr)), document()-&gt;url());

fastGetAttribute

Does this correctly if the attribute is missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732956</commentid>
    <comment_count>3</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-02 12:34:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 166727 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166727&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLBaseElement.cpp:81
&gt; &gt; +    return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(getAttribute(hrefAttr)), document()-&gt;url());
&gt; 
&gt; fastGetAttribute

fastGetAttribute should work but [Reflect, URL] uses getAttribute so I decided to use that... I&apos;ll change it.

&gt; Does this correctly if the attribute is missing?

I tried this manually because I wasn&apos;t sure the existing tests would cover this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732962</commentid>
    <comment_count>4</comment_count>
      <attachid>166734</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-02 12:43:16 -0700</bug_when>
    <thetext>Created attachment 166734
Change to use fastGetAttribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732963</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-02 12:44:19 -0700</bug_when>
    <thetext>&gt; fastGetAttribute should work but [Reflect, URL] uses getAttribute so I decided to use that... I&apos;ll change it.

That&apos;s because Reflect isn&apos;t smart enough to know whether this is one of the slow attributes.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732984</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-02 13:03:48 -0700</bug_when>
    <thetext>Is there a spec we can reference here?  Have you tested the behavior in other browsers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732986</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-02 13:04:53 -0700</bug_when>
    <thetext>Does this fix a particular web site?  I don&apos;t doubt that we should make this change, I&apos;d just like to know if we&apos;re improving compat and/or interop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732995</commentid>
    <comment_count>8</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-02 13:09:59 -0700</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=140200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732999</commentid>
    <comment_count>9</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-02 13:11:21 -0700</bug_when>
    <thetext>With this patch we match Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733146</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-02 15:29:44 -0700</bug_when>
    <thetext>Look like a duplicate of bug 19998, and possibly bug 47348.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733203</commentid>
    <comment_count>11</comment_count>
      <attachid>166734</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-02 16:35:11 -0700</bug_when>
    <thetext>Comment on attachment 166734
Change to use fastGetAttribute

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

&gt; Source/WebCore/html/HTMLBaseElement.cpp:82
&gt; +String HTMLBaseElement::href() const
&gt; +{
&gt; +    return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr)), document()-&gt;url());
&gt; +}

How does this compile? completeURL returns a KURL but this function returns a String.

This needs a comment explaining how it differs from the getURLAttribute function. It’s not enough to have it in the change log.

&gt; Source/WebCore/html/HTMLBaseElement.cpp:84
&gt; +void HTMLBaseElement::setHref(const String&amp; v)

Please use words rather than single letters for argument names.

&gt; Source/WebCore/html/HTMLBaseElement.h:35
&gt; +    void setHref(const String&amp;);

Type here should be const AtomicString&amp; rather than const String&amp;, because the former is the type that setAttribute takes. The code generated by [Reflect] correctly uses AtomicString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733731</commentid>
    <comment_count>12</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-03 08:35:54 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Look like a duplicate of bug 19998, and possibly bug 47348.

I did look at 19998 before filing this bug. It is not a duplicate bug.

It does look like a dupe of 47348, even though the comments in there have contradictions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733733</commentid>
    <comment_count>13</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-03 08:36:37 -0700</bug_when>
    <thetext>*** Bug 47348 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733741</commentid>
    <comment_count>14</comment_count>
      <attachid>166903</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-03 08:44:17 -0700</bug_when>
    <thetext>Created attachment 166903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733784</commentid>
    <comment_count>15</comment_count>
      <attachid>166903</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-03 09:33:11 -0700</bug_when>
    <thetext>Comment on attachment 166903
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        (WebCore):

Please leave meaningless lines like this out of the change log even though the buggy script puts them in.

&gt; Source/WebCore/ChangeLog:18
&gt; +        (WebCore::HTMLBaseElement::setHref):

Worth commenting on this function here.

&gt; Source/WebCore/ChangeLog:20
&gt; +        (HTMLBaseElement):

Please leave meaningless lines like this out of the change log even though the buggy script puts them in.

&gt; Source/WebCore/html/HTMLBaseElement.cpp:83
&gt; +    // This does not use getURLAttribute because we need to resolve this relative to the document
&gt; +    // and not relative to the base element itself.
&gt; +    return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr)), document()-&gt;url());

I think the wording here is not sufficiently clear. After all, getURLAttribute does resolve relative to the document. It’s just that it resolves relative to the document’s base URL, which can be influenced by base elements, and might or might not be affected by this particular base element.

You are aware of those connections as you are writing this, but the person reading the code may not be, so I suggest more precise wording. Here’s my cut:

    // This does not use the getURLAttribute function because that will resolve relative to the document’s base URL;
    // base elements like this one can be used to set that base URL. Thus we need to resolve relative to the document’s
    // URL and ignore the base URL.

After writing that comment, I realize that this code may be incorrect.

Passing the document’s URL for baseURLOverride prevents the Document::completeURL function from considering the parent document’s base URL. Is that OK? In what cases do the parent document base URLs come into play? The test case won’t cover this, because it’s only a single frame, so there’s a chance we have broken something here that is not covered by any test case.

&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase-expected.txt:11
&gt; +PASS successfullyParsed is true
&gt; +
&gt; +TEST COMPLETE
&gt; +Base case, rebase URL without attribute having been set
&gt; +PASS a.href is &quot;http://old_base/foo?query&quot;
&gt; +PASS a.href is &quot;http://new_base/foo?query&quot;

This looks silly. You should look at other tests that run at load event time, to see if there’s a technique that can prevent writing out the results in this backwards order.

&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html:19
&gt; +    base.href = &apos;http://old_base/&apos;;
&gt; +    a.href = &apos;foo?query&apos;;
&gt; +    shouldBeEqualToString(&apos;a.href&apos;, &apos;http://old_base/foo?query&apos;);
&gt; +    base.href = &apos;http://new_base/&apos;;
&gt; +    shouldBeEqualToString(&apos;a.href&apos;, &apos;http://new_base/foo?query&apos;);

Test cases like this can be written in a way that makes the test output much clearer.

    shouldBeEqualToString(&apos;base.href = &quot;http://old_base/&quot;; a.href = &quot;foo?query&quot;; a.href&apos;, &apos;http://old_base/foo?query&apos;);

If the test is written in this fashion then the test output makes more clear what’s being tested.

&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html:23
&gt; +&lt;script src=&quot;../../js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;

I don’t think this is needed.

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-binding-expected.txt:1
&gt; +PASS

It’s a little weak to have a test write out only PASS rather than indicating what it’s testing. I know it’s hard to write out URLs without being dependent on file system location, so that’s an excuse, but it’s even better if you can show what’s being tested and what the result is, somehow.

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-binding.html:5
&gt; +if (self.testRunner)

It’s curious to use self.testRunner here when all other tests idiomatically use window.testRunner. Any reason to be non-traditional here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733923</commentid>
    <comment_count>16</comment_count>
      <attachid>166939</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-03 12:24:54 -0700</bug_when>
    <thetext>Created attachment 166939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733926</commentid>
    <comment_count>17</comment_count>
      <attachid>166903</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-03 12:26:09 -0700</bug_when>
    <thetext>Comment on attachment 166903
Patch

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

&gt;&gt; Source/WebCore/html/HTMLBaseElement.cpp:83
&gt;&gt; +    return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr)), document()-&gt;url());
&gt; 
&gt; I think the wording here is not sufficiently clear. After all, getURLAttribute does resolve relative to the document. It’s just that it resolves relative to the document’s base URL, which can be influenced by base elements, and might or might not be affected by this particular base element.
&gt; 
&gt; You are aware of those connections as you are writing this, but the person reading the code may not be, so I suggest more precise wording. Here’s my cut:
&gt; 
&gt;     // This does not use the getURLAttribute function because that will resolve relative to the document’s base URL;
&gt;     // base elements like this one can be used to set that base URL. Thus we need to resolve relative to the document’s
&gt;     // URL and ignore the base URL.
&gt; 
&gt; After writing that comment, I realize that this code may be incorrect.
&gt; 
&gt; Passing the document’s URL for baseURLOverride prevents the Document::completeURL function from considering the parent document’s base URL. Is that OK? In what cases do the parent document base URLs come into play? The test case won’t cover this, because it’s only a single frame, so there’s a chance we have broken something here that is not covered by any test case.

Yeah, this definitely does not do what I expected.

&gt;&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html:23
&gt;&gt; +&lt;script src=&quot;../../js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;
&gt; 
&gt; I don’t think this is needed.

I cleaned up the tests a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733965</commentid>
    <comment_count>18</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-03 13:15:43 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 166903 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166903&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html:23
&gt; &gt;&gt; +&lt;script src=&quot;../../js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;
&gt; &gt; 
&gt; &gt; I don’t think this is needed.

It&apos;s the bit that checks that the test was successfully parsed and then prints out TEST COMPLETED. We never got around to moving this into js-test-pre.js and Alexey had an objection that doing so made js-test-pre.js too complicated. I still think we should do it since people are just leaving it out now and we get worse tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736711</commentid>
    <comment_count>19</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-08 09:02:37 -0700</bug_when>
    <thetext>Darin, do you want to take a second look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740346</commentid>
    <comment_count>20</comment_count>
      <attachid>166939</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-11 15:51:32 -0700</bug_when>
    <thetext>Comment on attachment 166939
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).

You need to add a description here.

&gt; Source/WebCore/html/HTMLBaseElement.cpp:82
&gt; +    // This does not use the getURLAttribute function because that will resolve relative to the documentâs base URL;

Nit: documentâs

&gt; Source/WebCore/html/HTMLBaseElement.cpp:85
&gt; +    // return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr)), document()-&gt;url());

Why do we need to include this commented out code?

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-binding.html:16
&gt; +shouldBeTrue(&quot;endsWith(base.href, &apos;foo/bar/&apos;)&quot;);
&gt; +shouldBeFalse(&quot;endsWith(base.href, &apos;foo/bar/foo/bar/&apos;)&quot;);

I don&apos;t understand why this test is called href-attribute-binding since we didn&apos;t make any changes to the binding code.
How about something like href-attribute-resolves-with-respect-to-document?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740350</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-10-11 15:53:23 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 166903 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166903&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/HTMLBaseElement.cpp:83
&gt; &gt;&gt; +    return document()-&gt;completeURL(stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr)), document()-&gt;url());
&gt; &gt; 
&gt; &gt; I think the wording here is not sufficiently clear. After all, getURLAttribute does resolve relative to the document. It’s just that it resolves relative to the document’s base URL, which can be influenced by base elements, and might or might not be affected by this particular base element.
&gt; &gt; 
&gt; &gt; You are aware of those connections as you are writing this, but the person reading the code may not be, so I suggest more precise wording. Here’s my cut:
&gt; &gt; 
&gt; &gt;     // This does not use the getURLAttribute function because that will resolve relative to the document’s base URL;
&gt; &gt;     // base elements like this one can be used to set that base URL. Thus we need to resolve relative to the document’s
&gt; &gt;     // URL and ignore the base URL.
&gt; &gt; 
&gt; &gt; After writing that comment, I realize that this code may be incorrect.

Can we add a test to ensure we don&apos;t make the same mistake in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740895</commentid>
    <comment_count>22</comment_count>
      <attachid>166939</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-12 07:08:01 -0700</bug_when>
    <thetext>Comment on attachment 166939
Patch

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

&gt;&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-binding.html:16
&gt;&gt; +shouldBeFalse(&quot;endsWith(base.href, &apos;foo/bar/foo/bar/&apos;)&quot;);
&gt; 
&gt; I don&apos;t understand why this test is called href-attribute-binding since we didn&apos;t make any changes to the binding code.
&gt; How about something like href-attribute-resolves-with-respect-to-document?

The buggy behavior was due to us using the [Reflect, URL] in the bindings when using the default behavior does not work for this.

Anyway, I&apos;m not attached to the name. I&apos;ll rename the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740947</commentid>
    <comment_count>23</comment_count>
      <attachid>168429</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-12 09:00:55 -0700</bug_when>
    <thetext>Created attachment 168429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740967</commentid>
    <comment_count>24</comment_count>
      <attachid>168429</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-12 09:25:26 -0700</bug_when>
    <thetext>Comment on attachment 168429
Patch

Attachment 168429 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14265358

New failing tests:
fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html
fast/dom/element-attribute-js-null.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741002</commentid>
    <comment_count>25</comment_count>
      <attachid>168443</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-12 10:06:59 -0700</bug_when>
    <thetext>Created attachment 168443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741180</commentid>
    <comment_count>26</comment_count>
      <attachid>168443</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-12 13:58:53 -0700</bug_when>
    <thetext>Comment on attachment 168443
Patch

Attachment 168443 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14300001

New failing tests:
fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html
fast/js/random-array-gc-stress.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743161</commentid>
    <comment_count>27</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-16 08:22:23 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; New failing tests:
&gt; fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html

I&apos;m looking into this now.

It turns out that the Apple port of DRT crashes with testRunner.setCanOpenWindows(). I filed https://bugs.webkit.org/show_bug.cgi?id=99465

Also, KURL and GURL behaves different. No surprises there :&apos;( I&apos;ll have to handle this slightly differently</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743187</commentid>
    <comment_count>28</comment_count>
      <attachid>168956</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-16 09:01:55 -0700</bug_when>
    <thetext>Created attachment 168956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743188</commentid>
    <comment_count>29</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-16 09:03:37 -0700</bug_when>
    <thetext>PTAL

I removed the window.open test (it was not really needed to cover the issue in the first patch).

I had to manually handle invalid and about:blank URL since KURL and GURL resolves URLs differently in those cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744235</commentid>
    <comment_count>30</comment_count>
      <attachid>169183</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-17 07:35:57 -0700</bug_when>
    <thetext>Created attachment 169183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744680</commentid>
    <comment_count>31</comment_count>
      <attachid>169183</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-17 15:10:37 -0700</bug_when>
    <thetext>Comment on attachment 169183
Patch

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

&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html:16
&gt; +base.href = &apos;http://old_base/&apos;;
&gt; +a.href = &apos;foo?query&apos;;
&gt; +shouldBeEqualToString(&apos;a.href&apos;, &apos;http://old_base/foo?query&apos;);
&gt; +base.href = &apos;http://new_base/&apos;;
&gt; +shouldBeEqualToString(&apos;a.href&apos;, &apos;http://new_base/foo?query&apos;);

Did you not want to do Darin&apos;s comment about making this test output cleaner?

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:8
&gt; +    // HACK: setCanOpenWindows needs the test to be async or the Apple port crashes.

s/HACK/FIXME

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:49
&gt; +// Make sure that we don&apos;t use the creator document as the base.
&gt; +debug(&apos;createHTMLDocument&apos;);
&gt; +var doc = document.implementation.createHTMLDocument(&apos;&apos;);
&gt; +base = doc.head.appendChild(doc.createElement(&apos;base&apos;));
&gt; +base.setAttribute(&apos;href&apos;, &apos;foo/bar/&apos;);
&gt; +shouldBeEqualToString(&apos;base.href&apos;, &apos;&apos;);
&gt; +
&gt; +// Make sure that we use the parent document as the base.
&gt; +debug(&apos;iframe&apos;);
&gt; +var iframe = document.body.appendChild(document.createElement(&apos;iframe&apos;));
&gt; +base = iframe.contentDocument.head.appendChild(doc.createElement(&apos;base&apos;));
&gt; +base.setAttribute(&apos;href&apos;, &apos;foo/bar/&apos;);
&gt; +shouldBeEqualToString(&apos;base.href&apos;, &apos;&apos;);
&gt; +
&gt; +// Make sure that we don&apos;t use the opener document as the base.
&gt; +debug(&apos;window.open&apos;);
&gt; +var win = window.open(&apos;about:blank&apos;);
&gt; +base = win.document.head.appendChild(win.document.createElement(&apos;base&apos;));
&gt; +base.setAttribute(&apos;href&apos;, &apos;foo/bar/&apos;);
&gt; +shouldBeEqualToString(&apos;base.href&apos;, &apos;&apos;);

Sorry, I don&apos;t understand these test cases. Also, the comments don&apos;t seem to match the test cases. Maybe I don&apos;t just don&apos;t understand the patch?

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:50
&gt; +win.close();

Is this part of the async hack?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745253</commentid>
    <comment_count>32</comment_count>
      <attachid>169183</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-18 08:01:20 -0700</bug_when>
    <thetext>Comment on attachment 169183
Patch

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

I&apos;ll upload a new patch

&gt;&gt; LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html:16
&gt;&gt; +shouldBeEqualToString(&apos;a.href&apos;, &apos;http://new_base/foo?query&apos;);
&gt; 
&gt; Did you not want to do Darin&apos;s comment about making this test output cleaner?

I&apos;m not sure I think 

document.querySelector(&apos;a&apos;).href

is cleaner than 

a.href

But I&apos;ll make the change anyway.

&gt;&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:49
&gt;&gt; +shouldBeEqualToString(&apos;base.href&apos;, &apos;&apos;);
&gt; 
&gt; Sorry, I don&apos;t understand these test cases. Also, the comments don&apos;t seem to match the test cases. Maybe I don&apos;t just don&apos;t understand the patch?

The first patch was using the wrong method to resolve the URL. Ryosuke wanted me to test the cases that would be broken if the wrong method was used. That is why iframe, createHTMLDocument and window.open are tested.

When the document does not have a URL (because it does not have a creation context) the base URL cannot be resolved and we should use &quot;&quot; as the value of the href. This is no change in behavior, just more tests to ensure this did not break it (like it did in the first patch).

&gt;&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:50
&gt;&gt; +win.close();
&gt; 
&gt; Is this part of the async hack?

No. Just closing it because it is annoying to keep opening new windows when testing in other browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745269</commentid>
    <comment_count>33</comment_count>
      <attachid>169416</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-18 08:17:10 -0700</bug_when>
    <thetext>Created attachment 169416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745375</commentid>
    <comment_count>34</comment_count>
      <attachid>169416</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-18 10:50:58 -0700</bug_when>
    <thetext>Comment on attachment 169416
Patch

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

&gt; LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html:29
&gt; +// Make sure that we don&apos;t use the creator document as the base.

Can you add a comment that these three cases should not resolved because nested document lack a url?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745449</commentid>
    <comment_count>35</comment_count>
      <attachid>169416</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-18 12:02:08 -0700</bug_when>
    <thetext>Comment on attachment 169416
Patch

This does not do the right thing when base.href is set to a URL that has a scheme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745500</commentid>
    <comment_count>36</comment_count>
      <attachid>169456</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-18 13:16:24 -0700</bug_when>
    <thetext>Created attachment 169456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747523</commentid>
    <comment_count>37</comment_count>
      <attachid>169456</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 07:29:13 -0700</bug_when>
    <thetext>Comment on attachment 169456
Patch

Clearing flags on attachment: 169456

Committed r132071: &lt;http://trac.webkit.org/changeset/132071&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747524</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 07:29:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770372</commentid>
    <comment_count>39</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2012-11-18 23:02:46 -0800</bug_when>
    <thetext>&gt; It does look like a dupe of 47348
Are you sure this is a dupe? Bug 47348 is about changing the behavior of HTMLAnchorElement when the base URI is updated. This bug seems to be about the behavior of HTMLBaseElement.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166727</attachid>
            <date>2012-10-02 12:05:04 -0700</date>
            <delta_ts>2012-10-02 12:43:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121002150416.patch</filename>
            <type>text/plain</type>
            <size>5097</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ1ZGY2YTQyN2U4OTkw
OTk2ZTVlYjBjYzBjODBjYTZkMmFiMGU2Ni4uYTRkMWQ2MjQ0NzQyYWZiNDIyNGFmMzMxMjk0ODc1
ZmZmYTkxZGViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTAyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgdXJsIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWwK
KworICAgICAgICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxCYXNlRWxlbWVudDo6aHJlZik6IEltcGxlbWVudCB0aGlzIHVzaW5nIGNvbXBsZXRlVVJM
IGJhc2VkIG9uIGRvY3VtZW50KCktPnVybCgpCisgICAgICAgIGluc3RlYWQgb2YgdGhlIGdlbmVy
aWMgW1JlZmxlY3QsIFVSTF0gYmluZGluZ3MuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZik6CisgICAgICAgICogaHRtbC9IVE1M
QmFzZUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxCYXNlRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8gbG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJM
XQorCiAyMDEyLTEwLTAyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFtXSU5DRV0gUmVtb3ZlIEZvbnRQbGF0Zm9ybURhdGE6OmF2ZXJhZ2VDaGFyV2lk
dGgoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCmluZGV4IDI3NTQ3MTdj
MDZiYzNlNTZkODA1MGVmYjdiMWY1Y2RmNDFmMzkwNWUuLmRmYWNiMTNkNzYyMTE1OTQ4MDE5NGRm
MWQyZWUxYmEwNjQ3MmViNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJh
c2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0ICs3NiwxNCBAQCBTdHJp
bmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJldHVybiBmYXN0R2V0QXR0
cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitTdHJpbmcgSFRNTEJhc2VFbGVtZW50OjpocmVmKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShocmVmQXR0cikpLCBkb2N1bWVudCgp
LT51cmwoKSk7Cit9CisKK3ZvaWQgSFRNTEJhc2VFbGVtZW50OjpzZXRIcmVmKGNvbnN0IFN0cmlu
ZyYgdikKK3sKKyAgICBzZXRBdHRyaWJ1dGUoaHJlZkF0dHIsIHYpOworfQorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAppbmRleCBiYjc0ZmI3MzBiYjQwYWUwMmU0M2E5ZWM1
NjdkNmJiNWM0MzEyZDgyLi42YWYxMGUwMmY0YzhmOTJhODI1YTU5Mzk1NjA3MmQyY2I3ZDg4NTYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDkgQEAg
Y2xhc3MgSFRNTEJhc2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQqKTsKIAorICAgIFN0cmluZyBocmVmKCkgY29uc3Q7CisgICAgdm9p
ZCBzZXRIcmVmKGNvbnN0IFN0cmluZyYpOworCiBwcml2YXRlOgogICAgIEhUTUxCYXNlRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQmFzZUVsZW1lbnQuaWRsCmluZGV4IDI3NTBjOWVlOGM0NGI4YmQ1Y2Y1ODcyNjI4MGEyN2Uz
MDNlNDI1NzIuLmNlNjkyYWUxMTVhN2E1N2U5ZjEwNTIzZmQyZWNjNzYwMTc5YWE3MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKQEAgLTIwLDcgKzIwLDcgQEAKIG1v
ZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MQmFzZUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdCwgVVJMXSBET01TdHJpbmcgaHJlZjsKKyAg
ICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgaHJlZjsK
ICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdGFyZ2V0OwogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwN2E3NDJjMmY1NDE1MTExMWFjZWRiMzI1Nzc2OTlhYzk2YzhjODM3Li4xNTU2NGM3
OGMxMWUxNWU2YzMzOGEwNDNhMjAxMmYzNjY5YmRjOWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTItMTAtMDIgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBIVE1MQmFzZUVsZW1lbnQgaHJlZiBhdHRyaWJ1dGUgYmluZGluZyByZXR1cm5zIHdyb25nIFVS
TAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxODQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXNvbHZl
IHRoZSBocmVmIGF0dHJpYnV0ZSBiaW5kaW5nIHJlbGF0aXZlIHRvIHRoZSBkb2N1bWVudCB1cmwg
aW5zdGVhZCBvZiByZXNvbHZpbmcgaXQgdG8gdGhlCisgICAgICAgIGJhc2UgZWxlbWVudCBpdHNl
bGYuCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUt
YmluZGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxCYXNl
RWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAy
ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBV
bnJldmlld2VkIGdhcmRlbmluZywgc2tpcCBuZXcgY3Jhc2hpbmcgdGVzdHMgdG8gcGFpbnQgdGhl
IGJvdHMgZ3JlZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVs
ZW1lbnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2VmMjJlOWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEyZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9o
cmVmLWF0dHJpYnV0ZS1iaW5kaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRy
aWJ1dGUtYmluZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50
L2hyZWYtYXR0cmlidXRlLWJpbmRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDk4YTExNTZkMjExODA2
NTg5ODdhNzg1MDJhMDlkNmU0MTQ4YWIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJpbmRpbmcuaHRtbApAQCAt
MCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxiYXNlIGhyZWY9ImZvby9iYXIvIj4KKzxi
b2R5PjwvYm9keT4KKzxzY3JpcHQ+CitpZiAoc2VsZi50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaHJlZiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jh
c2UnKS5ocmVmOwordmFyIHVybCA9IGRvY3VtZW50LlVSTC5yZXBsYWNlKC9bXi9dKyQvLCAnJykK
K3ZhciBleHBlY3RlZCA9ICdmb28vYmFyLyc7Cit2YXIgYWN0dWFsID0gaHJlZi5yZXBsYWNlKHVy
bCwgJycpOworCitkb2N1bWVudC5ib2R5LnRleHRDb250ZW50ID0gYWN0dWFsID09PSBleHBlY3Rl
ZCA/ICdQQVNTJyA6ICdGQUlMLCBleHBlY3RlZDogJyArIGV4cGVjdGVkICsgJywgYWN0dWFsOiAn
ICsgYWN0dWFsOworCis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166734</attachid>
            <date>2012-10-02 12:43:16 -0700</date>
            <delta_ts>2012-10-03 08:44:14 -0700</delta_ts>
            <desc>Change to use fastGetAttribute</desc>
            <filename>bug-98184-20121002154228.patch</filename>
            <type>text/plain</type>
            <size>5101</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ1ZGY2YTQyN2U4OTkw
OTk2ZTVlYjBjYzBjODBjYTZkMmFiMGU2Ni4uYTRkMWQ2MjQ0NzQyYWZiNDIyNGFmMzMxMjk0ODc1
ZmZmYTkxZGViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTAyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgdXJsIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWwK
KworICAgICAgICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxCYXNlRWxlbWVudDo6aHJlZik6IEltcGxlbWVudCB0aGlzIHVzaW5nIGNvbXBsZXRlVVJM
IGJhc2VkIG9uIGRvY3VtZW50KCktPnVybCgpCisgICAgICAgIGluc3RlYWQgb2YgdGhlIGdlbmVy
aWMgW1JlZmxlY3QsIFVSTF0gYmluZGluZ3MuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZik6CisgICAgICAgICogaHRtbC9IVE1M
QmFzZUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxCYXNlRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8gbG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJM
XQorCiAyMDEyLTEwLTAyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFtXSU5DRV0gUmVtb3ZlIEZvbnRQbGF0Zm9ybURhdGE6OmF2ZXJhZ2VDaGFyV2lk
dGgoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCmluZGV4IDI3NTQ3MTdj
MDZiYzNlNTZkODA1MGVmYjdiMWY1Y2RmNDFmMzkwNWUuLjUyZTNkNTA5MTM5OGVkYWY5NDY2NGYw
ZmMzMTZmYzE4MTUwMTc1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJh
c2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0ICs3NiwxNCBAQCBTdHJp
bmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJldHVybiBmYXN0R2V0QXR0
cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitTdHJpbmcgSFRNTEJhc2VFbGVtZW50OjpocmVmKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKGZhc3RHZXRBdHRyaWJ1dGUoaHJlZkF0dHIpKSwgZG9jdW1l
bnQoKS0+dXJsKCkpOworfQorCit2b2lkIEhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZihjb25zdCBT
dHJpbmcmIHYpCit7CisgICAgc2V0QXR0cmlidXRlKGhyZWZBdHRyLCB2KTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKaW5kZXggYmI3NGZiNzMwYmI0MGFlMDJlNDNh
OWVjNTY3ZDZiYjVjNDMxMmQ4Mi4uNmFmMTBlMDJmNGM4ZjkyYTgyNWE1OTM5NTYwNzJkMmNiN2Q4
ODU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCkBAIC0zMSw2ICszMSw5
IEBAIGNsYXNzIEhUTUxCYXNlRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxlbWVudCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTEJhc2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICBTdHJpbmcgaHJlZigpIGNvbnN0OworICAg
IHZvaWQgc2V0SHJlZihjb25zdCBTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBIVE1MQmFzZUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEJhc2VFbGVtZW50LmlkbAppbmRleCAyNzUwYzllZThjNDRiOGJkNWNmNTg3MjYyODBh
MjdlMzAzZTQyNTcyLi5jZTY5MmFlMTE1YTdhNTdlOWYxMDUyM2ZkMmVjYzc2MDE3OWFhNzIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCkBAIC0yMCw3ICsyMCw3IEBA
CiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTEJhc2VFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3QsIFVSTF0gRE9NU3RyaW5nIGhyZWY7
CisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGhy
ZWY7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHRhcmdldDsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMDdhNzQyYzJmNTQxNTExMTFhY2VkYjMyNTc3Njk5YWM5NmM4YzgzNy4uMTU1
NjRjNzhjMTFlMTVlNmMzMzhhMDQzYTIwMTJmMzY2OWJkYzlhOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTEwLTAyICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSFRNTEJhc2VFbGVtZW50IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9u
ZyBVUkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4
MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVz
b2x2ZSB0aGUgaHJlZiBhdHRyaWJ1dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQg
dXJsIGluc3RlYWQgb2YgcmVzb2x2aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQg
aXRzZWxmLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmli
dXRlLWJpbmRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1M
QmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0x
MC0wMiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtR
dF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgbmV3IGNyYXNoaW5nIHRlc3RzIHRvIHBhaW50
IHRoZSBib3RzIGdyZWVuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJh
c2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJpbmRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJpbmRpbmctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5NDAxNmM4ZWYx
MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1l
bnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYt
YXR0cmlidXRlLWJpbmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxl
bWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5OGExMTU2ZDIx
MTgwNjU4OTg3YTc4NTAyYTA5ZDZlNDE0OGFiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWwK
QEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8YmFzZSBocmVmPSJmb28vYmFyLyI+
Cis8Ym9keT48L2JvZHk+Cis8c2NyaXB0PgoraWYgKHNlbGYudGVzdFJ1bm5lcikKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKwordmFyIGhyZWYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCdiYXNlJykuaHJlZjsKK3ZhciB1cmwgPSBkb2N1bWVudC5VUkwucmVwbGFjZSgvW14vXSskLywg
JycpCit2YXIgZXhwZWN0ZWQgPSAnZm9vL2Jhci8nOwordmFyIGFjdHVhbCA9IGhyZWYucmVwbGFj
ZSh1cmwsICcnKTsKKworZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCA9IGFjdHVhbCA9PT0gZXhw
ZWN0ZWQgPyAnUEFTUycgOiAnRkFJTCwgZXhwZWN0ZWQ6ICcgKyBleHBlY3RlZCArICcsIGFjdHVh
bDogJyArIGFjdHVhbDsKKworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166903</attachid>
            <date>2012-10-03 08:44:17 -0700</date>
            <delta_ts>2012-10-12 09:00:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121003114328.patch</filename>
            <type>text/plain</type>
            <size>7390</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ1ZGY2YTQyN2U4OTkw
OTk2ZTVlYjBjYzBjODBjYTZkMmFiMGU2Ni4uYjU4NWMyODljYWE2ZmU1NWExYjk0MDdlMTIwZWY5
Yjg3M2JiMzQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTAzICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgdXJsIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNl
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJp
YnV0ZS1iaW5kaW5nLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6aHJlZik6IEltcGxlbWVudCB0aGlz
IHVzaW5nIGNvbXBsZXRlVVJMIGJhc2VkIG9uIGRvY3VtZW50KCktPnVybCgpCisgICAgICAgIGlu
c3RlYWQgb2YgdGhlIGdlbmVyaWMgW1JlZmxlY3QsIFVSTF0gYmluZGluZ3MuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZik6Cisg
ICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxCYXNlRWxlbWVu
dCk6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8gbG9uZ2Vy
IHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTAyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXSU5DRV0gUmVtb3ZlIEZvbnRQbGF0Zm9ybURh
dGE6OmF2ZXJhZ2VDaGFyV2lkdGgoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQmFzZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQu
Y3BwCmluZGV4IDI3NTQ3MTdjMDZiYzNlNTZkODA1MGVmYjdiMWY1Y2RmNDFmMzkwNWUuLjY1OGZi
NmEyOTJhYzIwZTYyNzAwNzQ5ZmU2YmY4MzFlMTZjOTU1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCYXNlRWxlbWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJBdHRyaWJ1
dGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03
NSw0ICs3NiwxNiBAQCBTdHJpbmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAg
IHJldHVybiBmYXN0R2V0QXR0cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitLVVJMIEhUTUxCYXNl
RWxlbWVudDo6aHJlZigpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBkb2VzIG5vdCB1c2UgZ2V0VVJM
QXR0cmlidXRlIGJlY2F1c2Ugd2UgbmVlZCB0byByZXNvbHZlIHRoaXMgcmVsYXRpdmUgdG8gdGhl
IGRvY3VtZW50CisgICAgLy8gYW5kIG5vdCByZWxhdGl2ZSB0byB0aGUgYmFzZSBlbGVtZW50IGl0
c2VsZi4KKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoc3RyaXBMZWFkaW5nQW5k
VHJhaWxpbmdIVE1MU3BhY2VzKGZhc3RHZXRBdHRyaWJ1dGUoaHJlZkF0dHIpKSwgZG9jdW1lbnQo
KS0+dXJsKCkpOworfQorCit2b2lkIEhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZihjb25zdCBBdG9t
aWNTdHJpbmcmIHZhbHVlKQoreworICAgIHNldEF0dHJpYnV0ZShocmVmQXR0ciwgdmFsdWUpOwor
fQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAppbmRleCBiYjc0ZmI3MzBi
YjQwYWUwMmU0M2E5ZWM1NjdkNmJiNWM0MzEyZDgyLi5lNmIwYTQxYTJhYWI0MDQ4OGQwZTY2YmEx
MTU2ODVhOTgzMTQxMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNl
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAg
LTMxLDYgKzMxLDkgQEAgY2xhc3MgSFRNTEJhc2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAorICAgIEtVUkwgaHJlZigpIGNv
bnN0OworICAgIHZvaWQgc2V0SHJlZihjb25zdCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToK
ICAgICBIVE1MQmFzZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbAppbmRleCAyNzUwYzllZThjNDRi
OGJkNWNmNTg3MjYyODBhMjdlMzAzZTQyNTcyLi5jZTY5MmFlMTE1YTdhNTdlOWYxMDUyM2ZkMmVj
Yzc2MDE3OWFhNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCkBA
IC0yMCw3ICsyMCw3IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTEJhc2VF
bGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3QsIFVSTF0g
RE9NU3RyaW5nIGhyZWY7CisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
Z10gRE9NU3RyaW5nIGhyZWY7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5n
IHRhcmdldDsKICAgICB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDdhNzQyYzJmNTQxNTExMTFhY2VkYjMyNTc3Njk5
YWM5NmM4YzgzNy4uMmQyOWUzOTUxNmQ4MGY0MDYyNzZkZmM4NmI3ZWJiYmVlMTIzZjg0NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTAzICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50IGhyZWYgYXR0cmlidXRlIGJpbmRp
bmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1dGUgYmluZGluZyByZWxhdGl2ZSB0
byB0aGUgZG9jdW1lbnQgdXJsIGluc3RlYWQgb2YgcmVzb2x2aW5nIGl0IHRvIHRoZQorICAgICAg
ICBiYXNlIGVsZW1lbnQgaXRzZWxmLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hvckVs
ZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJh
c2UuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYt
YXR0cmlidXRlLWJpbmRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy5odG1sOiBBZGRlZC4KKwog
MjAxMi0xMC0wMiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgbmV3IGNyYXNoaW5nIHRlc3RzIHRv
IHBhaW50IHRoZSBib3RzIGdyZWVuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1
dGUtcmViYXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNWVkZDYyZTk5MTI0OTMxNzYzYWY3
MDcwMmU5MGI1ZDMzMWY0ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFm
ZmVjdHMgc2V0dGluZyBhIG5ldyBiYXNlIGZvciB0aGUgVVJMLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCitCYXNlIGNhc2UsIHJlYmFzZSBVUkwgd2l0aG91dCBhdHRyaWJ1dGUgaGF2aW5nIGJl
ZW4gc2V0CitQQVNTIGEuaHJlZiBpcyAiaHR0cDovL29sZF9iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mg
YS5ocmVmIGlzICJodHRwOi8vbmV3X2Jhc2UvZm9vP3F1ZXJ5IgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmVi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJl
Zi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhiNTA2Mjg5MDE3MTI3OGEwNGMx
ZGFlYjZjYTczODc2M2U1YWI1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApAQCAt
MCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2NyaXB0
PgorCitkZXNjcmlwdGlvbignVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVj
dHMgc2V0dGluZyBhIG5ldyBiYXNlIGZvciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignYScpOworCisvLyBVc2Ugb25sb2FkIHRvIG5vdCBhZmZlY3QgdGhlIHJlc3Qgb2YgdGhlIHBh
Z2UgbG9hZGluZy4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygnQmFz
ZSBjYXNlLCByZWJhc2UgVVJMIHdpdGhvdXQgYXR0cmlidXRlIGhhdmluZyBiZWVuIHNldCcpOwor
ICAgIGJhc2UuaHJlZiA9ICdodHRwOi8vb2xkX2Jhc2UvJzsKKyAgICBhLmhyZWYgPSAnZm9vP3F1
ZXJ5JzsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2EuaHJlZicsICdodHRwOi8vb2xkX2Jh
c2UvZm9vP3F1ZXJ5Jyk7CisgICAgYmFzZS5ocmVmID0gJ2h0dHA6Ly9uZXdfYmFzZS8nOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9uZXdfYmFzZS9mb28/cXVl
cnknKTsKK307CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJpbmRpbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJpbmRp
bmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5
NDAxNmM4ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
QmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVt
ZW50L2hyZWYtYXR0cmlidXRlLWJpbmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5
OGExMTU2ZDIxMTgwNjU4OTg3YTc4NTAyYTA5ZDZlNDE0OGFiMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5k
aW5nLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8YmFzZSBocmVmPSJm
b28vYmFyLyI+Cis8Ym9keT48L2JvZHk+Cis8c2NyaXB0PgoraWYgKHNlbGYudGVzdFJ1bm5lcikK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwordmFyIGhyZWYgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdiYXNlJykuaHJlZjsKK3ZhciB1cmwgPSBkb2N1bWVudC5VUkwucmVwbGFjZSgv
W14vXSskLywgJycpCit2YXIgZXhwZWN0ZWQgPSAnZm9vL2Jhci8nOwordmFyIGFjdHVhbCA9IGhy
ZWYucmVwbGFjZSh1cmwsICcnKTsKKworZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCA9IGFjdHVh
bCA9PT0gZXhwZWN0ZWQgPyAnUEFTUycgOiAnRkFJTCwgZXhwZWN0ZWQ6ICcgKyBleHBlY3RlZCAr
ICcsIGFjdHVhbDogJyArIGFjdHVhbDsKKworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166939</attachid>
            <date>2012-10-03 12:24:54 -0700</date>
            <delta_ts>2012-10-12 09:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121003152405.patch</filename>
            <type>text/plain</type>
            <size>7996</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ1ZGY2YTQyN2U4OTkw
OTk2ZTVlYjBjYzBjODBjYTZkMmFiMGU2Ni4uMjY2MTAzN2Y0OGU0NjUyZWIxMDZmNGM1NGY2ZDFm
ZTU0OTBlOWY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTAzICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBv
ZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXIt
ZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGZh
c3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJp
bmRpbmcuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEJhc2VFbGVtZW50OjpocmVmKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTEJhc2VFbGVtZW50OjpzZXRIcmVmKToKKyAgICAgICAgKiBo
dG1sL0hUTUxCYXNlRWxlbWVudC5oOgorICAgICAgICAoSFRNTEJhc2VFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL0hUTUxCYXNlRWxlbWVudC5pZGw6CisKIDIwMTItMTAtMDIgIFBhdHJpY2sgR2Fu
c3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dJTkNFXSBSZW1vdmUgRm9u
dFBsYXRmb3JtRGF0YTo6YXZlcmFnZUNoYXJXaWR0aCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
YXNlRWxlbWVudC5jcHAKaW5kZXggMjc1NDcxN2MwNmJjM2U1NmQ4MDUwZWZiN2IxZjVjZGY0MWYz
OTA1ZS4uZDg4NGQxMTI4NWJiYzA3MzJkNGNhMTRmNmNlODE0OTI1ZjYyZDExZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1
ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIlRleHRSZXNv
dXJjZURlY29kZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0ICs3NywyNSBA
QCBTdHJpbmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJldHVybiBmYXN0
R2V0QXR0cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitLVVJMIEhUTUxCYXNlRWxlbWVudDo6aHJl
ZigpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBkb2VzIG5vdCB1c2UgdGhlIGdldFVSTEF0dHJpYnV0
ZSBmdW5jdGlvbiBiZWNhdXNlIHRoYXQgd2lsbCByZXNvbHZlIHJlbGF0aXZlIHRvIHRoZSBkb2N1
bWVudOKAmXMgYmFzZSBVUkw7CisgICAgLy8gYmFzZSBlbGVtZW50cyBsaWtlIHRoaXMgb25lIGNh
biBiZSB1c2VkIHRvIHNldCB0aGF0IGJhc2UgVVJMLiBUaHVzIHdlIG5lZWQgdG8gcmVzb2x2ZSBy
ZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnTigJlzCisgICAgLy8gVVJMIGFuZCBpZ25vcmUgdGhlIGJh
c2UgVVJMLgorICAgIC8vIHJldHVybiBkb2N1bWVudCgpLT5jb21wbGV0ZVVSTChzdHJpcExlYWRp
bmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoZmFzdEdldEF0dHJpYnV0ZShocmVmQXR0cikpLCBkb2N1
bWVudCgpLT51cmwoKSk7CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVZhbHVl
ID0gZmFzdEdldEF0dHJpYnV0ZShocmVmQXR0cik7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlLmlz
TnVsbCgpKQorICAgICAgICByZXR1cm4gS1VSTCgpOworCisgICAgaWYgKCFkb2N1bWVudCgpLT5k
ZWNvZGVyKCkpCisgICAgICAgIHJldHVybiBLVVJMKGRvY3VtZW50KCktPnVybCgpLCBzdHJpcExl
YWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpKTsKKyAgICByZXR1cm4g
S1VSTChkb2N1bWVudCgpLT51cmwoKSwgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2Vz
KGF0dHJpYnV0ZVZhbHVlKSwgZG9jdW1lbnQoKS0+ZGVjb2RlcigpLT5lbmNvZGluZygpKTsKK30K
Kwordm9pZCBIVE1MQmFzZUVsZW1lbnQ6OnNldEhyZWYoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSkKK3sKKyAgICBzZXRBdHRyaWJ1dGUoaHJlZkF0dHIsIHZhbHVlKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKaW5kZXggYmI3NGZiNzMwYmI0MGFlMDJlNDNhOWVj
NTY3ZDZiYjVjNDMxMmQ4Mi4uZTZiMGE0MWEyYWFiNDA0ODhkMGU2NmJhMTE1Njg1YTk4MzE0MTBi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCkBAIC0zMSw2ICszMSw5IEBA
IGNsYXNzIEhUTUxCYXNlRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxlbWVudCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTEJhc2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICBLVVJMIGhyZWYoKSBjb25zdDsKKyAgICB2b2lk
IHNldEhyZWYoY29uc3QgQXRvbWljU3RyaW5nJik7CisKIHByaXZhdGU6CiAgICAgSFRNTEJhc2VF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKaW5kZXggMjc1MGM5ZWU4YzQ0YjhiZDVjZjU4NzI2Mjgw
YTI3ZTMwM2U0MjU3Mi4uY2U2OTJhZTExNWE3YTU3ZTlmMTA1MjNmZDJlY2M3NjAxNzlhYTcyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbApAQCAtMjAsNyArMjAsNyBA
QAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNlIEhUTUxCYXNlRWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0LCBVUkxdIERPTVN0cmluZyBocmVm
OworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBo
cmVmOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB0YXJnZXQ7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDA3YTc0MmMyZjU0MTUxMTExYWNlZGIzMjU3NzY5OWFjOTZjOGM4MzcuLjUy
MTMzZmZmOGUzMDI3M2U0MTIzODIzYjM3ZjIxMmJjZWNkM2JkNGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMi0xMC0wMyAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEhUTUxCYXNlRWxlbWVudCBocmVmIGF0dHJpYnV0ZSBiaW5kaW5nIHJldHVybnMgd3Jv
bmcgVVJMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
ODE4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRp
b25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmli
dXRlLXJlYmFzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxB
bmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLWJpbmRpbmctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJl
Zi1hdHRyaWJ1dGUtYmluZGluZy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0wMiAgQ3NhYmEgT3N6
dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBn
YXJkZW5pbmcsIHNraXAgbmV3IGNyYXNoaW5nIHRlc3RzIHRvIHBhaW50IHRoZSBib3RzIGdyZWVu
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0
LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MmY1MjcwM2NlNmIzNmJhZDU3N2U1NjhjMjhkNTc0OTU2OTVlNTU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQv
c2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
VGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBhIG5ldyBi
YXNlIGZvciB0aGUgVVJMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBh
LmhyZWYgaXMgImh0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnkiCitQQVNTIGEuaHJlZiBpcyAiaHR0
cDovL25ld19iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
QW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDgxMTY1ZTgyN2NmMDFlNDk4NzJlM2RhYzQxYmMwNjE5NTU0MmI3NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50
L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbignVGVz
dHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBhIG5ldyBiYXNl
IGZvciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jh
c2UnKTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpOworCitiYXNlLmhyZWYg
PSAnaHR0cDovL29sZF9iYXNlLyc7CithLmhyZWYgPSAnZm9vP3F1ZXJ5JzsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnknKTsKK2Jhc2Uu
aHJlZiA9ICdodHRwOi8vbmV3X2Jhc2UvJzsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnYS5ocmVm
JywgJ2h0dHA6Ly9uZXdfYmFzZS9mb28/cXVlcnknKTsKKworLy8gUmVtb3ZlIEBocmVmIHRvIGFs
bG93IGpzLXRlc3QtcG9zdCB0byBsb2FkLgorYmFzZS5ocmVmID0gbnVsbDsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJl
Zi1hdHRyaWJ1dGUtYmluZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtYmluZGluZy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGI3MzhmZWM5MDgxNjZkNTdmOGI5OTE3OTFjOWRlMmZiMmEyOTc3MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJp
YnV0ZS1iaW5kaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1BBU1MgZW5kc1dpdGgo
YmFzZS5ocmVmLCAnZm9vL2Jhci8nKSBpcyB0cnVlCitQQVNTIGVuZHNXaXRoKGJhc2UuaHJlZiwg
J2Zvby9iYXIvZm9vL2Jhci8nKSBpcyBmYWxzZQorUEFTUyBiYXNlLmhhc0F0dHJpYnV0ZSgnaHJl
ZicpIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50
L2hyZWYtYXR0cmlidXRlLWJpbmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxC
YXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjkwNjBl
NWZlNWYxZTMyOGQ2MzRhODYwZDA0OWI0YTFlNjdlZjExNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1iaW5kaW5n
Lmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxiYXNlIGhyZWY9ImZv
by9iYXIvIj4KKzxib2R5PjwvYm9keT4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGVuZHNXaXRoKHN0
cmluZywgc3Vic3RyaW5nKQoreworICAgIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoIC0gc3Vi
c3RyaW5nLmxlbmd0aDsKKyAgICByZXR1cm4gbGVuZ3RoID49IDAgJiYgc3RyaW5nLmluZGV4T2Yo
c3Vic3RyaW5nLCBsZW5ndGgpID09PSBsZW5ndGg7Cit9CisKK3ZhciBiYXNlID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignYmFzZScpOworCitzaG91bGRCZVRydWUoImVuZHNXaXRoKGJhc2UuaHJl
ZiwgJ2Zvby9iYXIvJykiKTsKK3Nob3VsZEJlRmFsc2UoImVuZHNXaXRoKGJhc2UuaHJlZiwgJ2Zv
by9iYXIvZm9vL2Jhci8nKSIpOworCitiYXNlLmhyZWYgPSBudWxsOworc2hvdWxkQmVGYWxzZSgi
YmFzZS5oYXNBdHRyaWJ1dGUoJ2hyZWYnKSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168429</attachid>
            <date>2012-10-12 09:00:55 -0700</date>
            <delta_ts>2012-10-12 10:06:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121012115950.patch</filename>
            <type>text/plain</type>
            <size>9848</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcwYTg0YTdlNjgxZDMw
YTA1YzIwZDc0NWIwNGVmM2M5ZmU4NGZiMy4uNzlhNGMyMTM5OGE4YzY5MjE5NGIwNTUwNWM3MDRl
ZmM5MTFlZDVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTEyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICBUZXN0czogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKKworICAgICAg
ICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNl
RWxlbWVudDo6aHJlZik6IERvbid0IHVzZSBjb21wbGV0ZVVSTC4gUmVzb2x2ZSBocmVmIGJhc2Vk
IG9uIGRvY3VtZW50J3MgVVJMIGluc3RlYWQKKyAgICAgICAgb2YgdGhlIGdlbmVyaWMgW1JlZmxl
Y3QsIFVSTF0gYmluZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0
SHJlZik6IEp1c3Qgc2V0cyB0aGUgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8g
bG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTEyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHVzZSBoYXJk
LWNvZGVkIHpvb20gZmFjdG9ycyBpbnN0ZWFkIG9mIDEuMiBwb3dlcnMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRWxlbWVudC5jcHAKaW5kZXggMjc1NDcxN2MwNmJjM2U1NmQ4MDUwZWZiN2Ix
ZjVjZGY0MWYzOTA1ZS4uNmYxMzJiNmU1ZTBiZjc1NzcyYzY3NDZkZmIwOGZhMmU5N2IxMjIzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcApAQCAtMjYsNiArMjYsOCBA
QAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUg
IlRleHRSZXNvdXJjZURlY29kZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0
ICs3NywyNCBAQCBTdHJpbmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJl
dHVybiBmYXN0R2V0QXR0cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitLVVJMIEhUTUxCYXNlRWxl
bWVudDo6aHJlZigpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBkb2VzIG5vdCB1c2UgdGhlIGdldFVS
TEF0dHJpYnV0ZSBmdW5jdGlvbiBiZWNhdXNlIHRoYXQgd2lsbCByZXNvbHZlIHJlbGF0aXZlIHRv
IHRoZSBkb2N1bWVudCdzIGJhc2UgVVJMOworICAgIC8vIGJhc2UgZWxlbWVudHMgbGlrZSB0aGlz
IG9uZSBjYW4gYmUgdXNlZCB0byBzZXQgdGhhdCBiYXNlIFVSTC4gVGh1cyB3ZSBuZWVkIHRvIHJl
c29sdmUgcmVsYXRpdmUgdG8gdGhlIGRvY3VtZW50J3MKKyAgICAvLyBVUkwgYW5kIGlnbm9yZSB0
aGUgYmFzZSBVUkwuCisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlID0g
ZmFzdEdldEF0dHJpYnV0ZShocmVmQXR0cik7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlLmlzTnVs
bCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+dXJsKCk7CisKKyAgICBpZiAoIWRvY3Vt
ZW50KCktPmRlY29kZXIoKSkKKyAgICAgICAgcmV0dXJuIEtVUkwoZG9jdW1lbnQoKS0+dXJsKCks
IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1ZSkpOworICAg
IHJldHVybiBLVVJMKGRvY3VtZW50KCktPnVybCgpLCBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hU
TUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpLCBkb2N1bWVudCgpLT5kZWNvZGVyKCktPmVuY29kaW5n
KCkpOworfQorCit2b2lkIEhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZihjb25zdCBBdG9taWNTdHJp
bmcmIHZhbHVlKQoreworICAgIHNldEF0dHJpYnV0ZShocmVmQXR0ciwgdmFsdWUpOworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAppbmRleCBiYjc0ZmI3MzBiYjQwYWUw
MmU0M2E5ZWM1NjdkNmJiNWM0MzEyZDgyLi5lNmIwYTQxYTJhYWI0MDQ4OGQwZTY2YmExMTU2ODVh
OTgzMTQxMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAgLTMxLDYg
KzMxLDkgQEAgY2xhc3MgSFRNTEJhc2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAorICAgIEtVUkwgaHJlZigpIGNvbnN0Owor
ICAgIHZvaWQgc2V0SHJlZihjb25zdCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBI
VE1MQmFzZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbAppbmRleCAwZjYzZGRkMTliMWNlZGNmZmY3
M2QwNjM0ZTZmYzE5YjZlNzEwMjJkLi40ZDlkMzlmMGY0NTA5Nzk1MTdhZjM3ZjM5MWVjOWMwOTQ2
NDQ0ZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCkBAIC0xOCw3
ICsxOCw2IEBACiAgKi8KIAogaW50ZXJmYWNlIEhUTUxCYXNlRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWY7CisgICAgW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVm
bGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiB9OwotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGJkZWI5Mjgw
M2JhOGUwZTlkMGNiZjJkYmE1YTZjNWYzZjM1ZTAyNi4uOTdkNmYyYThjNTMyODZlY2I0YWE1MTJh
ZmUxM2VmYTQ3NjdhOTNmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTEwLTEyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVu
dC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3Qt
dG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1M
QmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3Vt
ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTEyICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGth
ICA8bS5wYWt1bGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVu
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQv
c2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MmY1MjcwM2NlNmIzNmJhZDU3N2U1NjhjMjhkNTc0OTU2OTVlNTU0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1l
bnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBA
QAorVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBhIG5l
dyBiYXNlIGZvciB0aGUgVVJMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBhLmhyZWYgaXMgImh0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnkiCitQQVNTIGEuaHJlZiBpcyAi
aHR0cDovL25ld19iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDgxMTY1ZTgyN2NmMDFlNDk4NzJlM2RhYzQxYmMwNjE5NTU0MmI3
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVt
ZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbign
VGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBhIG5ldyBi
YXNlIGZvciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
J2Jhc2UnKTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpOworCitiYXNlLmhy
ZWYgPSAnaHR0cDovL29sZF9iYXNlLyc7CithLmhyZWYgPSAnZm9vP3F1ZXJ5JzsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnknKTsKK2Jh
c2UuaHJlZiA9ICdodHRwOi8vbmV3X2Jhc2UvJzsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnYS5o
cmVmJywgJ2h0dHA6Ly9uZXdfYmFzZS9mb28/cXVlcnknKTsKKworLy8gUmVtb3ZlIEBocmVmIHRv
IGFsbG93IGpzLXRlc3QtcG9zdCB0byBsb2FkLgorYmFzZS5ocmVmID0gbnVsbDsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQv
aHJlZi1hdHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0
ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzYTQxNzNjMTQyNjAwNThjN2NkOWMyODUwZDM2OTYxMmZjNzRkYTgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1
dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE1IEBACitkb2N1bWVudAorUEFTUyBlbmRzV2l0aChiYXNlLmhyZWYsICdmb28vYmFyLycp
IGlzIHRydWUKK1BBU1MgZW5kc1dpdGgoYmFzZS5ocmVmLCAnZm9vL2Jhci9mb28vYmFyLycpIGlz
IGZhbHNlCitQQVNTIGJhc2UuaGFzQXR0cmlidXRlKCdocmVmJykgaXMgZmFsc2UKK1BBU1MgZW5k
c1dpdGgoYmFzZS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10
by1kb2N1bWVudC5odG1sJykgaXMgdHJ1ZQorY3JlYXRlSFRNTERvY3VtZW50CitQQVNTIGJhc2Uu
aHJlZiBpcyAiIgoraWZyYW1lCitQQVNTIGJhc2UuaHJlZiBpcyAiIgord2luZG93Lm9wZW4KK1BB
U1MgYmFzZS5ocmVmIGlzICIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VF
bGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRl
LXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4ZjI4
ZDQ1MmFiM2MxYTFjOThkYzBhMmE2ZWUwNjQ2Yzg2YmQ2YzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtcmVzb2x2
ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxiYXNlIGhyZWY9ImZvby9iYXIvIj4KKzxib2R5PjwvYm9keT4KKzxzY3Jp
cHQ+CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5X
aW5kb3dzKCk7CisKK2Z1bmN0aW9uIGVuZHNXaXRoKHN0cmluZywgc3Vic3RyaW5nKQoreworICAg
IHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoIC0gc3Vic3RyaW5nLmxlbmd0aDsKKyAgICByZXR1
cm4gbGVuZ3RoID49IDAgJiYgc3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nLCBsZW5ndGgpID09PSBs
ZW5ndGg7Cit9CisKK2RlYnVnKCdkb2N1bWVudCcpOwordmFyIGJhc2UgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdiYXNlJyk7CitzaG91bGRCZVRydWUoImVuZHNXaXRoKGJhc2UuaHJlZiwgJ2Zv
by9iYXIvJykiKTsKK3Nob3VsZEJlRmFsc2UoImVuZHNXaXRoKGJhc2UuaHJlZiwgJ2Zvby9iYXIv
Zm9vL2Jhci8nKSIpOworCitiYXNlLmhyZWYgPSBudWxsOworc2hvdWxkQmVGYWxzZSgiYmFzZS5o
YXNBdHRyaWJ1dGUoJ2hyZWYnKSIpOworc2hvdWxkQmVUcnVlKCJlbmRzV2l0aChiYXNlLmhyZWYs
ICcvaHJlZi1hdHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwn
KSIpOworCisKKy8vIE1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHVzZSB0aGUgY3JlYXRvciBkb2N1
bWVudCBhcyB0aGUgYmFzZS4KK2RlYnVnKCdjcmVhdGVIVE1MRG9jdW1lbnQnKTsKK3ZhciBkb2Mg
PSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpOworYmFzZSA9
IGRvYy5oZWFkLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVtZW50KCdiYXNlJykpOworYmFzZS5z
ZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnZm9vL2Jhci8nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
YmFzZS5ocmVmJywgJycpOworCisvLyBNYWtlIHN1cmUgdGhhdCB3ZSB1c2UgdGhlIHBhcmVudCBk
b2N1bWVudCBhcyB0aGUgYmFzZS4KK2RlYnVnKCdpZnJhbWUnKTsKK3ZhciBpZnJhbWUgPSBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpKTsK
K2Jhc2UgPSBpZnJhbWUuY29udGVudERvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0
ZUVsZW1lbnQoJ2Jhc2UnKSk7CitiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZicsICdmb28vYmFyLycp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdiYXNlLmhyZWYnLCAnJyk7CisKKy8vIE1ha2Ugc3Vy
ZSB0aGF0IHdlIGRvbid0IHVzZSB0aGUgb3BlbmVyIGRvY3VtZW50IGFzIHRoZSBiYXNlLgorZGVi
dWcoJ3dpbmRvdy5vcGVuJyk7Cit2YXIgd2luID0gd2luZG93Lm9wZW4oJ2Fib3V0OmJsYW5rJyk7
CitiYXNlID0gd2luLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQod2luLmRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2Jhc2UnKSk7CitiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZicsICdmb28vYmFyLycp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdiYXNlLmhyZWYnLCAnJyk7Cit3aW4uY2xvc2UoKTsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168443</attachid>
            <date>2012-10-12 10:06:59 -0700</date>
            <delta_ts>2012-10-16 09:01:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121012130555.patch</filename>
            <type>text/plain</type>
            <size>11489</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcwYTg0YTdlNjgxZDMw
YTA1YzIwZDc0NWIwNGVmM2M5ZmU4NGZiMy4uNzlhNGMyMTM5OGE4YzY5MjE5NGIwNTUwNWM3MDRl
ZmM5MTFlZDVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTEyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICBUZXN0czogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKKworICAgICAg
ICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNl
RWxlbWVudDo6aHJlZik6IERvbid0IHVzZSBjb21wbGV0ZVVSTC4gUmVzb2x2ZSBocmVmIGJhc2Vk
IG9uIGRvY3VtZW50J3MgVVJMIGluc3RlYWQKKyAgICAgICAgb2YgdGhlIGdlbmVyaWMgW1JlZmxl
Y3QsIFVSTF0gYmluZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0
SHJlZik6IEp1c3Qgc2V0cyB0aGUgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8g
bG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTEyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHVzZSBoYXJk
LWNvZGVkIHpvb20gZmFjdG9ycyBpbnN0ZWFkIG9mIDEuMiBwb3dlcnMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRWxlbWVudC5jcHAKaW5kZXggMjc1NDcxN2MwNmJjM2U1NmQ4MDUwZWZiN2Ix
ZjVjZGY0MWYzOTA1ZS4uNmYxMzJiNmU1ZTBiZjc1NzcyYzY3NDZkZmIwOGZhMmU5N2IxMjIzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcApAQCAtMjYsNiArMjYsOCBA
QAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUg
IlRleHRSZXNvdXJjZURlY29kZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0
ICs3NywyNCBAQCBTdHJpbmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJl
dHVybiBmYXN0R2V0QXR0cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitLVVJMIEhUTUxCYXNlRWxl
bWVudDo6aHJlZigpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBkb2VzIG5vdCB1c2UgdGhlIGdldFVS
TEF0dHJpYnV0ZSBmdW5jdGlvbiBiZWNhdXNlIHRoYXQgd2lsbCByZXNvbHZlIHJlbGF0aXZlIHRv
IHRoZSBkb2N1bWVudCdzIGJhc2UgVVJMOworICAgIC8vIGJhc2UgZWxlbWVudHMgbGlrZSB0aGlz
IG9uZSBjYW4gYmUgdXNlZCB0byBzZXQgdGhhdCBiYXNlIFVSTC4gVGh1cyB3ZSBuZWVkIHRvIHJl
c29sdmUgcmVsYXRpdmUgdG8gdGhlIGRvY3VtZW50J3MKKyAgICAvLyBVUkwgYW5kIGlnbm9yZSB0
aGUgYmFzZSBVUkwuCisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlID0g
ZmFzdEdldEF0dHJpYnV0ZShocmVmQXR0cik7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlLmlzTnVs
bCgpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+dXJsKCk7CisKKyAgICBpZiAoIWRvY3Vt
ZW50KCktPmRlY29kZXIoKSkKKyAgICAgICAgcmV0dXJuIEtVUkwoZG9jdW1lbnQoKS0+dXJsKCks
IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1ZSkpOworICAg
IHJldHVybiBLVVJMKGRvY3VtZW50KCktPnVybCgpLCBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hU
TUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpLCBkb2N1bWVudCgpLT5kZWNvZGVyKCktPmVuY29kaW5n
KCkpOworfQorCit2b2lkIEhUTUxCYXNlRWxlbWVudDo6c2V0SHJlZihjb25zdCBBdG9taWNTdHJp
bmcmIHZhbHVlKQoreworICAgIHNldEF0dHJpYnV0ZShocmVmQXR0ciwgdmFsdWUpOworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAppbmRleCBiYjc0ZmI3MzBiYjQwYWUw
MmU0M2E5ZWM1NjdkNmJiNWM0MzEyZDgyLi5lNmIwYTQxYTJhYWI0MDQ4OGQwZTY2YmExMTU2ODVh
OTgzMTQxMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAgLTMxLDYg
KzMxLDkgQEAgY2xhc3MgSFRNTEJhc2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAorICAgIEtVUkwgaHJlZigpIGNvbnN0Owor
ICAgIHZvaWQgc2V0SHJlZihjb25zdCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBI
VE1MQmFzZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbAppbmRleCAwZjYzZGRkMTliMWNlZGNmZmY3
M2QwNjM0ZTZmYzE5YjZlNzEwMjJkLi40ZDlkMzlmMGY0NTA5Nzk1MTdhZjM3ZjM5MWVjOWMwOTQ2
NDQ0ZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCkBAIC0xOCw3
ICsxOCw2IEBACiAgKi8KIAogaW50ZXJmYWNlIEhUTUxCYXNlRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWY7CisgICAgW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVm
bGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiB9OwotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGJkZWI5Mjgw
M2JhOGUwZTlkMGNiZjJkYmE1YTZjNWYzZjM1ZTAyNi4uYmQzMDYyNDlkOWIxMGJjYThmM2NmZjQw
MTU2NzE4ZGRkZTc5ZjIwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTEyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVu
dC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3Qt
dG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1M
QmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3Vt
ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpz
LW51bGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRl
LWpzLW51bGwuaHRtbDoKKwogMjAxMi0xMC0xMiAgTWljaGHFgiBQYWt1xYJhIHZlbCBSdXRrYSAg
PG0ucGFrdWxhQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3Nl
dC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODJmNTI3MDNjZTZiMzZiYWQ1NzdlNTY4YzI4ZDU3NDk1Njk1ZTU1NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50
L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
K1Rlc3RzIGhvdyBzZXR0aW5nIGhyZWYgYXR0cmlidXRlcyBhZmZlY3RzIHNldHRpbmcgYSBuZXcg
YmFzZSBmb3IgdGhlIFVSTC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
YS5ocmVmIGlzICJodHRwOi8vb2xkX2Jhc2UvZm9vP3F1ZXJ5IgorUEFTUyBhLmhyZWYgaXMgImh0
dHA6Ly9uZXdfYmFzZS9mb28/cXVlcnkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ4MTE2NWU4MjdjZjAxZTQ5ODcyZTNkYWM0MWJjMDYxOTU1NDJiNzQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVu
dC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxiYXNlPgorPGE+PC9hPgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oJ1Rl
c3RzIGhvdyBzZXR0aW5nIGhyZWYgYXR0cmlidXRlcyBhZmZlY3RzIHNldHRpbmcgYSBuZXcgYmFz
ZSBmb3IgdGhlIFVSTC4nKTsKKwordmFyIGJhc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdi
YXNlJyk7Cit2YXIgYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EnKTsKKworYmFzZS5ocmVm
ID0gJ2h0dHA6Ly9vbGRfYmFzZS8nOworYS5ocmVmID0gJ2Zvbz9xdWVyeSc7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2EuaHJlZicsICdodHRwOi8vb2xkX2Jhc2UvZm9vP3F1ZXJ5Jyk7CitiYXNl
LmhyZWYgPSAnaHR0cDovL25ld19iYXNlLyc7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2EuaHJl
ZicsICdodHRwOi8vbmV3X2Jhc2UvZm9vP3F1ZXJ5Jyk7CisKKy8vIFJlbW92ZSBAaHJlZiB0byBh
bGxvdyBqcy10ZXN0LXBvc3QgdG8gbG9hZC4KK2Jhc2UuaHJlZiA9IG51bGw7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hy
ZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUt
cmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mM2E0MTczYzE0MjYwMDU4YzdjZDljMjg1MGQzNjk2MTJmYzc0ZGE4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRl
LXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNSBAQAorZG9jdW1lbnQKK1BBU1MgZW5kc1dpdGgoYmFzZS5ocmVmLCAnZm9vL2Jhci8nKSBp
cyB0cnVlCitQQVNTIGVuZHNXaXRoKGJhc2UuaHJlZiwgJ2Zvby9iYXIvZm9vL2Jhci8nKSBpcyBm
YWxzZQorUEFTUyBiYXNlLmhhc0F0dHJpYnV0ZSgnaHJlZicpIGlzIGZhbHNlCitQQVNTIGVuZHNX
aXRoKGJhc2UuaHJlZiwgJy9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8t
ZG9jdW1lbnQuaHRtbCcpIGlzIHRydWUKK2NyZWF0ZUhUTUxEb2N1bWVudAorUEFTUyBiYXNlLmhy
ZWYgaXMgIiIKK2lmcmFtZQorUEFTUyBiYXNlLmhyZWYgaXMgIiIKK3dpbmRvdy5vcGVuCitQQVNT
IGJhc2UuaHJlZiBpcyAiIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxl
bWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1y
ZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOGYyOGQ0
NTJhYjNjMWExYzk4ZGMwYTJhNmVlMDY0NmM4NmJkNmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVz
LXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8YmFzZSBocmVmPSJmb28vYmFyLyI+Cis8Ym9keT48L2JvZHk+Cis8c2NyaXB0
PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2lu
ZG93cygpOworCitmdW5jdGlvbiBlbmRzV2l0aChzdHJpbmcsIHN1YnN0cmluZykKK3sKKyAgICB2
YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCAtIHN1YnN0cmluZy5sZW5ndGg7CisgICAgcmV0dXJu
IGxlbmd0aCA+PSAwICYmIHN0cmluZy5pbmRleE9mKHN1YnN0cmluZywgbGVuZ3RoKSA9PT0gbGVu
Z3RoOworfQorCitkZWJ1ZygnZG9jdW1lbnQnKTsKK3ZhciBiYXNlID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignYmFzZScpOworc2hvdWxkQmVUcnVlKCJlbmRzV2l0aChiYXNlLmhyZWYsICdmb28v
YmFyLycpIik7CitzaG91bGRCZUZhbHNlKCJlbmRzV2l0aChiYXNlLmhyZWYsICdmb28vYmFyL2Zv
by9iYXIvJykiKTsKKworYmFzZS5ocmVmID0gbnVsbDsKK3Nob3VsZEJlRmFsc2UoImJhc2UuaGFz
QXR0cmlidXRlKCdocmVmJykiKTsKK3Nob3VsZEJlVHJ1ZSgiZW5kc1dpdGgoYmFzZS5ocmVmLCAn
L2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sJyki
KTsKKworCisvLyBNYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCB1c2UgdGhlIGNyZWF0b3IgZG9jdW1l
bnQgYXMgdGhlIGJhc2UuCitkZWJ1ZygnY3JlYXRlSFRNTERvY3VtZW50Jyk7Cit2YXIgZG9jID0g
ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCcnKTsKK2Jhc2UgPSBk
b2MuaGVhZC5hcHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgnYmFzZScpKTsKK2Jhc2Uuc2V0
QXR0cmlidXRlKCdocmVmJywgJ2Zvby9iYXIvJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Jh
c2UuaHJlZicsICcnKTsKKworLy8gTWFrZSBzdXJlIHRoYXQgd2UgdXNlIHRoZSBwYXJlbnQgZG9j
dW1lbnQgYXMgdGhlIGJhc2UuCitkZWJ1ZygnaWZyYW1lJyk7Cit2YXIgaWZyYW1lID0gZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKSk7Citi
YXNlID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVF
bGVtZW50KCdiYXNlJykpOworYmFzZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnZm9vL2Jhci8nKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnYmFzZS5ocmVmJywgJycpOworCisvLyBNYWtlIHN1cmUg
dGhhdCB3ZSBkb24ndCB1c2UgdGhlIG9wZW5lciBkb2N1bWVudCBhcyB0aGUgYmFzZS4KK2RlYnVn
KCd3aW5kb3cub3BlbicpOwordmFyIHdpbiA9IHdpbmRvdy5vcGVuKCdhYm91dDpibGFuaycpOwor
YmFzZSA9IHdpbi5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHdpbi5kb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdiYXNlJykpOworYmFzZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnZm9vL2Jhci8nKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnYmFzZS5ocmVmJywgJycpOword2luLmNsb3NlKCk7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3Rl
ZC50eHQKaW5kZXggOWUyMTgxZjY5ZGM2ZmY2MmRiMjlmZDdjZGFjOGM3ZGVhZDkxMmRjZi4uYTk4
MGI0NzQxNmJmMDBkNjI5OWE1YWU5NDg0ZDIwNzY5YmMzZTEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3Rl
ZC50eHQKQEAgLTQ0LDcgKzQ0LDYgQEAgVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhl
IGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1MQXJlYUVsZW1lbnQuaHJlZl0KIFRFU1QgU1VDQ0VF
REVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgSFRNTEFyZWFFbGVt
ZW50LnNoYXBlXQogVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmlu
Zy4gW3Rlc3RlZCBIVE1MQXJlYUVsZW1lbnQudGFyZ2V0XQogCi1URVNUIFNVQ0NFRURFRDogVGhl
IHZhbHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVkIEhUTUxCYXNlRWxlbWVudC5ocmVm
XQogVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3Rl
ZCBIVE1MQmFzZUVsZW1lbnQudGFyZ2V0XQogCiBURVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdh
cyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVkIEhUTUxCYXNlRm9udEVsZW1lbnQuY29sb3JdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLmh0
bWwKaW5kZXggNDQ2ZDc4ZTVlNDBkNmI0ZDk0Yzc2YzVhNTdiNWM2MThlZWMxZGQ5ZC4uZTJhN2U5
MDdhNGJiZjUwMjQ5ZjU5ZWVkNTAxYWVkMDZiNGJiMmFjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwuaHRtbApAQCAtMTQyLDcgKzE0
Miw2IEBACiAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdIVE1MQmFzZUVsZW1lbnQnLAogICAg
ICAgICAgICAgICAgICAgICBlbGVtZW50VG9Vc2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Jh
c2UnKSwKICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogWwotICAgICAgICAgICAgICAg
ICAgICAgICAge25hbWU6ICdocmVmJywgZXhwZWN0ZWROdWxsOiAnJ30sCiAgICAgICAgICAgICAg
ICAgICAgICAgICB7bmFtZTogJ3RhcmdldCcsIGV4cGVjdGVkTnVsbDogJyd9CiAgICAgICAgICAg
ICAgICAgICAgIF0KICAgICAgICAgICAgICAgICB9LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168956</attachid>
            <date>2012-10-16 09:01:55 -0700</date>
            <delta_ts>2012-10-17 07:35:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121016120044.patch</filename>
            <type>text/plain</type>
            <size>11212</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMxMmNkMDM5MjdhMGM3
Y2ZhOTYxNDBjYTQyMWFmNDRjYTdlMjAzYi4uMjlmMzU5ZDMzMzYwODM4N2Y0ZGYwM2Q2MGI1OGQ0
MDJkZDFlNzJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE2ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICBUZXN0czogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKKworICAgICAg
ICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNl
RWxlbWVudDo6aHJlZik6IERvbid0IHVzZSBjb21wbGV0ZVVSTC4gUmVzb2x2ZSBocmVmIGJhc2Vk
IG9uIGRvY3VtZW50J3MgVVJMIGluc3RlYWQKKyAgICAgICAgb2YgdGhlIGdlbmVyaWMgW1JlZmxl
Y3QsIFVSTF0gYmluZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0
SHJlZik6IEp1c3Qgc2V0cyB0aGUgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8g
bG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTE2ICBNaWtlIFdlc3QgIDxta3dz
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogV2hpdGVsaXN0IHNhZmUg
c3R5bGVzIGZvciAnY29uc29sZS5sb2coJyVjLi4uJywgLi4uKScuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCYXNlRWxlbWVudC5jcHAKaW5kZXggMjc1NDcxN2MwNmJjM2U1NmQ4MDUwZWZiN2IxZjVj
ZGY0MWYzOTA1ZS4uODA5YThhMTBlN2UxMzY1N2YwODNlNzQ1ZDcxYmM3YzliNWVkMjM4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcApAQCAtMjYsNiArMjYsOCBAQAog
I2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIlRl
eHRSZXNvdXJjZURlY29kZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0ICs3
NywyNyBAQCBTdHJpbmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJldHVy
biBmYXN0R2V0QXR0cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitLVVJMIEhUTUxCYXNlRWxlbWVu
dDo6aHJlZigpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBkb2VzIG5vdCB1c2UgdGhlIGdldFVSTEF0
dHJpYnV0ZSBmdW5jdGlvbiBiZWNhdXNlIHRoYXQgd2lsbCByZXNvbHZlIHJlbGF0aXZlIHRvIHRo
ZSBkb2N1bWVudCdzIGJhc2UgVVJMOworICAgIC8vIGJhc2UgZWxlbWVudHMgbGlrZSB0aGlzIG9u
ZSBjYW4gYmUgdXNlZCB0byBzZXQgdGhhdCBiYXNlIFVSTC4gVGh1cyB3ZSBuZWVkIHRvIHJlc29s
dmUgcmVsYXRpdmUgdG8gdGhlIGRvY3VtZW50J3MKKyAgICAvLyBVUkwgYW5kIGlnbm9yZSB0aGUg
YmFzZSBVUkwuCisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlID0gZmFz
dEdldEF0dHJpYnV0ZShocmVmQXR0cik7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlLmlzTnVsbCgp
KQorICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+dXJsKCk7CisKKyAgICBpZiAoIWRvY3VtZW50
KCktPnVybCgpLmlzVmFsaWQoKSB8fCBkb2N1bWVudCgpLT51cmwoKS5pc0JsYW5rVVJMKCkpCisg
ICAgICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBpZiAoIWRvY3VtZW50KCktPmRlY29kZXIoKSkK
KyAgICAgICAgcmV0dXJuIEtVUkwoZG9jdW1lbnQoKS0+dXJsKCksIHN0cmlwTGVhZGluZ0FuZFRy
YWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1ZSkpOworICAgIHJldHVybiBLVVJMKGRvY3Vt
ZW50KCktPnVybCgpLCBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRl
VmFsdWUpLCBkb2N1bWVudCgpLT5kZWNvZGVyKCktPmVuY29kaW5nKCkpOworfQorCit2b2lkIEhU
TUxCYXNlRWxlbWVudDo6c2V0SHJlZihjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQoreworICAg
IHNldEF0dHJpYnV0ZShocmVmQXR0ciwgdmFsdWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQmFzZUVsZW1lbnQuaAppbmRleCBiYjc0ZmI3MzBiYjQwYWUwMmU0M2E5ZWM1NjdkNmJiNWM0
MzEyZDgyLi5lNmIwYTQxYTJhYWI0MDQ4OGQwZTY2YmExMTU2ODVhOTgzMTQxMGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDkgQEAgY2xhc3MgSFRN
TEJhc2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKIAorICAgIEtVUkwgaHJlZigpIGNvbnN0OworICAgIHZvaWQgc2V0SHJlZihj
b25zdCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBIVE1MQmFzZUVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJh
c2VFbGVtZW50LmlkbAppbmRleCAwZjYzZGRkMTliMWNlZGNmZmY3M2QwNjM0ZTZmYzE5YjZlNzEw
MjJkLi40ZDlkMzlmMGY0NTA5Nzk1MTdhZjM3ZjM5MWVjOWMwOTQ2NDQ0ZmQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCkBAIC0xOCw3ICsxOCw2IEBACiAgKi8KIAog
aW50ZXJmYWNlIEhUTUxCYXNlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICBbUmVmbGVjdCwg
VVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWY7CisgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJp
bmddIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyB0YXJnZXQ7CiB9OwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzZlZThlMWZkMDAxOWY3MWY2ZjA5NjE4NmU2
N2Q5Y2I3MTI4YzhiMC4uOGM4NGY1MmE2ODAzOTg0ZWNhOWViMjhlMGJmNGZmYjg1OTcxMWQ5NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTE2ICBFcmlrIEFydmlkc3NvbiAgPGFydkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50IGhyZWYgYXR0cmlidXRlIGJp
bmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1dGUgYmluZGluZyByZWxhdGl2
ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2aW5nIGl0IHRvIHRoZQorICAg
ICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBubyBocmVmIGF0dHJpYnV0ZSB0
aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJMLgorCisgICAgICAgIGh0dHA6
Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3Nl
bWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxB
bmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1
dGUtcmViYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxCYXNlRWxlbWVu
dC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwuaHRtbDoKKwog
MjAxMi0xMC0xNiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFdoaXRlbGlzdCBzYWZlIHN0eWxlcyBmb3IgJ2NvbnNvbGUubG9nKCclYy4u
LicsIC4uLiknLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVs
ZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmY1MjcwM2NlNmIzNmJhZDU3N2U1NjhjMjhkNTc0OTU2
OTVlNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hv
ckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGlu
ZyBhIG5ldyBiYXNlIGZvciB0aGUgVVJMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBhLmhyZWYgaXMgImh0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnkiCitQQVNTIGEuaHJl
ZiBpcyAiaHR0cDovL25ld19iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUt
cmViYXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDgxMTY1ZTgyN2NmMDFlNDk4NzJlM2RhYzQxYmMwNjE5
NTU0MmI3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNo
b3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApAQCAtMCwwICsxLDIyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2NyaXB0PgorCitkZXNjcmlw
dGlvbignVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBh
IG5ldyBiYXNlIGZvciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2Jhc2UnKTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpOworCiti
YXNlLmhyZWYgPSAnaHR0cDovL29sZF9iYXNlLyc7CithLmhyZWYgPSAnZm9vP3F1ZXJ5JzsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnkn
KTsKK2Jhc2UuaHJlZiA9ICdodHRwOi8vbmV3X2Jhc2UvJzsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnYS5ocmVmJywgJ2h0dHA6Ly9uZXdfYmFzZS9mb28/cXVlcnknKTsKKworLy8gUmVtb3ZlIEBo
cmVmIHRvIGFsbG93IGpzLXRlc3QtcG9zdCB0byBsb2FkLgorYmFzZS5ocmVmID0gbnVsbDsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVs
ZW1lbnQvaHJlZi1hdHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0
dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMyYzY3MTExYTQ4YzYwYzQ2MmRkNDJmMGU3MjJhYmE3NzA3NjY5MWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitkb2N1bWVudAorUEFTUyBlbmRzV2l0aChiYXNlLmhyZWYsICdmb28v
YmFyLycpIGlzIHRydWUKK1BBU1MgZW5kc1dpdGgoYmFzZS5ocmVmLCAnZm9vL2Jhci9mb28vYmFy
LycpIGlzIGZhbHNlCitQQVNTIGJhc2UuaGFzQXR0cmlidXRlKCdocmVmJykgaXMgZmFsc2UKK1BB
U1MgZW5kc1dpdGgoYmFzZS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVz
cGVjdC10by1kb2N1bWVudC5odG1sJykgaXMgdHJ1ZQorY3JlYXRlSFRNTERvY3VtZW50CitQQVNT
IGJhc2UuaHJlZiBpcyAiIgoraWZyYW1lCitQQVNTIGJhc2UuaHJlZiBpcyAiIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZl
cy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9j
dW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGRmYWI1Mjk5ZWU5MTdiMmVlNDBkMjc2MDY3MTZhZWQy
ZDFlNWZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VF
bGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5o
dG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8YmFzZSBocmVmPSJmb28v
YmFyLyI+Cis8Ym9keT48L2JvZHk+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBlbmRzV2l0aChzdHJp
bmcsIHN1YnN0cmluZykKK3sKKyAgICB2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCAtIHN1YnN0
cmluZy5sZW5ndGg7CisgICAgcmV0dXJuIGxlbmd0aCA+PSAwICYmIHN0cmluZy5pbmRleE9mKHN1
YnN0cmluZywgbGVuZ3RoKSA9PT0gbGVuZ3RoOworfQorCitkZWJ1ZygnZG9jdW1lbnQnKTsKK3Zh
ciBiYXNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpOworc2hvdWxkQmVUcnVlKCJl
bmRzV2l0aChiYXNlLmhyZWYsICdmb28vYmFyLycpIik7CitzaG91bGRCZUZhbHNlKCJlbmRzV2l0
aChiYXNlLmhyZWYsICdmb28vYmFyL2Zvby9iYXIvJykiKTsKKworYmFzZS5ocmVmID0gbnVsbDsK
K3Nob3VsZEJlRmFsc2UoImJhc2UuaGFzQXR0cmlidXRlKCdocmVmJykiKTsKK3Nob3VsZEJlVHJ1
ZSgiZW5kc1dpdGgoYmFzZS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVz
cGVjdC10by1kb2N1bWVudC5odG1sJykiKTsKKworLy8gTWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3Qg
dXNlIHRoZSBjcmVhdG9yIGRvY3VtZW50IGFzIHRoZSBiYXNlLgorZGVidWcoJ2NyZWF0ZUhUTUxE
b2N1bWVudCcpOwordmFyIGRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxE
b2N1bWVudCgnJyk7CitiYXNlID0gZG9jLmhlYWQuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1l
bnQoJ2Jhc2UnKSk7CitiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZicsICdmb28vYmFyLycpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdiYXNlLmhyZWYnLCAnJyk7CisKKy8vIE1ha2Ugc3VyZSB0aGF0
IHdlIHVzZSB0aGUgcGFyZW50IGRvY3VtZW50IGFzIHRoZSBiYXNlLgorZGVidWcoJ2lmcmFtZScp
OwordmFyIGlmcmFtZSA9IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaWZyYW1lJykpOworYmFzZSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuaGVhZC5h
cHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgnYmFzZScpKTsKK2Jhc2Uuc2V0QXR0cmlidXRl
KCdocmVmJywgJ2Zvby9iYXIvJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Jhc2UuaHJlZics
ICcnKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxs
LWV4cGVjdGVkLnR4dAppbmRleCA5ZTIxODFmNjlkYzZmZjYyZGIyOWZkN2NkYWM4YzdkZWFkOTEy
ZGNmLi5hOTgwYjQ3NDE2YmYwMGQ2Mjk5YTVhZTk0ODRkMjA3NjliYzNlMTNiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxs
LWV4cGVjdGVkLnR4dApAQCAtNDQsNyArNDQsNiBAQCBURVNUIFNVQ0NFRURFRDogVGhlIHZhbHVl
IHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVkIEhUTUxBcmVhRWxlbWVudC5ocmVmXQogVEVT
VCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1M
QXJlYUVsZW1lbnQuc2hhcGVdCiBURVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyB0aGUgZW1w
dHkgc3RyaW5nLiBbdGVzdGVkIEhUTUxBcmVhRWxlbWVudC50YXJnZXRdCiAKLVRFU1QgU1VDQ0VF
REVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgSFRNTEJhc2VFbGVt
ZW50LmhyZWZdCiBURVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5n
LiBbdGVzdGVkIEhUTUxCYXNlRWxlbWVudC50YXJnZXRdCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUg
dmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgSFRNTEJhc2VGb250RWxlbWVudC5j
b2xvcl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRl
LWpzLW51bGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpz
LW51bGwuaHRtbAppbmRleCA0NDZkNzhlNWU0MGQ2YjRkOTRjNzZjNWE1N2I1YzYxOGVlYzFkZDlk
Li5lMmE3ZTkwN2E0YmJmNTAyNDlmNTllZWQ1MDFhZWQwNmI0YmIyYWNlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC5odG1sCkBAIC0x
NDIsNyArMTQyLDYgQEAKICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ0hUTUxCYXNlRWxlbWVu
dCcsCiAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUb1VzZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnYmFzZScpLAogICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbCi0gICAgICAg
ICAgICAgICAgICAgICAgICB7bmFtZTogJ2hyZWYnLCBleHBlY3RlZE51bGw6ICcnfSwKICAgICAg
ICAgICAgICAgICAgICAgICAgIHtuYW1lOiAndGFyZ2V0JywgZXhwZWN0ZWROdWxsOiAnJ30KICAg
ICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgIH0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169183</attachid>
            <date>2012-10-17 07:35:57 -0700</date>
            <delta_ts>2012-10-18 08:17:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121017103444.patch</filename>
            <type>text/plain</type>
            <size>11863</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMxMmNkMDM5MjdhMGM3
Y2ZhOTYxNDBjYTQyMWFmNDRjYTdlMjAzYi4uMjlmMzU5ZDMzMzYwODM4N2Y0ZGYwM2Q2MGI1OGQ0
MDJkZDFlNzJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE2ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICBUZXN0czogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKKworICAgICAg
ICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNl
RWxlbWVudDo6aHJlZik6IERvbid0IHVzZSBjb21wbGV0ZVVSTC4gUmVzb2x2ZSBocmVmIGJhc2Vk
IG9uIGRvY3VtZW50J3MgVVJMIGluc3RlYWQKKyAgICAgICAgb2YgdGhlIGdlbmVyaWMgW1JlZmxl
Y3QsIFVSTF0gYmluZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0
SHJlZik6IEp1c3Qgc2V0cyB0aGUgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8g
bG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTE2ICBNaWtlIFdlc3QgIDxta3dz
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogV2hpdGVsaXN0IHNhZmUg
c3R5bGVzIGZvciAnY29uc29sZS5sb2coJyVjLi4uJywgLi4uKScuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCYXNlRWxlbWVudC5jcHAKaW5kZXggMjc1NDcxN2MwNmJjM2U1NmQ4MDUwZWZiN2IxZjVj
ZGY0MWYzOTA1ZS4uODA5YThhMTBlN2UxMzY1N2YwODNlNzQ1ZDcxYmM3YzliNWVkMjM4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcApAQCAtMjYsNiArMjYsOCBAQAog
I2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIlRl
eHRSZXNvdXJjZURlY29kZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03NSw0ICs3
NywyNyBAQCBTdHJpbmcgSFRNTEJhc2VFbGVtZW50Ojp0YXJnZXQoKSBjb25zdAogICAgIHJldHVy
biBmYXN0R2V0QXR0cmlidXRlKHRhcmdldEF0dHIpOwogfQogCitLVVJMIEhUTUxCYXNlRWxlbWVu
dDo6aHJlZigpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBkb2VzIG5vdCB1c2UgdGhlIGdldFVSTEF0
dHJpYnV0ZSBmdW5jdGlvbiBiZWNhdXNlIHRoYXQgd2lsbCByZXNvbHZlIHJlbGF0aXZlIHRvIHRo
ZSBkb2N1bWVudCdzIGJhc2UgVVJMOworICAgIC8vIGJhc2UgZWxlbWVudHMgbGlrZSB0aGlzIG9u
ZSBjYW4gYmUgdXNlZCB0byBzZXQgdGhhdCBiYXNlIFVSTC4gVGh1cyB3ZSBuZWVkIHRvIHJlc29s
dmUgcmVsYXRpdmUgdG8gdGhlIGRvY3VtZW50J3MKKyAgICAvLyBVUkwgYW5kIGlnbm9yZSB0aGUg
YmFzZSBVUkwuCisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlID0gZmFz
dEdldEF0dHJpYnV0ZShocmVmQXR0cik7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlLmlzTnVsbCgp
KQorICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+dXJsKCk7CisKKyAgICBpZiAoIWRvY3VtZW50
KCktPnVybCgpLmlzVmFsaWQoKSB8fCBkb2N1bWVudCgpLT51cmwoKS5pc0JsYW5rVVJMKCkpCisg
ICAgICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBpZiAoIWRvY3VtZW50KCktPmRlY29kZXIoKSkK
KyAgICAgICAgcmV0dXJuIEtVUkwoZG9jdW1lbnQoKS0+dXJsKCksIHN0cmlwTGVhZGluZ0FuZFRy
YWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1ZSkpOworICAgIHJldHVybiBLVVJMKGRvY3Vt
ZW50KCktPnVybCgpLCBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRl
VmFsdWUpLCBkb2N1bWVudCgpLT5kZWNvZGVyKCktPmVuY29kaW5nKCkpOworfQorCit2b2lkIEhU
TUxCYXNlRWxlbWVudDo6c2V0SHJlZihjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQoreworICAg
IHNldEF0dHJpYnV0ZShocmVmQXR0ciwgdmFsdWUpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQmFzZUVsZW1lbnQuaAppbmRleCBiYjc0ZmI3MzBiYjQwYWUwMmU0M2E5ZWM1NjdkNmJiNWM0
MzEyZDgyLi5lNmIwYTQxYTJhYWI0MDQ4OGQwZTY2YmExMTU2ODVhOTgzMTQxMGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDkgQEAgY2xhc3MgSFRN
TEJhc2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKIAorICAgIEtVUkwgaHJlZigpIGNvbnN0OworICAgIHZvaWQgc2V0SHJlZihj
b25zdCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBIVE1MQmFzZUVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJh
c2VFbGVtZW50LmlkbAppbmRleCAwZjYzZGRkMTliMWNlZGNmZmY3M2QwNjM0ZTZmYzE5YjZlNzEw
MjJkLi40ZDlkMzlmMGY0NTA5Nzk1MTdhZjM3ZjM5MWVjOWMwOTQ2NDQ0ZmQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCkBAIC0xOCw3ICsxOCw2IEBACiAgKi8KIAog
aW50ZXJmYWNlIEhUTUxCYXNlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICBbUmVmbGVjdCwg
VVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhyZWY7CisgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJp
bmddIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyB0YXJnZXQ7CiB9OwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzZlZThlMWZkMDAxOWY3MWY2ZjA5NjE4NmU2
N2Q5Y2I3MTI4YzhiMC4uOGM4NGY1MmE2ODAzOTg0ZWNhOWViMjhlMGJmNGZmYjg1OTcxMWQ5NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTE2ICBFcmlrIEFydmlkc3NvbiAgPGFydkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50IGhyZWYgYXR0cmlidXRlIGJp
bmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1dGUgYmluZGluZyByZWxhdGl2
ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2aW5nIGl0IHRvIHRoZQorICAg
ICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBubyBocmVmIGF0dHJpYnV0ZSB0
aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJMLgorCisgICAgICAgIGh0dHA6
Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3Nl
bWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxB
bmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1
dGUtcmViYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxCYXNlRWxlbWVu
dC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwuaHRtbDoKKwog
MjAxMi0xMC0xNiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFdoaXRlbGlzdCBzYWZlIHN0eWxlcyBmb3IgJ2NvbnNvbGUubG9nKCclYy4u
LicsIC4uLiknLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVs
ZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmY1MjcwM2NlNmIzNmJhZDU3N2U1NjhjMjhkNTc0OTU2
OTVlNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hv
ckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGlu
ZyBhIG5ldyBiYXNlIGZvciB0aGUgVVJMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBhLmhyZWYgaXMgImh0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnkiCitQQVNTIGEuaHJl
ZiBpcyAiaHR0cDovL25ld19iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUt
cmViYXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDgxMTY1ZTgyN2NmMDFlNDk4NzJlM2RhYzQxYmMwNjE5
NTU0MmI3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNo
b3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApAQCAtMCwwICsxLDIyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2NyaXB0PgorCitkZXNjcmlw
dGlvbignVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBh
IG5ldyBiYXNlIGZvciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2Jhc2UnKTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpOworCiti
YXNlLmhyZWYgPSAnaHR0cDovL29sZF9iYXNlLyc7CithLmhyZWYgPSAnZm9vP3F1ZXJ5JzsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnkn
KTsKK2Jhc2UuaHJlZiA9ICdodHRwOi8vbmV3X2Jhc2UvJzsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnYS5ocmVmJywgJ2h0dHA6Ly9uZXdfYmFzZS9mb28/cXVlcnknKTsKKworLy8gUmVtb3ZlIEBo
cmVmIHRvIGFsbG93IGpzLXRlc3QtcG9zdCB0byBsb2FkLgorYmFzZS5ocmVmID0gbnVsbDsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVs
ZW1lbnQvaHJlZi1hdHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0
dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzYTQxNzNjMTQyNjAwNThjN2NkOWMyODUwZDM2OTYxMmZjNzRkYTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitkb2N1bWVudAorUEFTUyBlbmRzV2l0aChiYXNlLmhyZWYsICdmb28v
YmFyLycpIGlzIHRydWUKK1BBU1MgZW5kc1dpdGgoYmFzZS5ocmVmLCAnZm9vL2Jhci9mb28vYmFy
LycpIGlzIGZhbHNlCitQQVNTIGJhc2UuaGFzQXR0cmlidXRlKCdocmVmJykgaXMgZmFsc2UKK1BB
U1MgZW5kc1dpdGgoYmFzZS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVz
cGVjdC10by1kb2N1bWVudC5odG1sJykgaXMgdHJ1ZQorY3JlYXRlSFRNTERvY3VtZW50CitQQVNT
IGJhc2UuaHJlZiBpcyAiIgoraWZyYW1lCitQQVNTIGJhc2UuaHJlZiBpcyAiIgord2luZG93Lm9w
ZW4KK1BBU1MgYmFzZS5ocmVmIGlzICIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0
cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk2NDM1YTJiNWJkYmU2NGU5ZmFkNTI5Y2NkYWFhMmU4MDllYjM5MzUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1hdHRyaWJ1dGUt
cmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxiYXNlIGhyZWY9ImZvby9iYXIvIj4KKzxib2R5PjwvYm9keT4K
KzxzY3JpcHQ+CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIC8vIEhBQ0s6IHNldENh
bk9wZW5XaW5kb3dzIG5lZWRzIHRoZSB0ZXN0IHRvIGJlIGFzeW5jIG9yIHRoZSBBcHBsZSBwb3J0
IGNyYXNoZXMuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk5NDY1CisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKK30K
KworZnVuY3Rpb24gZW5kc1dpdGgoc3RyaW5nLCBzdWJzdHJpbmcpCit7CisgICAgdmFyIGxlbmd0
aCA9IHN0cmluZy5sZW5ndGggLSBzdWJzdHJpbmcubGVuZ3RoOworICAgIHJldHVybiBsZW5ndGgg
Pj0gMCAmJiBzdHJpbmcuaW5kZXhPZihzdWJzdHJpbmcsIGxlbmd0aCkgPT09IGxlbmd0aDsKK30K
KworZGVidWcoJ2RvY3VtZW50Jyk7Cit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
J2Jhc2UnKTsKK3Nob3VsZEJlVHJ1ZSgiZW5kc1dpdGgoYmFzZS5ocmVmLCAnZm9vL2Jhci8nKSIp
Oworc2hvdWxkQmVGYWxzZSgiZW5kc1dpdGgoYmFzZS5ocmVmLCAnZm9vL2Jhci9mb28vYmFyLycp
Iik7CisKK2Jhc2UuaHJlZiA9IG51bGw7CitzaG91bGRCZUZhbHNlKCJiYXNlLmhhc0F0dHJpYnV0
ZSgnaHJlZicpIik7CitzaG91bGRCZVRydWUoImVuZHNXaXRoKGJhc2UuaHJlZiwgJy9ocmVmLWF0
dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRtbCcpIik7CisKKy8v
IE1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHVzZSB0aGUgY3JlYXRvciBkb2N1bWVudCBhcyB0aGUg
YmFzZS4KK2RlYnVnKCdjcmVhdGVIVE1MRG9jdW1lbnQnKTsKK3ZhciBkb2MgPSBkb2N1bWVudC5p
bXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpOworYmFzZSA9IGRvYy5oZWFkLmFw
cGVuZENoaWxkKGRvYy5jcmVhdGVFbGVtZW50KCdiYXNlJykpOworYmFzZS5zZXRBdHRyaWJ1dGUo
J2hyZWYnLCAnZm9vL2Jhci8nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnYmFzZS5ocmVmJywg
JycpOworCisvLyBNYWtlIHN1cmUgdGhhdCB3ZSB1c2UgdGhlIHBhcmVudCBkb2N1bWVudCBhcyB0
aGUgYmFzZS4KK2RlYnVnKCdpZnJhbWUnKTsKK3ZhciBpZnJhbWUgPSBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpKTsKK2Jhc2UgPSBpZnJh
bWUuY29udGVudERvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoJ2Jh
c2UnKSk7CitiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZicsICdmb28vYmFyLycpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdiYXNlLmhyZWYnLCAnJyk7CisKKy8vIE1ha2Ugc3VyZSB0aGF0IHdlIGRv
bid0IHVzZSB0aGUgb3BlbmVyIGRvY3VtZW50IGFzIHRoZSBiYXNlLgorZGVidWcoJ3dpbmRvdy5v
cGVuJyk7Cit2YXIgd2luID0gd2luZG93Lm9wZW4oJ2Fib3V0OmJsYW5rJyk7CitiYXNlID0gd2lu
LmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQod2luLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Jh
c2UnKSk7CitiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZicsICdmb28vYmFyLycpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdiYXNlLmhyZWYnLCAnJyk7Cit3aW4uY2xvc2UoKTsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCitmaW5pc2hKU1Rlc3QoKTsKKworPC9zY3JpcHQ+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVu
dC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9l
bGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dAppbmRleCA5ZTIxODFmNjlkYzZm
ZjYyZGIyOWZkN2NkYWM4YzdkZWFkOTEyZGNmLi5hOTgwYjQ3NDE2YmYwMGQ2Mjk5YTVhZTk0ODRk
MjA3NjliYzNlMTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0
dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9l
bGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dApAQCAtNDQsNyArNDQsNiBAQCBU
RVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVkIEhU
TUxBcmVhRWxlbWVudC5ocmVmXQogVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVt
cHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1MQXJlYUVsZW1lbnQuc2hhcGVdCiBURVNUIFNVQ0NFRURF
RDogVGhlIHZhbHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVkIEhUTUxBcmVhRWxlbWVu
dC50YXJnZXRdCiAKLVRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJp
bmcuIFt0ZXN0ZWQgSFRNTEJhc2VFbGVtZW50LmhyZWZdCiBURVNUIFNVQ0NFRURFRDogVGhlIHZh
bHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVkIEhUTUxCYXNlRWxlbWVudC50YXJnZXRd
CiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0
ZWQgSFRNTEJhc2VGb250RWxlbWVudC5jb2xvcl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwuaHRtbAppbmRleCA0NDZkNzhlNWU0MGQ2YjRk
OTRjNzZjNWE1N2I1YzYxOGVlYzFkZDlkLi5lMmE3ZTkwN2E0YmJmNTAyNDlmNTllZWQ1MDFhZWQw
NmI0YmIyYWNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJp
YnV0ZS1qcy1udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRy
aWJ1dGUtanMtbnVsbC5odG1sCkBAIC0xNDIsNyArMTQyLDYgQEAKICAgICAgICAgICAgICAgICAg
ICAgdHlwZTogJ0hUTUxCYXNlRWxlbWVudCcsCiAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRU
b1VzZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpLAogICAgICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGVzOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7bmFtZTogJ2hyZWYnLCBl
eHBlY3RlZE51bGw6ICcnfSwKICAgICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiAndGFyZ2V0
JywgZXhwZWN0ZWROdWxsOiAnJ30KICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAg
ICAgIH0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169416</attachid>
            <date>2012-10-18 08:17:10 -0700</date>
            <delta_ts>2012-10-18 13:16:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121018111556.patch</filename>
            <type>text/plain</type>
            <size>12266</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q3MGIyYWM1YTVhYmE3
ODkwNmI2M2VkY2Y4ODZkMjRkMzdmMmFiNS4uOGFmNTI3NzdhMmE4MDhlM2NjNDg2YTRlNjkwYmIx
MzQ3NjRkNmFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE4ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICBUZXN0czogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKKworICAgICAg
ICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNl
RWxlbWVudDo6aHJlZik6IERvbid0IHVzZSBjb21wbGV0ZVVSTC4gUmVzb2x2ZSBocmVmIGJhc2Vk
IG9uIGRvY3VtZW50J3MgVVJMIGluc3RlYWQKKyAgICAgICAgb2YgdGhlIGdlbmVyaWMgW1JlZmxl
Y3QsIFVSTF0gYmluZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0
SHJlZik6IEp1c3Qgc2V0cyB0aGUgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8g
bG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTE4ICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBYLVdl
YktpdC1DU1AgaGVhZGVyIGludG8gaW5zcGVjdG9yLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJhc2VFbGVtZW50LmNwcAppbmRleCAyNzU0NzE3YzA2YmMzZTU2ZDgwNTBlZmI3YjFmNWNkZjQx
ZjM5MDVlLi44MDlhOGExMGU3ZTEzNjU3ZjA4M2U3NDVkNzFiYzdjOWI1ZWQyMzg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5j
bHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5jbHVkZSAiVGV4dFJl
c291cmNlRGVjb2Rlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc1LDQgKzc3LDI3
IEBAIFN0cmluZyBIVE1MQmFzZUVsZW1lbnQ6OnRhcmdldCgpIGNvbnN0CiAgICAgcmV0dXJuIGZh
c3RHZXRBdHRyaWJ1dGUodGFyZ2V0QXR0cik7CiB9CiAKK0tVUkwgSFRNTEJhc2VFbGVtZW50Ojpo
cmVmKCkgY29uc3QKK3sKKyAgICAvLyBUaGlzIGRvZXMgbm90IHVzZSB0aGUgZ2V0VVJMQXR0cmli
dXRlIGZ1bmN0aW9uIGJlY2F1c2UgdGhhdCB3aWxsIHJlc29sdmUgcmVsYXRpdmUgdG8gdGhlIGRv
Y3VtZW50J3MgYmFzZSBVUkw7CisgICAgLy8gYmFzZSBlbGVtZW50cyBsaWtlIHRoaXMgb25lIGNh
biBiZSB1c2VkIHRvIHNldCB0aGF0IGJhc2UgVVJMLiBUaHVzIHdlIG5lZWQgdG8gcmVzb2x2ZSBy
ZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQncworICAgIC8vIFVSTCBhbmQgaWdub3JlIHRoZSBiYXNl
IFVSTC4KKworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlVmFsdWUgPSBmYXN0R2V0
QXR0cmlidXRlKGhyZWZBdHRyKTsKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUuaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiBkb2N1bWVudCgpLT51cmwoKTsKKworICAgIGlmICghZG9jdW1lbnQoKS0+
dXJsKCkuaXNWYWxpZCgpIHx8IGRvY3VtZW50KCktPnVybCgpLmlzQmxhbmtVUkwoKSkKKyAgICAg
ICAgcmV0dXJuIEtVUkwoKTsKKworICAgIGlmICghZG9jdW1lbnQoKS0+ZGVjb2RlcigpKQorICAg
ICAgICByZXR1cm4gS1VSTChkb2N1bWVudCgpLT51cmwoKSwgc3RyaXBMZWFkaW5nQW5kVHJhaWxp
bmdIVE1MU3BhY2VzKGF0dHJpYnV0ZVZhbHVlKSk7CisgICAgcmV0dXJuIEtVUkwoZG9jdW1lbnQo
KS0+dXJsKCksIHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1
ZSksIGRvY3VtZW50KCktPmRlY29kZXIoKS0+ZW5jb2RpbmcoKSk7Cit9CisKK3ZvaWQgSFRNTEJh
c2VFbGVtZW50OjpzZXRIcmVmKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgc2V0
QXR0cmlidXRlKGhyZWZBdHRyLCB2YWx1ZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
YXNlRWxlbWVudC5oCmluZGV4IGJiNzRmYjczMGJiNDBhZTAyZTQzYTllYzU2N2Q2YmI1YzQzMTJk
ODIuLmU2YjBhNDFhMmFhYjQwNDg4ZDBlNjZiYTExNTY4NWE5ODMxNDEwYmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaApAQCAtMzEsNiArMzEsOSBAQCBjbGFzcyBIVE1MQmFz
ZUVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEhUTUxCYXNlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOwogCisgICAgS1VSTCBocmVmKCkgY29uc3Q7CisgICAgdm9pZCBzZXRIcmVmKGNvbnN0
IEF0b21pY1N0cmluZyYpOworCiBwcml2YXRlOgogICAgIEhUTUxCYXNlRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVs
ZW1lbnQuaWRsCmluZGV4IDBmNjNkZGQxOWIxY2VkY2ZmZjczZDA2MzRlNmZjMTliNmU3MTAyMmQu
LjRkOWQzOWYwZjQ1MDk3OTUxN2FmMzdmMzkxZWM5YzA5NDY0NDRmZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKQEAgLTE4LDcgKzE4LDYgQEAKICAqLwogCiBpbnRl
cmZhY2UgSFRNTEJhc2VFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIFtSZWZsZWN0LCBVUkxd
IGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKKyAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10g
YXR0cmlidXRlIERPTVN0cmluZyBocmVmOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHRhcmdldDsKIH07Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMDUyMDZiZTE3YWE2OGNhMGMzY2QwODZiOWY5YTRl
Yjc1MTY0Mzc0Li42NmE0ZDIxNTg3YTQ2NGY0YWU3ZTExNDc0NTdiZjY1N2U4ZDc3ZDFlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTAtMTggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBIVE1MQmFzZUVsZW1lbnQgaHJlZiBhdHRyaWJ1dGUgYmluZGlu
ZyByZXR1cm5zIHdyb25nIFVSTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTgxODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZXNvbHZlIHRoZSBocmVmIGF0dHJpYnV0ZSBiaW5kaW5nIHJlbGF0aXZlIHRv
IHRoZSBkb2N1bWVudCBVUkwgaW5zdGVhZCBvZiByZXNvbHZpbmcgaXQgdG8gdGhlCisgICAgICAg
IGJhc2UgZWxlbWVudCBpdHNlbGYuIElmIHRoZXJlIGlzIG5vIGhyZWYgYXR0cmlidXRlIHRoaXMg
c2hvdWxkIHJldHVybiB0aGUgZmFsbGJhY2sgYmFzZSBVUkwuCisKKyAgICAgICAgaHR0cDovL3d3
dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2Uvc2VtYW50
aWNzLmh0bWwjdGhlLWJhc2UtZWxlbWVudAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hv
ckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1y
ZWJhc2UuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hy
ZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJp
YnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC5odG1sOgorCiAyMDEy
LTEwLTE4ICBBbnRvbiBNdWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBDaHJvbWl1bSByZWJhc2VsaW5lcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYt
YXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMzZjAzMGQ2YjY3M2Mw
MzAxYjhiNTkzZWVlZjhiMTg2MTM5ZGUzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzIGhvdyBzZXR0aW5nIGhyZWYgYXR0cmli
dXRlcyBhZmZlY3RzIHNldHRpbmcgYSBuZXcgYmFzZSBmb3IgdGhlIFVSTC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYS5ocmVmIGlzICJodHRwOi8vb2xkX2Jhc2UvZm9v
P3F1ZXJ5IgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cDov
L25ld19iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5j
aG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGUzN2MzNTg1NmEzMzgxMzBiNmJiNjBmMzdmYjA4ZTcxY2ZjYTcwNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3Nl
dC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbignVGVzdHMg
aG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFmZmVjdHMgc2V0dGluZyBhIG5ldyBiYXNlIGZv
ciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2Un
KTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpOworCitiYXNlLmhyZWYgPSAn
aHR0cDovL29sZF9iYXNlLyc7CithLmhyZWYgPSAnZm9vP3F1ZXJ5JzsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9vbGRfYmFzZS9mb28/cXVlcnknKTsKK2Jhc2UuaHJl
ZiA9ICdodHRwOi8vbmV3X2Jhc2UvJzsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAnaHR0cDovL25ld19iYXNlL2Zvbz9xdWVyeScpOwor
CisvLyBSZW1vdmUgQGhyZWYgdG8gYWxsb3cganMtdGVzdC1wb3N0IHRvIGxvYWQuCitiYXNlLmhy
ZWYgPSBudWxsOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3Qt
dG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VF
bGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y0NGU2ZjM4M2IyNWQyMDU0MzViZTNiZGY2MTMyZjE0
YWQwZjFkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNl
RWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1BBU1MgZW5kc1dpdGgoZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignYmFzZScpLmhyZWYsICdmb28vYmFyLycpIGlzIHRydWUKK1BBU1MgZW5kc1dp
dGgoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhyZWYsICdmb28vYmFyL2Zvby9iYXIv
JykgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhhc0F0dHJp
YnV0ZSgnaHJlZicpIGlzIGZhbHNlCitQQVNTIGVuZHNXaXRoKGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ2Jhc2UnKS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10
by1kb2N1bWVudC5odG1sJykgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudFdpdGhvdXRBVmlldy5xdWVy
eVNlbGVjdG9yKCdiYXNlJykuaHJlZiBpcyAiIgorUEFTUyBpZnJhbWUuY29udGVudERvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKS5ocmVmIGlzICIiCitQQVNTIG5ld1dpbmRvdy5kb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCdiYXNlJykuaHJlZiBpcyAiIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3Bl
Y3QtdG8tZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVu
dC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMWE3NzY2YmNlNTc2YzljYTFiZDg3ZGYzODhkYTBkZDMyZDhhZDFjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYt
YXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sCkBAIC0wLDAg
KzEsNTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8YmFzZSBocmVmPSJmb28vYmFyLyI+Cis8Ym9k
eT48L2JvZHk+Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAvLyBG
SVhNRTogc2V0Q2FuT3BlbldpbmRvd3MgbmVlZHMgdGhlIHRlc3QgdG8gYmUgYXN5bmMgb3IgdGhl
IEFwcGxlIHBvcnQgY3Jhc2hlcy4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTk0NjUKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2lu
ZG93cygpOworfQorCitmdW5jdGlvbiBlbmRzV2l0aChzdHJpbmcsIHN1YnN0cmluZykKK3sKKyAg
ICB2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCAtIHN1YnN0cmluZy5sZW5ndGg7CisgICAgcmV0
dXJuIGxlbmd0aCA+PSAwICYmIHN0cmluZy5pbmRleE9mKHN1YnN0cmluZywgbGVuZ3RoKSA9PT0g
bGVuZ3RoOworfQorCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKTsK
K3Nob3VsZEJlVHJ1ZSgiZW5kc1dpdGgoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhy
ZWYsICdmb28vYmFyLycpIik7CitzaG91bGRCZUZhbHNlKCJlbmRzV2l0aChkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdiYXNlJykuaHJlZiwgJ2Zvby9iYXIvZm9vL2Jhci8nKSIpOworCitiYXNlLmhy
ZWYgPSBudWxsOworc2hvdWxkQmVGYWxzZSgiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScp
Lmhhc0F0dHJpYnV0ZSgnaHJlZicpIik7CitzaG91bGRCZVRydWUoImVuZHNXaXRoKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdp
dGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sJykiKTsKKworLy8gTWFrZSBzdXJlIHRoYXQgd2Ug
ZG9uJ3QgdXNlIHRoZSBjcmVhdG9yIGRvY3VtZW50IGFzIHRoZSBiYXNlLgordmFyIGRvY3VtZW50
V2l0aG91dEFWaWV3ID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50
KCcnKTsKK2Jhc2UgPSBkb2N1bWVudFdpdGhvdXRBVmlldy5oZWFkLmFwcGVuZENoaWxkKGRvY3Vt
ZW50V2l0aG91dEFWaWV3LmNyZWF0ZUVsZW1lbnQoJ2Jhc2UnKSk7CitiYXNlLnNldEF0dHJpYnV0
ZSgnaHJlZicsICdmb28vYmFyLycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudFdp
dGhvdXRBVmlldy5xdWVyeVNlbGVjdG9yKCdiYXNlJykuaHJlZiIsICcnKTsKKworLy8gTWFrZSBz
dXJlIHRoYXQgd2UgdXNlIHRoZSBwYXJlbnQgZG9jdW1lbnQgYXMgdGhlIGJhc2UuCit2YXIgaWZy
YW1lID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
ZnJhbWUnKSk7CitiYXNlID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5oZWFkLmFwcGVuZENoaWxk
KGlmcmFtZS5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpKTsKK2Jhc2Uuc2V0
QXR0cmlidXRlKCdocmVmJywgJ2Zvby9iYXIvJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlm
cmFtZS5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhyZWYiLCAnJyk7CisK
Ky8vIE1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHVzZSB0aGUgb3BlbmVyIGRvY3VtZW50IGFzIHRo
ZSBiYXNlLgordmFyIG5ld1dpbmRvdyA9IHdpbmRvdy5vcGVuKCdhYm91dDpibGFuaycpOworYmFz
ZSA9IG5ld1dpbmRvdy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5ld1dpbmRvdy5kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdiYXNlJykpOworYmFzZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnZm9v
L2Jhci8nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibmV3V2luZG93LmRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2Jhc2UnKS5ocmVmIiwgJycpOworbmV3V2luZG93LmNsb3NlKCk7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKworZmluaXNoSlNUZXN0KCk7CisKKzwvc2NyaXB0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Vs
ZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKaW5kZXggOWUyMTgxZjY5
ZGM2ZmY2MmRiMjlmZDdjZGFjOGM3ZGVhZDkxMmRjZi4uYTk4MGI0NzQxNmJmMDBkNjI5OWE1YWU5
NDg0ZDIwNzY5YmMzZTEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVu
dC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKQEAgLTQ0LDcgKzQ0LDYg
QEAgVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3Rl
ZCBIVE1MQXJlYUVsZW1lbnQuaHJlZl0KIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRo
ZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgSFRNTEFyZWFFbGVtZW50LnNoYXBlXQogVEVTVCBTVUND
RUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1MQXJlYUVs
ZW1lbnQudGFyZ2V0XQogCi1URVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyB0aGUgZW1wdHkg
c3RyaW5nLiBbdGVzdGVkIEhUTUxCYXNlRWxlbWVudC5ocmVmXQogVEVTVCBTVUNDRUVERUQ6IFRo
ZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1MQmFzZUVsZW1lbnQudGFy
Z2V0XQogCiBURVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBb
dGVzdGVkIEhUTUxCYXNlRm9udEVsZW1lbnQuY29sb3JdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLmh0bWwKaW5kZXggNDQ2ZDc4ZTVlNDBk
NmI0ZDk0Yzc2YzVhNTdiNWM2MThlZWMxZGQ5ZC4uZTJhN2U5MDdhNGJiZjUwMjQ5ZjU5ZWVkNTAx
YWVkMDZiNGJiMmFjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1h
dHRyaWJ1dGUtanMtbnVsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQt
YXR0cmlidXRlLWpzLW51bGwuaHRtbApAQCAtMTQyLDcgKzE0Miw2IEBACiAgICAgICAgICAgICAg
ICAgICAgIHR5cGU6ICdIVE1MQmFzZUVsZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICBlbGVt
ZW50VG9Vc2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Jhc2UnKSwKICAgICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlczogWwotICAgICAgICAgICAgICAgICAgICAgICAge25hbWU6ICdocmVm
JywgZXhwZWN0ZWROdWxsOiAnJ30sCiAgICAgICAgICAgICAgICAgICAgICAgICB7bmFtZTogJ3Rh
cmdldCcsIGV4cGVjdGVkTnVsbDogJyd9CiAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAg
ICAgICAgICB9LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169456</attachid>
            <date>2012-10-18 13:16:24 -0700</date>
            <delta_ts>2012-10-22 07:29:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98184-20121018161509.patch</filename>
            <type>text/plain</type>
            <size>12528</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q3MGIyYWM1YTVhYmE3
ODkwNmI2M2VkY2Y4ODZkMjRkMzdmMmFiNS4uOGFmNTI3NzdhMmE4MDhlM2NjNDg2YTRlNjkwYmIx
MzQ3NjRkNmFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE4ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTEJhc2VFbGVtZW50
IGhyZWYgYXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTg0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzb2x2ZSB0aGUgaHJlZiBhdHRyaWJ1
dGUgYmluZGluZyByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQgVVJMIGluc3RlYWQgb2YgcmVzb2x2
aW5nIGl0IHRvIHRoZQorICAgICAgICBiYXNlIGVsZW1lbnQgaXRzZWxmLiBJZiB0aGVyZSBpcyBu
byBocmVmIGF0dHJpYnV0ZSB0aGlzIHNob3VsZCByZXR1cm4gdGhlIGZhbGxiYWNrIGJhc2UgVVJM
LgorCisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1iYXNlLWVsZW1lbnQKKworICAgICAg
ICBUZXN0czogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQmFzZUVsZW1lbnQvaHJlZi1h
dHRyaWJ1dGUtcmVzb2x2ZXMtd2l0aC1yZXNwZWN0LXRvLWRvY3VtZW50Lmh0bWwKKworICAgICAg
ICAqIGh0bWwvSFRNTEJhc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNl
RWxlbWVudDo6aHJlZik6IERvbid0IHVzZSBjb21wbGV0ZVVSTC4gUmVzb2x2ZSBocmVmIGJhc2Vk
IG9uIGRvY3VtZW50J3MgVVJMIGluc3RlYWQKKyAgICAgICAgb2YgdGhlIGdlbmVyaWMgW1JlZmxl
Y3QsIFVSTF0gYmluZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6c2V0
SHJlZik6IEp1c3Qgc2V0cyB0aGUgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOiBXZSBjYW4gbm8g
bG9uZ2VyIHVzZSBbUmVmbGVjdCwgVVJMXQorCiAyMDEyLTEwLTE4ICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBYLVdl
YktpdC1DU1AgaGVhZGVyIGludG8gaW5zcGVjdG9yLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJhc2VFbGVtZW50LmNwcAppbmRleCAyNzU0NzE3YzA2YmMzZTU2ZDgwNTBlZmI3YjFmNWNkZjQx
ZjM5MDVlLi5iNTgwMzVlOTlhZTk5MjAxZGUzZDAzMTZmNWI4M2NhYzA2NGVjOTkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5j
bHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5jbHVkZSAiVGV4dFJl
c291cmNlRGVjb2Rlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc1LDQgKzc3LDI5
IEBAIFN0cmluZyBIVE1MQmFzZUVsZW1lbnQ6OnRhcmdldCgpIGNvbnN0CiAgICAgcmV0dXJuIGZh
c3RHZXRBdHRyaWJ1dGUodGFyZ2V0QXR0cik7CiB9CiAKK0tVUkwgSFRNTEJhc2VFbGVtZW50Ojpo
cmVmKCkgY29uc3QKK3sKKyAgICAvLyBUaGlzIGRvZXMgbm90IHVzZSB0aGUgZ2V0VVJMQXR0cmli
dXRlIGZ1bmN0aW9uIGJlY2F1c2UgdGhhdCB3aWxsIHJlc29sdmUgcmVsYXRpdmUgdG8gdGhlIGRv
Y3VtZW50J3MgYmFzZSBVUkw7CisgICAgLy8gYmFzZSBlbGVtZW50cyBsaWtlIHRoaXMgb25lIGNh
biBiZSB1c2VkIHRvIHNldCB0aGF0IGJhc2UgVVJMLiBUaHVzIHdlIG5lZWQgdG8gcmVzb2x2ZSBy
ZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQncworICAgIC8vIFVSTCBhbmQgaWdub3JlIHRoZSBiYXNl
IFVSTC4KKworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlVmFsdWUgPSBmYXN0R2V0
QXR0cmlidXRlKGhyZWZBdHRyKTsKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUuaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiBkb2N1bWVudCgpLT51cmwoKTsKKworICAgIEtVUkwgdXJsID0gIWRvY3Vt
ZW50KCktPmRlY29kZXIoKSA/CisgICAgICAgIEtVUkwoZG9jdW1lbnQoKS0+dXJsKCksIHN0cmlw
TGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhhdHRyaWJ1dGVWYWx1ZSkpIDoKKyAgICAgICAg
S1VSTChkb2N1bWVudCgpLT51cmwoKSwgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2Vz
KGF0dHJpYnV0ZVZhbHVlKSwgZG9jdW1lbnQoKS0+ZGVjb2RlcigpLT5lbmNvZGluZygpKTsKKwor
ICAgIGlmICghdXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIEtVUkwoKTsKKworICAgIHJl
dHVybiB1cmw7Cit9CisKK3ZvaWQgSFRNTEJhc2VFbGVtZW50OjpzZXRIcmVmKGNvbnN0IEF0b21p
Y1N0cmluZyYgdmFsdWUpCit7CisgICAgc2V0QXR0cmlidXRlKGhyZWZBdHRyLCB2YWx1ZSk7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCmluZGV4IGJiNzRmYjczMGJi
NDBhZTAyZTQzYTllYzU2N2Q2YmI1YzQzMTJkODIuLmU2YjBhNDFhMmFhYjQwNDg4ZDBlNjZiYTEx
NTY4NWE5ODMxNDEwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaApAQCAt
MzEsNiArMzEsOSBAQCBjbGFzcyBIVE1MQmFzZUVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxCYXNlRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCisgICAgS1VSTCBocmVmKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRIcmVmKGNvbnN0IEF0b21pY1N0cmluZyYpOworCiBwcml2YXRlOgog
ICAgIEhUTUxCYXNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsCmluZGV4IDBmNjNkZGQxOWIxY2Vk
Y2ZmZjczZDA2MzRlNmZjMTliNmU3MTAyMmQuLjRkOWQzOWYwZjQ1MDk3OTUxN2FmMzdmMzkxZWM5
YzA5NDY0NDRmZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKQEAg
LTE4LDcgKzE4LDYgQEAKICAqLwogCiBpbnRlcmZhY2UgSFRNTEJhc2VFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewotICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKKyAg
ICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBocmVmOwogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsKIH07Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMDUy
MDZiZTE3YWE2OGNhMGMzY2QwODZiOWY5YTRlYjc1MTY0Mzc0Li42NmE0ZDIxNTg3YTQ2NGY0YWU3
ZTExNDc0NTdiZjY1N2U4ZDc3ZDFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTAtMTgg
IEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MQmFzZUVs
ZW1lbnQgaHJlZiBhdHRyaWJ1dGUgYmluZGluZyByZXR1cm5zIHdyb25nIFVSTAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxODQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXNvbHZlIHRoZSBocmVmIGF0
dHJpYnV0ZSBiaW5kaW5nIHJlbGF0aXZlIHRvIHRoZSBkb2N1bWVudCBVUkwgaW5zdGVhZCBvZiBy
ZXNvbHZpbmcgaXQgdG8gdGhlCisgICAgICAgIGJhc2UgZWxlbWVudCBpdHNlbGYuIElmIHRoZXJl
IGlzIG5vIGhyZWYgYXR0cmlidXRlIHRoaXMgc2hvdWxkIHJldHVybiB0aGUgZmFsbGJhY2sgYmFz
ZSBVUkwuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1
cnJlbnQtd29yay9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjdGhlLWJhc2UtZWxlbWVudAorCisg
ICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJl
YmFzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JF
bGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVz
cGVjdC10by1kb2N1bWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8t
ZG9jdW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1
dGUtanMtbnVsbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vZWxlbWVudC1hdHRy
aWJ1dGUtanMtbnVsbC5odG1sOgorCiAyMDEyLTEwLTE4ICBBbnRvbiBNdWhpbiAgPGFudG9ubUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSByZWJhc2VsaW5lcy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1o
cmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLXJlYmFzZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGMzZjAzMGQ2YjY3M2MwMzAxYjhiNTkzZWVlZjhiMTg2MTM5ZGUzZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3Nl
dC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rl
c3RzIGhvdyBzZXR0aW5nIGhyZWYgYXR0cmlidXRlcyBhZmZlY3RzIHNldHRpbmcgYSBuZXcgYmFz
ZSBmb3IgdGhlIFVSTC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYS5o
cmVmIGlzICJodHRwOi8vb2xkX2Jhc2UvZm9vP3F1ZXJ5IgorUEFTUyBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cDovL25ld19iYXNlL2Zvbz9xdWVyeSIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1hdHRyaWJ1dGUt
cmViYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQt
aHJlZi1hdHRyaWJ1dGUtcmViYXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUzN2MzNTg1NmEzMzgxMzBi
NmJiNjBmMzdmYjA4ZTcxY2ZjYTcwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1yZWJhc2UuaHRtbApA
QCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJhc2U+Cis8YT48L2E+Cis8c2Ny
aXB0PgorCitkZXNjcmlwdGlvbignVGVzdHMgaG93IHNldHRpbmcgaHJlZiBhdHRyaWJ1dGVzIGFm
ZmVjdHMgc2V0dGluZyBhIG5ldyBiYXNlIGZvciB0aGUgVVJMLicpOworCit2YXIgYmFzZSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKTsKK3ZhciBhID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignYScpOworCitiYXNlLmhyZWYgPSAnaHR0cDovL29sZF9iYXNlLyc7CithLmhyZWYgPSAn
Zm9vP3F1ZXJ5JzsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnYS5ocmVmJywgJ2h0dHA6Ly9vbGRf
YmFzZS9mb28/cXVlcnknKTsKK2Jhc2UuaHJlZiA9ICdodHRwOi8vbmV3X2Jhc2UvJzsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAnaHR0
cDovL25ld19iYXNlL2Zvbz9xdWVyeScpOworCisvLyBSZW1vdmUgQGhyZWYgdG8gYWxsb3cganMt
dGVzdC1wb3N0IHRvIGxvYWQuCitiYXNlLmhyZWYgPSBudWxsOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJp
YnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRlLXJlc29sdmVz
LXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdhYmQz
ZjY3NzFiYTNhMTMxNDY5YzhiOTc2Yzc4YzgxN2UwOWQ5OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZl
cy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAK
K1BBU1MgZW5kc1dpdGgoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhyZWYsICdmb28v
YmFyLycpIGlzIHRydWUKK1BBU1MgZW5kc1dpdGgoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFz
ZScpLmhyZWYsICdmb28vYmFyL2Zvby9iYXIvJykgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignYmFzZScpLmhhc0F0dHJpYnV0ZSgnaHJlZicpIGlzIGZhbHNlCitQQVNTIGVu
ZHNXaXRoKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKS5ocmVmLCAnL2hyZWYtYXR0cmli
dXRlLXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sJykgaXMgdHJ1ZQorUEFT
UyBkb2N1bWVudFdpdGhvdXRBVmlldy5xdWVyeVNlbGVjdG9yKCdiYXNlJykuaHJlZiBpcyAiIgor
UEFTUyBkb2N1bWVudFdpdGhvdXRBVmlldy5xdWVyeVNlbGVjdG9yKCdiYXNlJykuaHJlZiBpcyAi
aHR0cDovL3dlYmtpdC5vcmcvIgorUEFTUyBpZnJhbWUuY29udGVudERvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2Jhc2UnKS5ocmVmIGlzICIiCitQQVNTIG5ld1dpbmRvdy5kb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCdiYXNlJykuaHJlZiBpcyAiIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxCYXNlRWxlbWVudC9ocmVmLWF0dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9j
dW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxCYXNlRWxlbWVudC9ocmVmLWF0
dHJpYnV0ZS1yZXNvbHZlcy13aXRoLXJlc3BlY3QtdG8tZG9jdW1lbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMmQ0YjFiMTdlZjQyZDdkNTc2NGIzZmZkMDJjNzgzY2E3ZTUwYjZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEJhc2VFbGVtZW50L2hyZWYtYXR0cmlidXRl
LXJlc29sdmVzLXdpdGgtcmVzcGVjdC10by1kb2N1bWVudC5odG1sCkBAIC0wLDAgKzEsNTggQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8YmFzZSBocmVmPSJmb28vYmFyLyI+Cis8Ym9keT48L2JvZHk+
Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAvLyBGSVhNRTogc2V0
Q2FuT3BlbldpbmRvd3MgbmVlZHMgdGhlIHRlc3QgdG8gYmUgYXN5bmMgb3IgdGhlIEFwcGxlIHBv
cnQgY3Jhc2hlcy4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTk0NjUKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwor
fQorCitmdW5jdGlvbiBlbmRzV2l0aChzdHJpbmcsIHN1YnN0cmluZykKK3sKKyAgICB2YXIgbGVu
Z3RoID0gc3RyaW5nLmxlbmd0aCAtIHN1YnN0cmluZy5sZW5ndGg7CisgICAgcmV0dXJuIGxlbmd0
aCA+PSAwICYmIHN0cmluZy5pbmRleE9mKHN1YnN0cmluZywgbGVuZ3RoKSA9PT0gbGVuZ3RoOwor
fQorCit2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKTsKK3Nob3VsZEJl
VHJ1ZSgiZW5kc1dpdGgoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhyZWYsICdmb28v
YmFyLycpIik7CitzaG91bGRCZUZhbHNlKCJlbmRzV2l0aChkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCdiYXNlJykuaHJlZiwgJ2Zvby9iYXIvZm9vL2Jhci8nKSIpOworCitiYXNlLmhyZWYgPSBudWxs
Oworc2hvdWxkQmVGYWxzZSgiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpLmhhc0F0dHJp
YnV0ZSgnaHJlZicpIik7CitzaG91bGRCZVRydWUoImVuZHNXaXRoKGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2Jhc2UnKS5ocmVmLCAnL2hyZWYtYXR0cmlidXRlLXJlc29sdmVzLXdpdGgtcmVzcGVj
dC10by1kb2N1bWVudC5odG1sJykiKTsKKworLy8gV2hlbiBhIGRvY3VtZW50IGRvZXMgbm90IGhh
dmUgYSBVUkwsIGJhc2UgY2Fubm90IGJlIHJlc29sdmVkCisKKy8vIE1ha2Ugc3VyZSB0aGF0IHdl
IGRvbid0IHVzZSB0aGUgY3JlYXRvciBkb2N1bWVudCBhcyB0aGUgYmFzZS4KK3ZhciBkb2N1bWVu
dFdpdGhvdXRBVmlldyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVu
dCgnJyk7CitiYXNlID0gZG9jdW1lbnRXaXRob3V0QVZpZXcuaGVhZC5hcHBlbmRDaGlsZChkb2N1
bWVudFdpdGhvdXRBVmlldy5jcmVhdGVFbGVtZW50KCdiYXNlJykpOworYmFzZS5zZXRBdHRyaWJ1
dGUoJ2hyZWYnLCAnZm9vL2Jhci8nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnRX
aXRob3V0QVZpZXcucXVlcnlTZWxlY3RvcignYmFzZScpLmhyZWYiLCAnJyk7CitiYXNlLnNldEF0
dHJpYnV0ZSgnaHJlZicsICdodHRwOi8vd2Via2l0Lm9yZy8nKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jdW1lbnRXaXRob3V0QVZpZXcucXVlcnlTZWxlY3RvcignYmFzZScpLmhyZWYiLCAn
aHR0cDovL3dlYmtpdC5vcmcvJyk7CisKKy8vIE1ha2Ugc3VyZSB0aGF0IHdlIHVzZSB0aGUgcGFy
ZW50IGRvY3VtZW50IGFzIHRoZSBiYXNlLgordmFyIGlmcmFtZSA9IGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJykpOworYmFzZSA9IGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpZnJhbWUuY29udGVudERvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2Jhc2UnKSk7CitiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZicsICdmb28v
YmFyLycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJpZnJhbWUuY29udGVudERvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2Jhc2UnKS5ocmVmIiwgJycpOworCisvLyBNYWtlIHN1cmUgdGhhdCB3ZSBk
b24ndCB1c2UgdGhlIG9wZW5lciBkb2N1bWVudCBhcyB0aGUgYmFzZS4KK3ZhciBuZXdXaW5kb3cg
PSB3aW5kb3cub3BlbignYWJvdXQ6YmxhbmsnKTsKK2Jhc2UgPSBuZXdXaW5kb3cuZG9jdW1lbnQu
aGVhZC5hcHBlbmRDaGlsZChuZXdXaW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScp
KTsKK2Jhc2Uuc2V0QXR0cmlidXRlKCdocmVmJywgJ2Zvby9iYXIvJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5ld1dpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiYXNlJykuaHJlZiIs
ICcnKTsKK25ld1dpbmRvdy5jbG9zZSgpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Zp
bmlzaEpTVGVzdCgpOworCis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpz
LW51bGwtZXhwZWN0ZWQudHh0CmluZGV4IDllMjE4MWY2OWRjNmZmNjJkYjI5ZmQ3Y2RhYzhjN2Rl
YWQ5MTJkY2YuLmE5ODBiNDc0MTZiZjAwZDYyOTlhNWFlOTQ4NGQyMDc2OWJjM2UxM2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpz
LW51bGwtZXhwZWN0ZWQudHh0CkBAIC00NCw3ICs0NCw2IEBAIFRFU1QgU1VDQ0VFREVEOiBUaGUg
dmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgSFRNTEFyZWFFbGVtZW50LmhyZWZd
CiBURVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyB0aGUgZW1wdHkgc3RyaW5nLiBbdGVzdGVk
IEhUTUxBcmVhRWxlbWVudC5zaGFwZV0KIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRo
ZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgSFRNTEFyZWFFbGVtZW50LnRhcmdldF0KIAotVEVTVCBT
VUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1MQmFz
ZUVsZW1lbnQuaHJlZl0KIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBz
dHJpbmcuIFt0ZXN0ZWQgSFRNTEJhc2VFbGVtZW50LnRhcmdldF0KIAogVEVTVCBTVUNDRUVERUQ6
IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBIVE1MQmFzZUZvbnRFbGVt
ZW50LmNvbG9yXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRy
aWJ1dGUtanMtbnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudC1hdHRyaWJ1
dGUtanMtbnVsbC5odG1sCmluZGV4IDQ0NmQ3OGU1ZTQwZDZiNGQ5NGM3NmM1YTU3YjVjNjE4ZWVj
MWRkOWQuLmUyYTdlOTA3YTRiYmY1MDI0OWY1OWVlZDUwMWFlZDA2YjRiYjJhY2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLmh0bWwK
QEAgLTE0Miw3ICsxNDIsNiBAQAogICAgICAgICAgICAgICAgICAgICB0eXBlOiAnSFRNTEJhc2VF
bGVtZW50JywKICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFRvVXNlOiBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdiYXNlJyksCiAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiAnaHJlZicsIGV4cGVjdGVkTnVsbDogJyd9LAog
ICAgICAgICAgICAgICAgICAgICAgICAge25hbWU6ICd0YXJnZXQnLCBleHBlY3RlZE51bGw6ICcn
fQogICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgfSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>