<?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>10123</bug_id>
          
          <creation_ts>2006-07-26 14:02:10 -0700</creation_ts>
          <short_desc>when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work</short_desc>
          <delta_ts>2011-11-03 13:47:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>412</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Robert Burns">robburns1</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>joseph</cc>
    
    <cc>mrowe</cc>
    
    <cc>nathan.whetsell</cc>
    
    <cc>rniwa</cc>
    
    <cc>rosen.dash</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50869</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Burns">robburns1</who>
    <bug_when>2006-07-26 14:02:10 -0700</bug_when>
    <thetext>apply a style declaration through the style element.

p:before {content: &quot;“&quot;;} p.after {content: &quot;”&quot;;}. This will not allow command-right-arrow and command-left-arrow to select the end and beginning of the line. Also when using up-arrow to move up towards the first line the pseudo element will block the selection from entering the first line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52268</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-08-11 15:25:08 -0700</bug_when>
    <thetext>Robert, can you please attach a simple HTML file that will more easily demonstrate the issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55939</commentid>
    <comment_count>2</comment_count>
      <attachid>10651</attachid>
    <who name="Robert Burns">robburns1</who>
    <bug_when>2006-09-19 12:54:15 -0700</bug_when>
    <thetext>Created attachment 10651
for openning in blot.app to test keyboard navigation

Here&apos;s the requested sample.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178854</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Holsten">joseph</who>
    <bug_when>2010-01-08 16:02:18 -0800</bug_when>
    <thetext>Why do you expect command-right-arrow to select to the beginning of the line? I would only expect that in a textarea or a text input. I&apos;m also dumbfounded by all the metadata in your sample page. Does that actually play a role in reproducing this bug?
Seems like not a bug to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178887</commentid>
    <comment_count>4</comment_count>
      <attachid>46179</attachid>
    <who name="Robert Burns">robburns1</who>
    <bug_when>2010-01-08 17:08:47 -0800</bug_when>
    <thetext>Created attachment 46179
A better example that works in browser (no blot.app required)

My apologies for all of that superfluous metadata. I included that inadvertantly.

The behavior appears different in the latest Safari WebKit. In general the existence of generated content still hinders keybaord navigation. The up/down navigation works better, but is still not right. A down-arrow key event should always move to the next line whereas depending on where the generated content is, it could move to later in the same line.

Sometimes the keyboard navigation fails entirely to cross the element boundary (especially with left and right arrow keydowns). In that case the user can repeatedly depress the left arrow and the cursor remains in the same place.

This bug does not really affect textarea and input elements but is instead related to content editable and related elements (whereas the textarea and input are strictly text/plain).

Perhaps this bug is fixed and a new bug needs to be opened for the remaining keyboard navigation problems. In terms of start-of-line and end-of-line the major problem appears to be fixed. I think the behavior is still wrong in terms of the left and right arrows should not allow the curor to end up on the previous line or next line respectively (for ltr text). Instead in the event of a start-of-line action, the curor should end up on the same line and after any line-wrapping generated content. In the case of moving the selection to the start-of-line the portion of the generated content itself should be selected on the same line. Though I imagine this would require a change in the design since there would be a selectedDOMRange that diverges from the NSRange selection in the view class.

Perhaps an umbrella bug for keyboard navigation/selection with sub bugs for each specific problem. Other related keyboard navigation and selection issues (other than this one regarding generated content):

1) paragraph (shift-option-arrow) selection does not work as it does in NSTextView, but instead does something like selecting to the same place in the next paragraph (rather than to the beginning or end of the current paragraph).
2) the issue you raise where extending selections using the keyboard should work even without contentEditable=true. It works for shift-option-arrow but not for shif-command-arrow.

There may be others, but those are the big ones I can think of now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475931</commentid>
    <comment_count>5</comment_count>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-09-29 23:49:53 -0700</bug_when>
    <thetext>Refer to this bug reported in chromium.
http://code.google.com/p/chromium/issues/detail?id=98247

This is a serious bug as the page hangs the browser consuming more than 100% cpu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476007</commentid>
    <comment_count>6</comment_count>
      <attachid>109275</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-09-30 03:20:41 -0700</bug_when>
    <thetext>Created attachment 109275
This patch solves issues regarding navigation and infinite loop cases with CSS pseudo elements before/after .

This patch addresses folllowing two issues:

 1. In case of using CSS pseudo elements before/after with content attribute containing single character at the start/end of text and there
    is no text in parent node, when we try to move cursor beyond the inserted character using left/right arrow key, the page freezes
    falling into an infinite loop.

 2. When these elements try to insert some text between a text line, navigation by right arrow key is prohibited.

For better understanding please use the following test case.
http://chromium.googlecode.com/issues/attachment?aid=982470003000&amp;name=crash_test_set.html&amp;token=426675a18b21d857fd199be14c019274</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476011</commentid>
    <comment_count>7</comment_count>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-09-30 03:32:21 -0700</bug_when>
    <thetext>This bug is verified with the following test case in GtkLauncher, chromium on ubuntu 11.04 and safari on Mac.

http://chromium.googlecode.com/issues/attachment?aid=982470003000&amp;name=crash_test_set.html&amp;token=426675a18b21d857fd199be14c019274

(In reply to comment #3)
&gt; Why do you expect command-right-arrow to select to the beginning of the line? I would only expect that in a textarea or a text input. I&apos;m also dumbfounded by all the metadata in your sample page. Does that actually play a role in reproducing this bug?
&gt; Seems like not a bug to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477808</commentid>
    <comment_count>8</comment_count>
      <attachid>109275</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-04 11:43:00 -0700</bug_when>
    <thetext>Comment on attachment 109275
This patch solves issues regarding navigation and infinite loop cases with CSS pseudo elements before/after .

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        No new tests as this fixes internal implementation detail.

This change definitely needs a test. From what I understand, keyboard navigation can be tested by getSelection().modify. r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477810</commentid>
    <comment_count>9</comment_count>
      <attachid>109275</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-04 11:44:32 -0700</bug_when>
    <thetext>Comment on attachment 109275
This patch solves issues regarding navigation and infinite loop cases with CSS pseudo elements before/after .

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

&gt; Source/WebCore/editing/VisiblePosition.cpp:235
&gt; -        if ((p.isCandidate() &amp;&amp; p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree())
&gt; +        if ((p.isCandidate() &amp;&amp; p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree() || p == m_deepPosition)

I don&apos;t understand. Why do we return p when it&apos;s equal to m_deepEquivalent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478221</commentid>
    <comment_count>10</comment_count>
      <attachid>109760</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-05 01:21:59 -0700</bug_when>
    <thetext>Created attachment 109760
Update on patch 109275

I have added a test to validate this change which checks for proper right arrow key navigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480129</commentid>
    <comment_count>11</comment_count>
      <attachid>109760</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-10-07 10:51:48 -0700</bug_when>
    <thetext>Comment on attachment 109760
Update on patch 109275

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

&gt; Source/WebCore/editing/VisiblePosition.cpp:235
&gt; +        if ((p.isCandidate() &amp;&amp; p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree() || p == m_deepPosition)

I don&apos;t understand why you return p when p == m_deepPosition. Same below in rightVisuallyDistinctCandidate. Could you please clarify?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480471</commentid>
    <comment_count>12</comment_count>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-07 21:21:56 -0700</bug_when>
    <thetext>Please look into this attachment crash_test_set.html at
http://code.google.com/p/chromium/issues/detail?id=98247

In the first two cases the page goes into an infinite loop.

The outer while loop in leftVisuallyDistinctCandidate() or rightVisuallyDistinctCandidate() depends only on value of p. If we enter into this loop without changing p, this leads into an infinite loop case. This condition appears when we try to move beyond a CSS pseudoelement (like before or after) without any text in its parent node. To prevent these cases we have to check whether the value of p is other than m_deepPosition before entering into this loop again.


(In reply to comment #11)
&gt; (From update of attachment 109760 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109760&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/VisiblePosition.cpp:235
&gt; &gt; +        if ((p.isCandidate() &amp;&amp; p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree() || p == m_deepPosition)
&gt; 
&gt; I don&apos;t understand why you return p when p == m_deepPosition. Same below in rightVisuallyDistinctCandidate. Could you please clarify?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481448</commentid>
    <comment_count>13</comment_count>
      <attachid>109760</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-10 22:14:23 -0700</bug_when>
    <thetext>Comment on attachment 109760
Update on patch 109275

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

r- because of various issues listed below.

&gt; LayoutTests/ChangeLog:9
&gt; +        * editing/selection/css-pseudo-element-expected.txt: Added.
&gt; +        * editing/selection/css-pseudo-element.html: Added.

Since this bug is about falling into an infinite loop, I feel like we need another test where you just move across a bunch of generated contents from left to right and from right to left.

&gt; LayoutTests/editing/selection/css-pseudo-element.html:8
&gt; +  &lt;head&gt;
&gt; +    &lt;style type=&quot;text/css&quot;&gt; /* pertinent to test cases */
&gt; +      .quote:before { content: &quot;\&quot;&quot;; }
&gt; +      .quote:after { content: &quot;\&quot;&quot;; }
&gt; +    &lt;/style&gt;
&gt; +  &lt;/head&gt;

No need to indent elements like this.

&gt; LayoutTests/editing/selection/css-pseudo-element.html:24
&gt; +	var li = document.createElement(&quot;li&quot;);

There&apos;s a tab here.

&gt; LayoutTests/editing/selection/css-pseudo-element.html:35
&gt; +      function assert(bool) {
&gt; +	if (!bool)
&gt; +	  log(&quot;Failure&quot;);
&gt; +	else
&gt; +	  log(&quot;Success&quot;);
&gt; +      }

Please convert this into a real script test using Tools/Scripts/make-new-script-test.

&gt; LayoutTests/editing/selection/css-pseudo-element.html:44
&gt; +      window.getSelection().setPosition(edit, 2);
&gt; +      window.getSelection().modify(&apos;move&apos;, &apos;right&apos;, &apos;character&apos;);
&gt; +      assert(window.getSelection().anchorOffset == 1);

You certainly need to test the case where you move the caret to the left.

&gt; Source/WebCore/ChangeLog:1
&gt; +2011-10-05  roseN Dash  &lt;rosen.dash@motorola.com&gt;

I&apos;m sorry I might be ignorant here but is this the correct capitalization of your name? Contribution guide mandates that you use your real full name.

&gt;&gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:235
&gt;&gt;&gt; +        if ((p.isCandidate() &amp;&amp; p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree() || p == m_deepPosition)
&gt;&gt; 
&gt;&gt; I don&apos;t understand why you return p when p == m_deepPosition. Same below in rightVisuallyDistinctCandidate. Could you please clarify?
&gt; 
&gt; 

&gt;The outer while loop in leftVisuallyDistinctCandidate() or rightVisuallyDistinctCandidate() depends only on value of p. If we enter into this loop without changing p, this leads into an infinite loop case. This condition appears when we try to move beyond a CSS pseudoelement (like before or after) without any text in its parent node. To prevent these cases we have to check whether the value of p is other than m_deepPosition before entering into this loop again.

We should be checking for that particular condition not that p is equal to m_deepPosition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482344</commentid>
    <comment_count>14</comment_count>
      <attachid>110665</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-12 04:23:59 -0700</bug_when>
    <thetext>Created attachment 110665
Update on patch 109760

I tried to solve the navigation issue in a generic way.
In case of CSS pseudo elements render node is getting created but there is no corresponding DOM node for that. So We can&apos;t create a Postion for that.

I tried to add a test for the hang scenario.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482346</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 04:26:34 -0700</bug_when>
    <thetext>Attachment 110665 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/edit...&quot; exit_code: 1

Source/WebCore/editing/VisiblePosition.cpp:171:  Missing space before ( in if(  [whitespace/parens] [5]
Source/WebCore/editing/VisiblePosition.cpp:172:  Tab found; better to use spaces  [whitespace/tab] [1]
Source/WebCore/editing/VisiblePosition.cpp:329:  Missing space before ( in if(  [whitespace/parens] [5]
Source/WebCore/editing/VisiblePosition.cpp:330:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 4 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482349</commentid>
    <comment_count>16</comment_count>
      <attachid>110666</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-12 04:35:12 -0700</bug_when>
    <thetext>Created attachment 110666
Update on patch 109760

Updated style issues on previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482644</commentid>
    <comment_count>17</comment_count>
      <attachid>110666</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-12 13:08:40 -0700</bug_when>
    <thetext>Comment on attachment 110666
Update on patch 109760

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

&gt; Source/WebCore/editing/VisiblePosition.cpp:172
&gt; +                        if (renderer-&gt;node() == m_deepPosition.anchorNode() &amp;&amp; offset == m_deepPosition.offsetInContainerNode())
&gt; +                            return Position();

When do we hit this case? You&apos;re essentially checking p == m_deepPosition here. r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483188</commentid>
    <comment_count>18</comment_count>
      <attachid>110843</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-13 07:53:09 -0700</bug_when>
    <thetext>Created attachment 110843
Solved the navigation issue with rtl texts.

The changes around line no 122/273 are to solve edge case conditions with pesdoelements.(hanging and navigation)
The changes around line no 193/345 are to solve navigation with rtl texts in presence of peudoelements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483397</commentid>
    <comment_count>19</comment_count>
      <attachid>110843</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-13 12:35:46 -0700</bug_when>
    <thetext>Comment on attachment 110843
Solved the navigation issue with rtl texts.

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

&gt; LayoutTests/editing/selection/css-pseudo-element-hang.html:16
&gt; +&lt;span class=&quot;quote&quot;&gt;content&lt;/span&gt;

I&apos;d also like to see a test case where there is some text on before/after the span.

&gt; LayoutTests/editing/selection/css-pseudo-element-hang.html:26
&gt; +for(var i = 0; i &lt; 9; ++i) {
&gt; +    window.getSelection().modify(&apos;move&apos;, &apos;right&apos;, &apos;character&apos;);
&gt; +}

Nit: Please put a space after &quot;for&quot; before (
Also not curly brackets around a single statement.

&gt; Source/WebCore/editing/VisiblePosition.cpp:198
&gt; +                    if (prevBox-&gt;prevLeafChild())
&gt; +                        return box-&gt;isLeftToRightDirection() ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition);

I don&apos;t think this is right. If we have mixed bidi in generated contents, then we&apos;ll have a separate line box for each one of them. So it&apos;s not guaranteed that prevBox-&gt;prevLeafChild() exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483970</commentid>
    <comment_count>20</comment_count>
      <attachid>111012</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-14 07:31:24 -0700</bug_when>
    <thetext>Created attachment 111012
Update on patch 110843

Updated considering of multi level bidi text in generated contents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483982</commentid>
    <comment_count>21</comment_count>
      <attachid>111012</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-14 07:59:28 -0700</bug_when>
    <thetext>Comment on attachment 111012
Update on patch 110843

Attachment 111012 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10056573

New failing tests:
editing/selection/css-pseudo-element-hang.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484379</commentid>
    <comment_count>22</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-14 15:52:36 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 111012 [details])
&gt; Attachment 111012 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10056573
&gt; 
&gt; New failing tests:
&gt; editing/selection/css-pseudo-element-hang.html

Why is this test failing now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484924</commentid>
    <comment_count>23</comment_count>
      <attachid>111211</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-16 22:27:31 -0700</bug_when>
    <thetext>Created attachment 111211
Updated css-pseudo-element-hang-expected.txt after adding a new test case.

Sorry about that.
I missed to update the css-pseudo-element-hang-expected.txt file after adding the new text as per your suggestion case last time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484950</commentid>
    <comment_count>24</comment_count>
      <attachid>111217</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-16 23:32:55 -0700</bug_when>
    <thetext>Created attachment 111217
Update on patch 111211

Added test case for bidi text in generated content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484975</commentid>
    <comment_count>25</comment_count>
      <attachid>111217</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-17 00:41:18 -0700</bug_when>
    <thetext>Comment on attachment 111217
Update on patch 111211

Great. I&apos;m happy to see this bug is finally fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484982</commentid>
    <comment_count>26</comment_count>
      <attachid>111221</attachid>
    <who name="Rosen Dash">rosen.dash</who>
    <bug_when>2011-10-17 01:04:25 -0700</bug_when>
    <thetext>Created attachment 111221
Updated on patch 111217

Added the portion changed copyright.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485011</commentid>
    <comment_count>27</comment_count>
      <attachid>111221</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 02:17:41 -0700</bug_when>
    <thetext>Comment on attachment 111221
Updated on patch 111217

Clearing flags on attachment: 111221

Committed r97597: &lt;http://trac.webkit.org/changeset/97597&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485013</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 02:17:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495773</commentid>
    <comment_count>29</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-03 13:47:45 -0700</bug_when>
    <thetext>*** Bug 37474 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>10651</attachid>
            <date>2006-09-19 12:54:15 -0700</date>
            <delta_ts>2010-01-08 17:08:47 -0800</delta_ts>
            <desc>for openning in blot.app to test keyboard navigation</desc>
            <filename>generatedContentSample.html</filename>
            <type>text/html</type>
            <size>3277</size>
            <attacher name="Robert Burns">robburns1</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIg
bGFuZz0iZW4iPgoJPGhlYWQgcHJvZmlsZT0iYVByb2ZpbGUiIGRpcj0ibHRyIiB4bWw6bGFuZz0i
ZGUtREUiPgoKCQk8dGl0bGU+VGl0bGUgR29lcyBIZXJlPC90aXRsZT4KCQkKCQkJCQoJCQoJCQkJ
Cgk8IS0tIENPTlRFTlQgVFlQRSBBTkQgQ0hBUkFDVEVSIEVOQ09ESU5HIEhJTlQ6IFBsZWFzZSBu
b3RlIHRoaXMgZm9sbG93aW5nIG1ldGEgZWxlbWVudCBvbmx5IHByb3ZpZGVzIGEgaGludCB0byBz
ZXJ2ZXJzLCBzcGlkZXJzLCByb2JvdHMgYnJvd3NlcnMgYW5kIG90aGVyIHNvZnR3YXJlIG9mIHRo
aXMgZG9jdW1lbnQncyBNaW1lIFR5cGUgYW5kIGNoYXJhY3RlciBlbmNvZGluZy4gQ2hhbmdpbmcg
dGhpcyBjb250ZW50IGF0dHJpYnV0ZSBuZWl0aGVyIGNoYW5nZWUgdGhlIHR5cGUgbm9yIGVuY29k
aW5nIGZvciB0aGlzIGRvY3VtZW50IGZvciBtb3JlIGluZm9ybWF0aW9uIHZpc2l0IHRoZSBIaWVy
b2dseXBoIFdlYnNpdGUgaHR0cDovL2hpZXJvZ2x5cGguY29tLy4gLS0+CQkKCQk8bWV0YSBodHRw
LWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL3hodG1sK3htbDsgY2hh
cnNldD11dGYtOCIgLz4KCQk8bWV0YSBuYW1lPSJkYXRlIiBjb250ZW50PSIyMDA2LTA4LTMxIiBz
Y2hlbWU9IkR1Ymxpbi1Db3JlIiAvPgoJCTxtZXRhIG5hbWU9ImNyZWF0b3JzIiBjb250ZW50PSJM
aXNhIFNpbXBzb24iIHNjaGVtZT0iRHVibGluLUNvcmUiIC8+CgkJPG1ldGEgbmFtZT0iY29udHJp
YnV0b3JzIiBjb250ZW50PSJCYXJ0IFNpbXBzb24iIHNjaGVtZT0iRHVibGluLUNvcmUiIC8+CgkJ
PG1ldGEgbmFtZT0icHVibGlzaGVyIiBjb250ZW50PSJBIFB1YmxzaWhlciIgc2NoZW1lPSJEdWJs
aW4tQ29yZSIgLz4KCQk8bWV0YSBuYW1lPSJpZCIgY29udGVudD0iQW5JRFRhZyIgc2NoZW1lPSJE
dWJsaW4tQ29yZSIgLz4KCQk8bWV0YSBuYW1lPSJzdWJqZWN0cyIgY29udGVudD0iJ3NlbWFudGlj
IGh0bWwnLCB4aHRtbCwgJ2Nhc2NhZGluZyBzdHlsZXNoZWV0JywgJ3dvcmQgcHJvY2Vzc2luZyci
IHNjaGVtZT0iRHVibGluLUNvcmUiIC8+CgkJPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRl
bnQ9IlRoaXMgaXMgYSB0cmVhdGlzZSBvbiBzZXBhcmF0aW5nIHNlbWFudGljIGZyb20gc3R5bGUg
YW5kIHByZXNlbnRhdGlvbiIgc2NoZW1lPSJEdWJsaW4tQ29yZSIgLz4KCQk8bWV0YSBuYW1lPSJj
b3ZlcmFnZSIgY29udGVudD0iZm9yIGFueWJvZHkgdGhhdCB3YW50IG1vcmUgY29udHJvbCBvdmVy
IHRoZWlyIHdyaXRpbmciIHNjaGVtZT0iRHVibGluLUNvcmUiIC8+CgkJPG1ldGEgbmFtZT0iY29w
eXJpZ2h0IiBjb250ZW50PSJjb3B5cmlnaHQgMjAwNiwgYWxsIHJpZ2h0cyByZXNlcnZlZCIgc2No
ZW1lPSJEdWJsaW4tQ29yZSIgLz4KCQk8bWV0YSBuYW1lPSJ0eXBlcyIgY29udGVudD0iY29sbGVj
dGlvbiwgdGV4dCIgc2NoZW1lPSJEdWJsaW4tQ29yZSIgLz4KCQk8bWV0YSBuYW1lPSJkYXRlTGFz
dE1vZGlmaWVkIiBjb250ZW50PSIyMDA2LTA3LTA3LTA2OjA5LTYwMCIgc2NoZW1lPSJIaWVyb2ds
eXBoIiAvPgoJCTxtZXRhIG5hbWU9ImRhdGVDcmVhdGVkIiBjb250ZW50PSIyMDA2LTA3LTA3LTA2
OjA5LTYwMCIgc2NoZW1lPSJIaWVyb2dseXBoIiAvPgoJCTxtZXRhIG5hbWU9ImluaXRpYWxTZXNz
aW9uVVVJRCIgY29udGVudD0iRjA0NjlBOTUtQTBEOC00RThDLTkwQjUtQjE5ODgwODEzQjQiIHNj
aGVtZT0iSGllcm9nbHlwaCIgLz4KCQk8bWV0YSBuYW1lPSJpZEdlcm5hdG9yIiBjb250ZW50PSJz
ZWN0aW9uMDIxLCBwYXJhZ3JhcGgzMjEsIHRkMjEsIGVtMSwgZ3JvdXA6ZWxlbWVudCwgaW50ZXJ2
YWw6MSIgc2NoZW1lPSJIaWVyb2dseXBoIiAvPgoJCQoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
cmV2PSJjb250ZW50cyIgaHJlZj0iZGVmYXVsdC5wZGYiIHR5cGU9InRleHQvcnNzIiBtZWRpYT0i
YWxsIiBocmVmbGFuZz0iZW4iIGNoYXJzZXQ9InV0Zi04IiAvPgkKCQk8bGluayByZWw9ImFsdGVy
bmF0ZSIgcmV2PSJjb250ZW50cyIgaHJlZj0iZGVmYXVsdC5wZGYiIHR5cGU9ImFwcGxpY2F0aWFv
bi9wZGYiIGhyZWZsYW5nPSJlbiIgY2hhcnNldD0idXRmLTgiIC8+CgkJPGxpbmsgcmVsPSJwcmV2
IiByZXY9Im5leHQiIGhyZWY9ImNoYXB0ZXIxLmh0bWwiIHR5cGU9ImFwcGxpY2F0aW9uL3hodG1s
K3htbCIgaHJlZmxhbmc9ImVuIiBjaGFyc2V0PSJ1dGYtOCIgLz4KCQk8bGluayByZWw9Im5leHQi
IHJldj0icHJldiIgaHJlZj0iY2hhcHRlcjMuaHRtbCIgdHlwZT0iYXBwbGljYXRpb24veGh0bWwr
eG1sIiBocmVmbGFuZz0iZW4iIGNoYXJzZXQ9InV0Zi04IiAvPgoJCTxsaW5rIHJlbD0icHJldiIg
cmV2PSJnbG9zc2FyeSIgaHJlZj0iZ2xvc3NhcnkuaHRtbCIgdHlwZT0iYXBwbGljYXRpb24veGh0
bWwreG1sIiBocmVmbGFuZz0iZW4iIGNoYXJzZXQ9InV0Zi04IiAvPgoJPCEtLSBkaXNhYmxlIGZv
ciBkaXNhYmxpbmcgaGVhZCBlbGVtZW50cwoJCWRpc2FibGVkIC0tPgoJCTxzY3JpcHQgeG1sOmlk
PSJ4bWxpZHRlc3QiIHNyYz0iZGVmYXVsdC5qcyIgZGVmZXI9ImRlZmVyIiB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KCQk8L3NjcmlwdD4KCgkJPHN0eWxlIHR5cGU9InRl
eHQvY3NzIiB0aXRsZT0iYWQgaG9jIiBtZWRpYT0iYWxsIj4KCQkua2h0bWwtYmxvY2stcGxhY2Vo
b2xkZXIge2Rpc3BsYXk6IGlubGluZTt9CgkJPC9zdHlsZT4gCgk8L2hlYWQ+CgoJPGJvZHkgc3R5
bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgLWtodG1sLW5ic3AtbW9kZTogc3BhY2U7IC1raHRt
bC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSJwbGVhZGluZyI+CgkKCQk8
cCB0aXRsZT0idGVzdHRpdGxlIiBjbGFzcz0idGVzdGNsYXNzIiBpZD0idGVzdElkIj4KCQkJSGVy
ZSdzIGEgc2FtcGxlIG9mIGNzcyBnZW5lcmF0ZWQgY29udGVudCBkaXNydXB0aW5nIGtleWJvYXJk
IG5hdmlnYXRpb24uIEJ5IHBsYWNpbmcgYSBxdW90YXRpb24gZWxlbWVudCBpbiB0aGUgZG9jdW1l
bnQgdGhlPHE+CyBnZW5lcmF0ZWQgcXVvdGF0aW9uIG1hcmtzPC9xPgsgc3RvcCBrZXlib2FyZCBu
YXZpZ2F0aW9uIGZyb20gZW50ZXJpbmcgdGhlIGxpbmUgd2hlbiB0aGUgY3Vyc29ycyBpcyBlaXRo
ZXIgZGlyZWN0bHkgYWJvdmUgb3IgZGlyZWN0bHkgYmVsb3cgdGhlIGdlbmVyYXRlZCBjb250ZW50
LgoJCTwvcD4KCQkKCTwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>46179</attachid>
            <date>2010-01-08 17:08:47 -0800</date>
            <delta_ts>2010-01-08 17:08:47 -0800</delta_ts>
            <desc>A better example that works in browser (no blot.app required)</desc>
            <filename>generatedContentSample.html</filename>
            <type>text/html</type>
            <size>915</size>
            <attacher name="Robert Burns">robburns1</attacher>
            
              <data encoding="base64">77u/PGhlYWQ+Cgk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQv
aHRtbCIgLz4KCTxzdHlsZT4KCQkudGVzdDpiZWZvcmUge2NvbnRlbnQ6ICJiZWZvcmUtY29udGVu
dCI7IGNvbG9yOiByZWQ7fQoJCS50ZXN0OmFmdGVyIHtjb250ZW50OiAiYWZ0ZXItY29udGVudCI7
IGNvbG9yOiByZWQ7fQoJCXE6YmVmb3JlIHtjb2xvcjogcmVkO30KCQlxOmFmdGVyIHtjb2xvcjog
cmVkO30KCTwvc3R5bGU+CjwvaGVhZD4KPGJvZHkgY29udGVudEVkaXRhYmxlPSd0cnVlJz4KCgk8
cD4KCQlIZXJlJ3MgYSBzYW1wbGUgb2YgY3NzIGdlbmVyYXRlZCBjb250ZW50IGRpc3J1cHRpbmcg
a2V5Ym9hcmQgbmF2aWdhdGlvbi4gQnkgcGxhY2luZyBhIHF1b3RhdGlvbiBlbGVtZW50IGluIHRo
ZSBkb2N1bWVudCB0aGUgPHE+C2dlbmVyYXRlZCBxdW90YXRpb24gbWFya3M8L3E+CyBzdG9wIGtl
eWJvYXJkIG5hdmlnYXRpb24gZnJvbSBlbnRlcmluZyB0aGUgbGluZSB3aGVuIHRoZSBjdXJzb3Jz
IGlzIGVpdGhlciBkaXJlY3RseSBhYm92ZSBvciBkaXJlY3RseSBiZWxvdyB0aGUgZ2VuZXJhdGVk
IGNvbnRlbnQuCgk8L3A+CgoJPHA+CgkJSGVyZSdzIGEgc2FtcGxlIG9mIGNzcyBnZW5lcmF0ZWQg
Y29udGVudCBkaXNydXB0aW5nIGtleWJvYXJkIG5hdmlnYXRpb24uIEJ5IHBsYWNpbmcgYSBxdW90
YXRpb24gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgdGhlIDxzcGFuIGNsYXNzPSd0ZXN0Jz5nZW5l
cmF0ZWQgcXVvdGF0aW9uIG1hcmtzPC9zcGFuPgsgc3RvcCBrZXlib2FyZCBuYXZpZ2F0aW9uIGZy
b20gZW50ZXJpbmcgdGhlIGxpbmUgd2hlbiB0aGUgY3Vyc29ycyBpcyBlaXRoZXIgZGlyZWN0bHkg
YWJvdmUgb3IgZGlyZWN0bHkgYmVsb3cgdGhlIGdlbmVyYXRlZCBjb250ZW50LgoJPC9wPgo8L2Jv
ZHk+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109275</attachid>
            <date>2011-09-30 03:20:41 -0700</date>
            <delta_ts>2011-10-05 01:21:59 -0700</delta_ts>
            <desc>This patch solves issues regarding navigation and infinite loop cases with CSS pseudo elements before/after .</desc>
            <filename>10123.patch</filename>
            <type>text/plain</type>
            <size>3288</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzYzM4Mzg4Li5lMmI2ZGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTEtMDktMzAgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICB3aGVuIENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFu
ZCA6YWZ0ZXIpIHRoZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3Jr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggYWRkcmVzc2VzIGZvbGxsb3dpbmcgdHdvIGlzc3VlczoKKyAgICAgICAgMS4gV2hlbiBDU1Mg
cHNldWRvIGVsZW1lbnRzIGFyZSBiZWZvcmUgb3IgYWZ0ZXIgaXMgdXNlZCB3aXRoIGNvbnRlbnQg
YXR0cmlidXRlIGNvbnRhaW5pbmcgc2luZ2xlIGNoYXJhY3RlcgorICAgICAgICBhdCB0aGUgc3Rh
cnQvZW5kIG9mIHRleHQgYW5kIHdlIHRyeSB0byBtb3ZlIGN1cnNvciBieSByaWdodCBuYXZpZ2F0
aW9uIGtleSwgdGhlIHBhZ2UgZnJlZXplcyBmYWxsaW5nIGludG8KKyAgICAgICAgYW4gaW5maW5p
dGUgbG9vcC4KKyAgICAgICAgMi4gV2hlbiB0aGUgZWxlbWVudHMgdHJ5IHRvIGluc2VydCBzb21l
IHRleHQgYmV0d2VlbiBhIHRleHQgbGluZSwgbmF2aWdhdGlvbiBieSByaWdodCBhcnJvdyBrZXkg
aXMgcHJvaGliaXRlZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhpcyBmaXhlcyBpbnRl
cm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuCisKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVQ
b3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb246OmxlZnRWaXN1
YWxseURpc3RpbmN0Q2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlv
bjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKToKKwogMjAxMS0wOS0yNyAgQW5keSBF
c3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0TGlua2VkT25PckFmdGVy
KCkgY2hlY2sgaXMgaW5lZmZlY3RpdmUgZm9yIFNvbGFyIFdhbGsgYXBwLXNwZWNpZmljIGhhY2su
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKaW5kZXggNTZlNWFm
Ni4uNWYwMGRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9z
aXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNw
cApAQCAtMTE2LDcgKzExNiw3IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogICAgICAgICBJbmxpbmVCb3gqIGJveDsKICAg
ICAgICAgaW50IG9mZnNldDsKICAgICAgICAgcC5nZXRJbmxpbmVCb3hBbmRPZmZzZXQobV9hZmZp
bml0eSwgcHJpbWFyeURpcmVjdGlvbiwgYm94LCBvZmZzZXQpOwotICAgICAgICBpZiAoIWJveCkK
KyAgICAgICAgaWYgKCFib3ggfHwgIWJveC0+cmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICAg
ICAgcmV0dXJuIHByaW1hcnlEaXJlY3Rpb24gPT0gTFRSID8gcHJldmlvdXNWaXN1YWxseURpc3Rp
bmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlk
YXRlKG1fZGVlcFBvc2l0aW9uKTsKIAogICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0g
Ym94LT5yZW5kZXJlcigpOwpAQCAtMjMyLDcgKzIzMiw3IEBAIFBvc2l0aW9uIFZpc2libGVQb3Np
dGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogCiAgICAgICAgIHAg
PSBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24ocmVuZGVyZXItPm5vZGUoKSwgb2Zmc2V0KTsK
IAotICAgICAgICBpZiAoKHAuaXNDYW5kaWRhdGUoKSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3du
c3RyZWFtU3RhcnQpIHx8IHAuYXRTdGFydE9mVHJlZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSkKKyAg
ICAgICAgaWYgKChwLmlzQ2FuZGlkYXRlKCkgJiYgcC5kb3duc3RyZWFtKCkgIT0gZG93bnN0cmVh
bVN0YXJ0KSB8fCBwLmF0U3RhcnRPZlRyZWUoKSB8fCBwLmF0RW5kT2ZUcmVlKCkgfHwgcCA9PSBt
X2RlZXBQb3NpdGlvbikKICAgICAgICAgICAgIHJldHVybiBwOwogICAgIH0KIH0KQEAgLTI2Nyw3
ICsyNjcsNyBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFsbHlEaXN0aW5j
dENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgIElubGluZUJveCogYm94OwogICAgICAgICBpbnQg
b2Zmc2V0OwogICAgICAgICBwLmdldElubGluZUJveEFuZE9mZnNldChtX2FmZmluaXR5LCBwcmlt
YXJ5RGlyZWN0aW9uLCBib3gsIG9mZnNldCk7Ci0gICAgICAgIGlmICghYm94KQorICAgICAgICBp
ZiAoIWJveCB8fCAhYm94LT5yZW5kZXJlcigpLT5ub2RlKCkpCiAgICAgICAgICAgICByZXR1cm4g
cHJpbWFyeURpcmVjdGlvbiA9PSBMVFIgPyBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSht
X2RlZXBQb3NpdGlvbikgOiBwcmV2aW91c1Zpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVw
UG9zaXRpb24pOwogCiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBib3gtPnJlbmRl
cmVyKCk7CkBAIC0zODQsNyArMzg0LDcgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpyaWdo
dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogCiAgICAgICAgIHAgPSBjcmVhdGVM
ZWdhY3lFZGl0aW5nUG9zaXRpb24ocmVuZGVyZXItPm5vZGUoKSwgb2Zmc2V0KTsKIAotICAgICAg
ICBpZiAoKHAuaXNDYW5kaWRhdGUoKSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3duc3RyZWFtU3Rh
cnQpIHx8IHAuYXRTdGFydE9mVHJlZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSkKKyAgICAgICAgaWYg
KChwLmlzQ2FuZGlkYXRlKCkgJiYgcC5kb3duc3RyZWFtKCkgIT0gZG93bnN0cmVhbVN0YXJ0KSB8
fCBwLmF0U3RhcnRPZlRyZWUoKSB8fCBwLmF0RW5kT2ZUcmVlKCkgfHwgcCA9PSBtX2RlZXBQb3Np
dGlvbikKICAgICAgICAgICAgIHJldHVybiBwOwogICAgIH0KIH0K
</data>
<flag name="review"
          id="106483"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109760</attachid>
            <date>2011-10-05 01:21:59 -0700</date>
            <delta_ts>2011-10-12 04:23:59 -0700</delta_ts>
            <desc>Update on patch 109275</desc>
            <filename>10123.patch</filename>
            <type>text/plain</type>
            <size>7032</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZWFlNGNhLi4zYmZkYWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAt
MDUgIHJvc2VOIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVu
IENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRo
ZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTA0
ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnRyb2R1Y2Ug
ZmVhdHVyZSBmbGFncyBmb3IgaW5jb21wbGV0ZSBpbnB1dCB0eXBlcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUxOTRjYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8t
ZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUbyBtYW51YWxseSB0ZXN0IHNl
bGVjdCB0ZXh0IGJlbG93IGJ5IG1vdXNlIGFuZCB1c2UgcmlnaHQgYXJyb3cga2V5IHRvIG5hdmln
YXRlIGFjcm9zcyB0aGUgcXVvdGVzLiBUaGUgY2FyZXQgc2hvdWxkIG1vdmUgdG8gdGhlIHJpZ2h0
IG9mIHF1b3RlLgorCitwcmVjZWRpbmcgdGV4dCBjb250ZW50IGZvbGxvd2luZyB0ZXh0CitTdWNj
ZXNzCitTdWNjZXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
c3MtcHNldWRvLWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nz
cy1wc2V1ZG8tZWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmE3NzgxYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9jc3MtcHNldWRvLWVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IWRvY3R5cGUgaHRt
bD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAvKiBwZXJ0
aW5lbnQgdG8gdGVzdCBjYXNlcyAqLworICAgICAgLnF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJc
IiI7IH0KKyAgICAgIC5xdW90ZTphZnRlciB7IGNvbnRlbnQ6ICJcIiI7IH0KKyAgICA8L3N0eWxl
PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwPlRvIG1hbnVhbGx5IHRlc3Qgc2VsZWN0IHRl
eHQgYmVsb3cgYnkgbW91c2UgYW5kIHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdhdGUgYWNy
b3NzIHRoZSBxdW90ZXMuIFRoZSBjYXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQgb2YgcXVv
dGUuPC9wPgorICAgIDxkaXYgY29udGVudGVkaXRhYmxlID0gInRydWUiIGlkID0gInRlc3QiPgor
ICAgICAgcHJlY2VkaW5nIHRleHQKKyAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZSI+Y29udGVudDwv
c3Bhbj4KKyAgICAgIGZvbGxvd2luZyB0ZXh0CisgICAgPC9kaXY+CisKKyAgICA8dWwgaWQ9ImNv
bnNvbGUiPjwvdWw+CisKKyAgICA8c2NyaXB0PgorICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgICBmdW5jdGlvbiBsb2coc3RyKSB7CisJdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGkiKTsKKwlsaS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIp
KTsKKwl2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisJ
Y29uc29sZS5hcHBlbmRDaGlsZChsaSk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIGFzc2Vy
dChib29sKSB7CisJaWYgKCFib29sKQorCSAgbG9nKCJGYWlsdXJlIik7CisJZWxzZQorCSAgbG9n
KCJTdWNjZXNzIik7CisgICAgICB9CisKKyAgICAgIHZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QnKTsKKyAgICAgIGVkaXQuZm9jdXMoKTsKKyAgICAgIHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAxKTsKKyAgICAgIHdpbmRvdy5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CisgICAgICBhc3NlcnQo
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldCA9PSAxKTsKKyAgICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsKKyAgICAgIHdpbmRvdy5nZXRTZWxl
Y3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CisgICAgICBhc3Nl
cnQod2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldCA9PSAxKTsKKyAgICA8L3Njcmlw
dD4KKyAgPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM0NjljZC4uYTc2ZGJkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTEwLTA1ICByb3NlTiBEYXNoICA8cm9z
ZW4uZGFzaEBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgd2hlbiBDU1MgcHNldWRvIHNlbGVjdG9y
cyBhcmUgYXBwbGllZCAoOmJlZm9yZSBhbmQgOmFmdGVyKSB0aGUgKi1vZi1saW5lIGtleWJvYXJk
IG5hdmlnYXRpb24gZG9lcyBub3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHJlc3NlcyBmb2xsbG93aW5nIHR3byBpc3N1
ZXM6CisgICAgICAgIDEuIFdoZW4gQ1NTIHBzZXVkbyBlbGVtZW50cyBhcmUgYmVmb3JlIG9yIGFm
dGVyIGlzIHVzZWQgd2l0aCBjb250ZW50IGF0dHJpYnV0ZSBjb250YWluaW5nIHNpbmdsZSBjaGFy
YWN0ZXIKKyAgICAgICAgICAgYXQgdGhlIHN0YXJ0L2VuZCBvZiB0ZXh0IGFuZCB3ZSB0cnkgdG8g
bW92ZSBjdXJzb3IgYnkgcmlnaHQgbmF2aWdhdGlvbiBrZXksIHRoZSBwYWdlIGZyZWV6ZXMgZmFs
bGluZworICAgICAgICAgICBpbnRvIGFuIGluZmluaXRlIGxvb3AuCisgICAgICAgIDIuIFdoZW4g
dGhlIGVsZW1lbnRzIHRyeSB0byBpbnNlcnQgc29tZSB0ZXh0IGJldHdlZW4gYSB0ZXh0IGxpbmUs
IG5hdmlnYXRpb24gYnkgcmlnaHQgYXJyb3cga2V5IGlzIHByb2hpYml0ZWQuIAorCisgICAgICAg
IFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC5odG1sCisKKyAgICAg
ICAgKiBlZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNp
YmxlUG9zaXRpb246OmxlZnRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlZpc2libGVQb3NpdGlvbjo6bGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxl
UG9zaXRpb246OnJpZ2h0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpWaXNpYmxlUG9zaXRpb246OnJpZ2h0KToKKwogMjAxMS0xMC0wNCAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIE5vZGU6OndpbGxCbHVyKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCA1NmU1YWY2
Li5hYjEzMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3Np
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3Bw
CkBAIC0xMTYsNyArMTE2LDcgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFs
bHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgIElubGluZUJveCogYm94OwogICAg
ICAgICBpbnQgb2Zmc2V0OwogICAgICAgICBwLmdldElubGluZUJveEFuZE9mZnNldChtX2FmZmlu
aXR5LCBwcmltYXJ5RGlyZWN0aW9uLCBib3gsIG9mZnNldCk7Ci0gICAgICAgIGlmICghYm94KQor
ICAgICAgICBpZiAoIWJveCB8fCAhYm94LT5yZW5kZXJlcigpLT5ub2RlKCkpCiAgICAgICAgICAg
ICByZXR1cm4gcHJpbWFyeURpcmVjdGlvbiA9PSBMVFIgPyBwcmV2aW91c1Zpc3VhbGx5RGlzdGlu
Y3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pIDogbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRh
dGUobV9kZWVwUG9zaXRpb24pOwogCiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBi
b3gtPnJlbmRlcmVyKCk7CkBAIC0yMzIsNyArMjMyLDcgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0
aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAKICAgICAgICAgcCA9
IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihyZW5kZXJlci0+bm9kZSgpLCBvZmZzZXQpOwog
Ci0gICAgICAgIGlmICgocC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRvd25z
dHJlYW1TdGFydCkgfHwgcC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpKQorICAg
ICAgICBpZiAoKHAuaXNDYW5kaWRhdGUoKSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3duc3RyZWFt
U3RhcnQpIHx8IHAuYXRTdGFydE9mVHJlZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSB8fCBwID09IG1f
ZGVlcFBvc2l0aW9uKQogICAgICAgICAgICAgcmV0dXJuIHA7CiAgICAgfQogfQpAQCAtMjQxLDcg
KzI0MSw3IEBAIFZpc2libGVQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OmxlZnQoYm9vbCBzdGF5
SW5FZGl0YWJsZUNvbnRlbnQpIGNvbnN0CiB7CiAgICAgUG9zaXRpb24gcG9zID0gbGVmdFZpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUoKTsKICAgICAvLyBGSVhNRTogV2h5IGNhbid0IHdlIG1vdmUg
bGVmdCBmcm9tIHRoZSBsYXN0IHBvc2l0aW9uIGluIGEgdHJlZT8KLSAgICBpZiAocG9zLmF0U3Rh
cnRPZlRyZWUoKSB8fCBwb3MuYXRFbmRPZlRyZWUoKSkKKyAgICBpZiAocG9zLmF0U3RhcnRPZlRy
ZWUoKSB8fCBwb3MuYXRFbmRPZlRyZWUoKSB8fCBwb3MgPT0gbV9kZWVwUG9zaXRpb24pCiAgICAg
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKIAogICAgIFZpc2libGVQb3NpdGlvbiBsZWZ0
ID0gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CkBAIC0yNjcsNyArMjY3LDcgQEAg
UG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUo
KSBjb25zdAogICAgICAgICBJbmxpbmVCb3gqIGJveDsKICAgICAgICAgaW50IG9mZnNldDsKICAg
ICAgICAgcC5nZXRJbmxpbmVCb3hBbmRPZmZzZXQobV9hZmZpbml0eSwgcHJpbWFyeURpcmVjdGlv
biwgYm94LCBvZmZzZXQpOwotICAgICAgICBpZiAoIWJveCkKKyAgICAgICAgaWYgKCFib3ggfHwg
IWJveC0+cmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICAgICAgcmV0dXJuIHByaW1hcnlEaXJl
Y3Rpb24gPT0gTFRSID8gbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRp
b24pIDogcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKTsK
IAogICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOwpAQCAt
Mzg0LDcgKzM4NCw3IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURp
c3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKIAogICAgICAgICBwID0gY3JlYXRlTGVnYWN5RWRpdGlu
Z1Bvc2l0aW9uKHJlbmRlcmVyLT5ub2RlKCksIG9mZnNldCk7CiAKLSAgICAgICAgaWYgKChwLmlz
Q2FuZGlkYXRlKCkgJiYgcC5kb3duc3RyZWFtKCkgIT0gZG93bnN0cmVhbVN0YXJ0KSB8fCBwLmF0
U3RhcnRPZlRyZWUoKSB8fCBwLmF0RW5kT2ZUcmVlKCkpCisgICAgICAgIGlmICgocC5pc0NhbmRp
ZGF0ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRvd25zdHJlYW1TdGFydCkgfHwgcC5hdFN0YXJ0
T2ZUcmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpIHx8IHAgPT0gbV9kZWVwUG9zaXRpb24pCiAgICAg
ICAgICAgICByZXR1cm4gcDsKICAgICB9CiB9CkBAIC0zOTMsNyArMzkzLDcgQEAgVmlzaWJsZVBv
c2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cmlnaHQoYm9vbCBzdGF5SW5FZGl0YWJsZUNvbnRlbnQp
IGNvbnN0CiB7CiAgICAgUG9zaXRpb24gcG9zID0gcmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlk
YXRlKCk7CiAgICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBtb3ZlIGxlZnQgZnJvbSB0aGUgbGFz
dCBwb3NpdGlvbiBpbiBhIHRyZWU/Ci0gICAgaWYgKHBvcy5hdFN0YXJ0T2ZUcmVlKCkgfHwgcG9z
LmF0RW5kT2ZUcmVlKCkpCisgICAgaWYgKHBvcy5hdFN0YXJ0T2ZUcmVlKCkgfHwgcG9zLmF0RW5k
T2ZUcmVlKCkgfHwgcG9zID09IG1fZGVlcFBvc2l0aW9uKQogICAgICAgICByZXR1cm4gVmlzaWJs
ZVBvc2l0aW9uKCk7CiAKICAgICBWaXNpYmxlUG9zaXRpb24gcmlnaHQgPSBWaXNpYmxlUG9zaXRp
b24ocG9zLCBET1dOU1RSRUFNKTsK
</data>
<flag name="review"
          id="107063"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110665</attachid>
            <date>2011-10-12 04:23:59 -0700</date>
            <delta_ts>2011-10-12 04:35:12 -0700</delta_ts>
            <desc>Update on patch 109760</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>9447</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTU2NzQzLi4yNzkxMjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTIgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQGdtYWlsLmNvbT4KKworICAgICAgICB3aGVuIENT
UyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRoZSAq
LW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3Nz
LXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQuaHRt
bDogQWRkZWQuCisKIDIwMTEtMTAtMTIgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFyayBmYXN0L2Nzcy90ZXh0LXRyYW5z
Zm9ybS1zZWxlY3QuaHRtbCBhcyBJTUFHRStURVhUIG9uIHdpbi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzOTE4NjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2Vs
ZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5kIHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdh
dGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBjYXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQg
b2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHY
r9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZvtixINiq2KjYtdixCitQQVNTIDEgaXMgMQorUEFT
UyAxNiBpcyAxNgorUEFTUyAxIGlzIDEKK1BBU1MgNyBpcyA3CitQQVNTIDEgaXMgMQorUEFTUyA5
IGlzIDkKK1BBU1MgMSBpcyAxCitQQVNTIDExIGlzIDExCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMjlkZTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHdlYnBhZ2Ugc2hv
dWxkIG5vdCBoYW5nIHdoZW4gd2UgdHJ5IHRvIG1vdmUgYmV5b25kIHRoZSBxdW90ZXMuCisKK2Nv
bnRlbnQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVk
by1lbGVtZW50LWhhbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h
MjZmOGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+IC8qIHBlcnRpbmVudCB0byB0ZXN0IGNhc2Vz
ICovCisucXVvdGU6YmVmb3JlIHsgY29udGVudDogIioiOyB9CisucXVvdGU6YWZ0ZXIgeyBjb250
ZW50OiAiKiI7IH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgd2VicGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8gbW92
ZSBiZXlvbmQgdGhlIHF1b3Rlcy48L3A+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9
InRlc3QiPgorPHNwYW4gY2xhc3M9InF1b3RlIj5jb250ZW50PC9zcGFuPgorPC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKK2VkaXQuZm9jdXMoKTsKKworZm9yKHZhciBpID0gMDsgaSA8
IDk7ICsraSkgeworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmln
aHQnLCAnY2hhcmFjdGVyJyk7Cit9CisKK2Zvcih2YXIgaSA9IDA7IGkgPCA5OyArK2kpIHsKKyAg
ICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVy
Jyk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi43YzQ0NzhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAvKiBwZXJ0aW5lbnQgdG8gdGVz
dCBjYXNlcyAqLworIC5xdW90ZTpiZWZvcmUgeyBjb250ZW50OiAiXCIiOyB9CisgLnF1b3RlOmFm
dGVyIHsgY29udGVudDogIlwiIjsgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VG8gbWFudWFsbHkgdGVzdCBzZWxlY3QgdGV4dCBiZWxvdyBi
eSBtb3VzZSBhbmQgdXNlIHJpZ2h0IGFycm93IGtleSB0byBuYXZpZ2F0ZSBhY3Jvc3MgdGhlIHF1
b3Rlcy4gVGhlIGNhcmV0IHNob3VsZCBtb3ZlIHRvIHRoZSByaWdodCBvZiBxdW90ZS48L3A+CisK
KzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0ibHRyIj4KK3ByZWNlZGluZyB0ZXh0Cis8
c3BhbiBjbGFzcz0icXVvdGUiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAorPC9kaXY+
CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsIj4KKyYjMTU3NTsmIzE1ODU7
JiMxNTgzOyYjMTYwODsgJiMxNjA4OyYjMTY4MTsKKzxzcGFuIGNsYXNzPSJxdW90ZSI+JiMxNjYy
OyYjMTU4NTsmIzE2MDg7JiMxNTg3OyYjMTc0MDsmIzE1ODc7JiMxNTg1OyYjMTU4NzsgJiMxNjYy
OyYjMTU4NTs8L3NwYW4+CismIzE1Nzg7JiMxNTc2OyYjMTU4OTsmIzE1ODU7Cis8L2Rpdj4KKwor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgZWRpdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsdHInKTsKK2VkaXQuZm9jdXMoKTsKK3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5zZXRQb3NpdGlvbihlZGl0LCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnko
J21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFs
dWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTYp
OworCit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMik7Cit3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3RlcicpOworc2hv
dWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5n
KCksIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2No
YXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9y
T2Zmc2V0LnRvU3RyaW5nKCksIDcpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdydGwnKTsKK2VkaXQuZm9jdXMoKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3Np
dGlvbihlZGl0LCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVm
dCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigp
LmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2Rp
ZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8o
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7Citz
aG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJp
bmcoKSwgMTEpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNzFhZWY0Li5jYjY0MThk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMTAtMTIgIFJvc2VuIERhc2ggIDxy
b3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVuIENTUyBwc2V1ZG8gc2VsZWN0
b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRoZSAqLW9mLWxpbmUga2V5Ym9h
cmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcmVzc2VzIGZvbGxsb3dpbmcgdHdvIGlz
c3VlczoKKyAgICAgICAgMS4gV2hlbiBDU1MgcHNldWRvIGVsZW1lbnRzIGFyZSBiZWZvcmUgb3Ig
YWZ0ZXIgaXMgdXNlZCB3aXRoIGNvbnRlbnQgYXR0cmlidXRlIGNvbnRhaW5pbmcgc2luZ2xlIGNo
YXJhY3RlcgorICAgICAgICAgICBhdCB0aGUgc3RhcnQvZW5kIG9mIHRleHQgYW5kIHdlIHRyeSB0
byBtb3ZlIGN1cnNvciBieSByaWdodCBuYXZpZ2F0aW9uIGtleSwgdGhlIHBhZ2UgZnJlZXplcyBm
YWxsaW5nCisgICAgICAgICAgIGludG8gYW4gaW5maW5pdGUgbG9vcC4KKyAgICAgICAgMi4gV2hl
biB0aGUgZWxlbWVudHMgdHJ5IHRvIGluc2VydCBzb21lIHRleHQgYmV0d2VlbiBhIHRleHQgbGlu
ZSwgbmF2aWdhdGlvbiBieSByaWdodCBhcnJvdyBrZXkgaXMgcHJvaGliaXRlZC4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwK
KworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5k
aWRhdGUpOgorCiAyMDExLTEwLTEyICBZdXRhIEtpdGFtdXJhICA8eXV0YWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYlNvY2tldDogVXBkYXRlIFdlYlNvY2tldCBwcm90b2NvbCB0byBoeWJp
LTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKaW5kZXggNGUy
OTM2NS4uNDljZjc4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxl
UG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9u
LmNwcApAQCAtMTY4LDYgKzE2OCw4IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6bGVmdFZp
c3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogICAgICAgICAgICAgICAgICAgICAgICAg
Ym94ID0gbG9naWNhbFN0YXJ0OwogICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIgPSBi
b3gtPnJlbmRlcmVyKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgPSBwcmltYXJ5
RGlyZWN0aW9uID09IExUUiA/IGJveC0+Y2FyZXRNaW5PZmZzZXQoKSA6IGJveC0+Y2FyZXRNYXhP
ZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlbmRlcmVyLT5ub2RlKCkgPT0g
bV9kZWVwUG9zaXRpb24uYW5jaG9yTm9kZSgpICYmIG9mZnNldCA9PSBtX2RlZXBQb3NpdGlvbi5v
ZmZzZXRJbkNvbnRhaW5lck5vZGUoKSkKKwkJCSAgICByZXR1cm4gUG9zaXRpb24oKTsKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICB9CkBAIC0yMzAsMTAgKzIzMiwxNSBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246Omxl
ZnRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFyZW5kZXJlci0+bm9kZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGJveC0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcHJldmlvdXNWaXN1YWxseURp
c3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IG5leHRWaXN1YWxseURpc3RpbmN0Q2Fu
ZGlkYXRlKG1fZGVlcFBvc2l0aW9uKTsKKwogICAgICAgICBwID0gY3JlYXRlTGVnYWN5RWRpdGlu
Z1Bvc2l0aW9uKHJlbmRlcmVyLT5ub2RlKCksIG9mZnNldCk7CiAKICAgICAgICAgaWYgKChwLmlz
Q2FuZGlkYXRlKCkgJiYgcC5kb3duc3RyZWFtKCkgIT0gZG93bnN0cmVhbVN0YXJ0KSB8fCBwLmF0
U3RhcnRPZlRyZWUoKSB8fCBwLmF0RW5kT2ZUcmVlKCkpCiAgICAgICAgICAgICByZXR1cm4gcDsK
KworICAgICAgICBBU1NFUlQocCAhPSBtX2RlZXBQb3NpdGlvbik7CiAgICAgfQogfQogCkBAIC0z
MTksNiArMzI2LDggQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlz
dGluY3RDYW5kaWRhdGUoKSBjb25zdAogICAgICAgICAgICAgICAgICAgICAgICAgYm94ID0gbG9n
aWNhbEVuZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gYm94LT5yZW5kZXJl
cigpOwogICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gcHJpbWFyeURpcmVjdGlvbiA9
PSBMVFIgPyBib3gtPmNhcmV0TWF4T2Zmc2V0KCkgOiBib3gtPmNhcmV0TWluT2Zmc2V0KCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZihyZW5kZXJlci0+bm9kZSgpID09IG1fZGVlcFBvc2l0
aW9uLmFuY2hvck5vZGUoKSAmJiBvZmZzZXQgPT0gbV9kZWVwUG9zaXRpb24ub2Zmc2V0SW5Db250
YWluZXJOb2RlKCkpCisJCQkgICAgcmV0dXJuIFBvc2l0aW9uKCk7CiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQpAQCAt
MzgyLDEwICszOTEsMTUgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5
RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
IAorICAgICAgICBpZiAoIXJlbmRlcmVyLT5ub2RlKCkpCisgICAgICAgICAgICByZXR1cm4gYm94
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0
ZShtX2RlZXBQb3NpdGlvbikgOiBwcmV2aW91c1Zpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9k
ZWVwUG9zaXRpb24pOworCiAgICAgICAgIHAgPSBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24o
cmVuZGVyZXItPm5vZGUoKSwgb2Zmc2V0KTsKIAogICAgICAgICBpZiAoKHAuaXNDYW5kaWRhdGUo
KSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3duc3RyZWFtU3RhcnQpIHx8IHAuYXRTdGFydE9mVHJl
ZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSkKICAgICAgICAgICAgIHJldHVybiBwOworCisgICAgICAg
IEFTU0VSVChwICE9IG1fZGVlcFBvc2l0aW9uKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110666</attachid>
            <date>2011-10-12 04:35:12 -0700</date>
            <delta_ts>2011-10-13 07:53:09 -0700</delta_ts>
            <desc>Update on patch 109760</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>9491</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTU2NzQzLi4yNzkxMjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTIgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQGdtYWlsLmNvbT4KKworICAgICAgICB3aGVuIENT
UyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRoZSAq
LW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY3Nz
LXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQuaHRt
bDogQWRkZWQuCisKIDIwMTEtMTAtMTIgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFyayBmYXN0L2Nzcy90ZXh0LXRyYW5z
Zm9ybS1zZWxlY3QuaHRtbCBhcyBJTUFHRStURVhUIG9uIHdpbi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzOTE4NjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2Vs
ZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5kIHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdh
dGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBjYXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQg
b2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHY
r9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZvtixINiq2KjYtdixCitQQVNTIDEgaXMgMQorUEFT
UyAxNiBpcyAxNgorUEFTUyAxIGlzIDEKK1BBU1MgNyBpcyA3CitQQVNTIDEgaXMgMQorUEFTUyA5
IGlzIDkKK1BBU1MgMSBpcyAxCitQQVNTIDExIGlzIDExCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMjlkZTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHdlYnBhZ2Ugc2hv
dWxkIG5vdCBoYW5nIHdoZW4gd2UgdHJ5IHRvIG1vdmUgYmV5b25kIHRoZSBxdW90ZXMuCisKK2Nv
bnRlbnQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVk
by1lbGVtZW50LWhhbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h
MjZmOGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+IC8qIHBlcnRpbmVudCB0byB0ZXN0IGNhc2Vz
ICovCisucXVvdGU6YmVmb3JlIHsgY29udGVudDogIioiOyB9CisucXVvdGU6YWZ0ZXIgeyBjb250
ZW50OiAiKiI7IH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgd2VicGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8gbW92
ZSBiZXlvbmQgdGhlIHF1b3Rlcy48L3A+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9
InRlc3QiPgorPHNwYW4gY2xhc3M9InF1b3RlIj5jb250ZW50PC9zcGFuPgorPC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKK2VkaXQuZm9jdXMoKTsKKworZm9yKHZhciBpID0gMDsgaSA8
IDk7ICsraSkgeworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmln
aHQnLCAnY2hhcmFjdGVyJyk7Cit9CisKK2Zvcih2YXIgaSA9IDA7IGkgPCA5OyArK2kpIHsKKyAg
ICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVy
Jyk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi43YzQ0NzhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAvKiBwZXJ0aW5lbnQgdG8gdGVz
dCBjYXNlcyAqLworIC5xdW90ZTpiZWZvcmUgeyBjb250ZW50OiAiXCIiOyB9CisgLnF1b3RlOmFm
dGVyIHsgY29udGVudDogIlwiIjsgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VG8gbWFudWFsbHkgdGVzdCBzZWxlY3QgdGV4dCBiZWxvdyBi
eSBtb3VzZSBhbmQgdXNlIHJpZ2h0IGFycm93IGtleSB0byBuYXZpZ2F0ZSBhY3Jvc3MgdGhlIHF1
b3Rlcy4gVGhlIGNhcmV0IHNob3VsZCBtb3ZlIHRvIHRoZSByaWdodCBvZiBxdW90ZS48L3A+CisK
KzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0ibHRyIj4KK3ByZWNlZGluZyB0ZXh0Cis8
c3BhbiBjbGFzcz0icXVvdGUiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAorPC9kaXY+
CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsIj4KKyYjMTU3NTsmIzE1ODU7
JiMxNTgzOyYjMTYwODsgJiMxNjA4OyYjMTY4MTsKKzxzcGFuIGNsYXNzPSJxdW90ZSI+JiMxNjYy
OyYjMTU4NTsmIzE2MDg7JiMxNTg3OyYjMTc0MDsmIzE1ODc7JiMxNTg1OyYjMTU4NzsgJiMxNjYy
OyYjMTU4NTs8L3NwYW4+CismIzE1Nzg7JiMxNTc2OyYjMTU4OTsmIzE1ODU7Cis8L2Rpdj4KKwor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgZWRpdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsdHInKTsKK2VkaXQuZm9jdXMoKTsKK3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5zZXRQb3NpdGlvbihlZGl0LCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnko
J21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFs
dWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTYp
OworCit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMik7Cit3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3RlcicpOworc2hv
dWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5n
KCksIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2No
YXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9y
T2Zmc2V0LnRvU3RyaW5nKCksIDcpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdydGwnKTsKK2VkaXQuZm9jdXMoKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3Np
dGlvbihlZGl0LCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVm
dCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigp
LmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2Rp
ZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8o
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7Citz
aG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJp
bmcoKSwgMTEpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNzFhZWY0Li5jYjY0MThk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMTAtMTIgIFJvc2VuIERhc2ggIDxy
b3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVuIENTUyBwc2V1ZG8gc2VsZWN0
b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRoZSAqLW9mLWxpbmUga2V5Ym9h
cmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcmVzc2VzIGZvbGxsb3dpbmcgdHdvIGlz
c3VlczoKKyAgICAgICAgMS4gV2hlbiBDU1MgcHNldWRvIGVsZW1lbnRzIGFyZSBiZWZvcmUgb3Ig
YWZ0ZXIgaXMgdXNlZCB3aXRoIGNvbnRlbnQgYXR0cmlidXRlIGNvbnRhaW5pbmcgc2luZ2xlIGNo
YXJhY3RlcgorICAgICAgICAgICBhdCB0aGUgc3RhcnQvZW5kIG9mIHRleHQgYW5kIHdlIHRyeSB0
byBtb3ZlIGN1cnNvciBieSByaWdodCBuYXZpZ2F0aW9uIGtleSwgdGhlIHBhZ2UgZnJlZXplcyBm
YWxsaW5nCisgICAgICAgICAgIGludG8gYW4gaW5maW5pdGUgbG9vcC4KKyAgICAgICAgMi4gV2hl
biB0aGUgZWxlbWVudHMgdHJ5IHRvIGluc2VydCBzb21lIHRleHQgYmV0d2VlbiBhIHRleHQgbGlu
ZSwgbmF2aWdhdGlvbiBieSByaWdodCBhcnJvdyBrZXkgaXMgcHJvaGliaXRlZC4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwK
KworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5k
aWRhdGUpOgorCiAyMDExLTEwLTEyICBZdXRhIEtpdGFtdXJhICA8eXV0YWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYlNvY2tldDogVXBkYXRlIFdlYlNvY2tldCBwcm90b2NvbCB0byBoeWJp
LTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKaW5kZXggNGUy
OTM2NS4uYzNlYzA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxl
UG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9u
LmNwcApAQCAtMTY4LDYgKzE2OCw4IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6bGVmdFZp
c3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogICAgICAgICAgICAgICAgICAgICAgICAg
Ym94ID0gbG9naWNhbFN0YXJ0OwogICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIgPSBi
b3gtPnJlbmRlcmVyKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgPSBwcmltYXJ5
RGlyZWN0aW9uID09IExUUiA/IGJveC0+Y2FyZXRNaW5PZmZzZXQoKSA6IGJveC0+Y2FyZXRNYXhP
ZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlci0+bm9kZSgpID09
IG1fZGVlcFBvc2l0aW9uLmFuY2hvck5vZGUoKSAmJiBvZmZzZXQgPT0gbV9kZWVwUG9zaXRpb24u
b2Zmc2V0SW5Db250YWluZXJOb2RlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIFBvc2l0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQpAQCAtMjMwLDEwICsyMzIsMTUgQEAgUG9zaXRp
b24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCisgICAgICAgIGlmICghcmVuZGVyZXIt
Pm5vZGUoKSkKKyAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSA/IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbikgOiBu
ZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7CisKICAgICAgICAg
cCA9IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihyZW5kZXJlci0+bm9kZSgpLCBvZmZzZXQp
OwogCiAgICAgICAgIGlmICgocC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRv
d25zdHJlYW1TdGFydCkgfHwgcC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpKQog
ICAgICAgICAgICAgcmV0dXJuIHA7CisKKyAgICAgICAgQVNTRVJUKHAgIT0gbV9kZWVwUG9zaXRp
b24pOwogICAgIH0KIH0KIApAQCAtMzE5LDYgKzMyNiw4IEBAIFBvc2l0aW9uIFZpc2libGVQb3Np
dGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAg
ICAgICAgICAgICAgIGJveCA9IGxvZ2ljYWxFbmQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBy
ZW5kZXJlciA9IGJveC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNl
dCA9IHByaW1hcnlEaXJlY3Rpb24gPT0gTFRSID8gYm94LT5jYXJldE1heE9mZnNldCgpIDogYm94
LT5jYXJldE1pbk9mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVy
LT5ub2RlKCkgPT0gbV9kZWVwUG9zaXRpb24uYW5jaG9yTm9kZSgpICYmIG9mZnNldCA9PSBtX2Rl
ZXBQb3NpdGlvbi5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CkBAIC0zODIsMTAgKzM5MSwx
NSBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFsbHlEaXN0aW5jdENhbmRp
ZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCisgICAgICAgIGlm
ICghcmVuZGVyZXItPm5vZGUoKSkKKyAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmln
aHREaXJlY3Rpb24oKSA/IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0
aW9uKSA6IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7
CisKICAgICAgICAgcCA9IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihyZW5kZXJlci0+bm9k
ZSgpLCBvZmZzZXQpOwogCiAgICAgICAgIGlmICgocC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0
cmVhbSgpICE9IGRvd25zdHJlYW1TdGFydCkgfHwgcC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVu
ZE9mVHJlZSgpKQogICAgICAgICAgICAgcmV0dXJuIHA7CisKKyAgICAgICAgQVNTRVJUKHAgIT0g
bV9kZWVwUG9zaXRpb24pOwogICAgIH0KIH0KIAo=
</data>
<flag name="review"
          id="108240"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110843</attachid>
            <date>2011-10-13 07:53:09 -0700</date>
            <delta_ts>2011-10-14 07:31:24 -0700</delta_ts>
            <desc>Solved the navigation issue with rtl texts.</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>11273</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MDFlMGYxLi5kYWY1OTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTMgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVu
IENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRo
ZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQu
aHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMTMgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZWQgR1RLIFNWRyB0
ZXN0IHJlc3VsdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nz
cy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjAxZTI3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjAgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2VsZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5k
IHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdhdGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBj
YXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQgb2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0
IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHYr9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZ
vtixINiq2KjYtdixCitQQVNTIDEgaXMgMQorUEFTUyAxNiBpcyAxNgorUEFTUyAxIGlzIDEKK1BB
U1MgNyBpcyA3CitQQVNTIDEgaXMgMQorUEFTUyA5IGlzIDkKK1BBU1MgOCBpcyA4CitQQVNTIDkg
aXMgOQorUEFTUyAxIGlzIDEKK1BBU1MgMTEgaXMgMTEKK1BBU1MgMTAgaXMgMTAKK1BBU1MgMTEg
aXMgMTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
c3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNWUyOWRlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKK1RoaXMgd2VicGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8g
bW92ZSBiZXlvbmQgdGhlIHF1b3Rlcy4KKworY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNmY4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
CkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4gLyogcGVydGluZW50IHRvIHRlc3QgY2FzZXMgKi8KKy5xdW90ZTpiZWZvcmUgeyBjb250ZW50
OiAiKiI7IH0KKy5xdW90ZTphZnRlciB7IGNvbnRlbnQ6ICIqIjsgfQorPC9zdHlsZT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB3ZWJwYWdlIHNob3Vs
ZCBub3QgaGFuZyB3aGVuIHdlIHRyeSB0byBtb3ZlIGJleW9uZCB0aGUgcXVvdGVzLjwvcD4KKzxk
aXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0idGVzdCI+Cis8c3BhbiBjbGFzcz0icXVvdGUi
PmNvbnRlbnQ8L3NwYW4+Cis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworZWRpdC5m
b2N1cygpOworCitmb3IodmFyIGkgPSAwOyBpIDwgOTsgKytpKSB7CisgICAgd2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK30KKworZm9y
KHZhciBpID0gMDsgaSA8IDk7ICsraSkgeworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2Rp
ZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMjc3ZmQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1l
bnQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+IC8qIHBlcnRpbmVudCB0byB0ZXN0IGNhc2VzICovCisgLnF1b3RlOmJlZm9yZSB7
IGNvbnRlbnQ6ICJcIiI7IH0KKyAucXVvdGU6YWZ0ZXIgeyBjb250ZW50OiAiXCIiOyB9Cis8L3N0
eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UbyBtYW51
YWxseSB0ZXN0IHNlbGVjdCB0ZXh0IGJlbG93IGJ5IG1vdXNlIGFuZCB1c2UgcmlnaHQgYXJyb3cg
a2V5IHRvIG5hdmlnYXRlIGFjcm9zcyB0aGUgcXVvdGVzLiBUaGUgY2FyZXQgc2hvdWxkIG1vdmUg
dG8gdGhlIHJpZ2h0IG9mIHF1b3RlLjwvcD4KKworPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUi
IGlkPSJsdHIiPgorcHJlY2VkaW5nIHRleHQKKzxzcGFuIGNsYXNzPSJxdW90ZSI+Y29udGVudDwv
c3Bhbj4KK2ZvbGxvd2luZyB0ZXh0Cis8L2Rpdj4KKworPGRpdiBjb250ZW50ZWRpdGFibGU9InRy
dWUiIGlkPSJydGwiPgorJiMxNTc1OyYjMTU4NTsmIzE1ODM7JiMxNjA4OyAmIzE2MDg7JiMxNjgx
OworPHNwYW4gY2xhc3M9InF1b3RlIj4mIzE2NjI7JiMxNTg1OyYjMTYwODsmIzE1ODc7JiMxNzQw
OyYjMTU4NzsmIzE1ODU7JiMxNTg3OyAmIzE2NjI7JiMxNTg1Ozwvc3Bhbj4KKyYjMTU3ODsmIzE1
NzY7JiMxNTg5OyYjMTU4NTsKKzwvZGl2PgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x0cicpOworZWRp
dC5mb2N1cygpOword2luZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVkaXQsIDEpOwor
d2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXIn
KTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50
b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVm
dCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigp
LmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxNik7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5z
ZXRQb3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUn
LCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxl
Y3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRv
KHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgNyk7CisKK3Zh
ciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J0bCcpOworZWRpdC5mb2N1cygpOwor
d2luZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZh
bHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEp
Oword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0
ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNl
dC50b1N0cmluZygpLCA5KTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
cmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rp
b24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
bW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRl
VG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dp
bmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7
CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9T
dHJpbmcoKSwgMTEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdo
dCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigp
LmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxMCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9k
aWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAxY2Y4OGI3Li5jYWVhNDg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMTEtMTAtMTMgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNv
bT4KKworICAgICAgICB3aGVuIENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVm
b3JlIGFuZCA6YWZ0ZXIpIHRoZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5v
dCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggYWRkcmVzc2VzIGZvbGxsb3dpbmcgdHdvIGlzc3VlczoKKyAgICAgICAgMS4gV2hl
biBDU1MgcHNldWRvIGVsZW1lbnRzIGFyZSBiZWZvcmUgb3IgYWZ0ZXIgaXMgdXNlZCB3aXRoIGNv
bnRlbnQgYXR0cmlidXRlIGNvbnRhaW5pbmcgc2luZ2xlIGNoYXJhY3RlcgorICAgICAgICAgICBh
dCB0aGUgc3RhcnQvZW5kIG9mIHRleHQgYW5kIHdlIHRyeSB0byBtb3ZlIGN1cnNvciBieSByaWdo
dCBuYXZpZ2F0aW9uIGtleSwgdGhlIHBhZ2UgZnJlZXplcyBmYWxsaW5nCisgICAgICAgICAgIGlu
dG8gYW4gaW5maW5pdGUgbG9vcC4KKyAgICAgICAgMi4gV2hlbiB0aGVzZSBlbGVtZW50cyB0cnkg
dG8gaW5zZXJ0IHNvbWUgdGV4dCBiZXR3ZWVuIGEgdGV4dCBsaW5lLCBuYXZpZ2F0aW9uIGJ5IHJp
Z2h0L2xlZnQgYXJyb3cga2V5IGlzIHByb2hpYml0ZWQuCisKKyAgICAgICAgVGVzdHM6IGVkaXRp
bmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC5odG1sCisKKyAgICAgICAgKiBl
ZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlUG9z
aXRpb246OmxlZnRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKToKKwogMjAx
MS0xMC0xMyAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFtDaHJvbWl1bV0gQWRkIGFuIGFiaWxpdHkgdG8gbG9vayB1cCBh
bmQgZXhwbG9yZSBhbiBvYmplY3QgZnJvbSBhIGhlYXAgcHJvZmlsZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCA0ZTI5MzY1Li5mYjBhM2QxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCkBAIC0xMjIsNyArMTIy
LDcgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRp
ZGF0ZSgpIGNvbnN0CiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBib3gtPnJlbmRl
cmVyKCk7CiAKICAgICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgIGlmICgocmVuZGVy
ZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNCUigpKSAmJiBvZmZzZXQgPT0gYm94LT5j
YXJldFJpZ2h0bW9zdE9mZnNldCgpKQorICAgICAgICAgICAgaWYgKChyZW5kZXJlci0+aXNSZXBs
YWNlZCgpIHx8IHJlbmRlcmVyLT5pc0JSKCkgfHwgIXJlbmRlcmVyLT5ub2RlKCkpICYmIG9mZnNl
dCA9PSBib3gtPmNhcmV0UmlnaHRtb3N0T2Zmc2V0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGJveC0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0
Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRl
KG1fZGVlcFBvc2l0aW9uKTsKIAogICAgICAgICAgICAgb2Zmc2V0ID0gYm94LT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkgPyByZW5kZXJlci0+cHJldmlvdXNPZmZzZXQob2Zmc2V0KSA6IHJlbmRl
cmVyLT5uZXh0T2Zmc2V0KG9mZnNldCk7CkBAIC0xOTMsNiArMTkzLDE0IEBAIFBvc2l0aW9uIFZp
c2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAocHJldkJveCkgeworICAgICAgICAgICAgICAg
IGlmICghcHJldkJveC0+cmVuZGVyZXIoKS0+bm9kZSgpKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChwcmV2Qm94LT5wcmV2TGVhZkNoaWxkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gYm94LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBwcmV2aW91c1Zpc3VhbGx5RGlz
dGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pIDogbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5k
aWRhdGUobV9kZWVwUG9zaXRpb24pOworICAgICAgICAgICAgICAgICAgICByZW5kZXJlciA9IGJv
eC0+cmVuZGVyZXIoKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gcHJpbWFyeURpcmVj
dGlvbiA9PSBMVFIgPyBib3gtPmNhcmV0TWluT2Zmc2V0KCkgOiBib3gtPmNhcmV0TWF4T2Zmc2V0
KCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICBib3ggPSBwcmV2Qm94OwogICAgICAgICAgICAg
ICAgIHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOwogICAgICAgICAgICAgICAgIG9mZnNldCA9
IGJveC0+Y2FyZXRSaWdodG1vc3RPZmZzZXQoKTsKQEAgLTIzNCw2ICsyNDIsOCBAQCBQb3NpdGlv
biBWaXNpYmxlUG9zaXRpb246OmxlZnRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QK
IAogICAgICAgICBpZiAoKHAuaXNDYW5kaWRhdGUoKSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3du
c3RyZWFtU3RhcnQpIHx8IHAuYXRTdGFydE9mVHJlZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSkKICAg
ICAgICAgICAgIHJldHVybiBwOworCisgICAgICAgIEFTU0VSVChwICE9IG1fZGVlcFBvc2l0aW9u
KTsKICAgICB9CiB9CiAKQEAgLTI3Myw3ICsyODMsNyBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRp
b246OnJpZ2h0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgIFJlbmRl
ck9iamVjdCogcmVuZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CiAKICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKLSAgICAgICAgICAgIGlmICgocmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJl
ci0+aXNCUigpKSAmJiBvZmZzZXQgPT0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCkpCisgICAg
ICAgICAgICBpZiAoKHJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzQlIoKSB8
fCAhcmVuZGVyZXItPm5vZGUoKSkgJiYgb2Zmc2V0ID09IGJveC0+Y2FyZXRMZWZ0bW9zdE9mZnNl
dCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSA/IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IHByZXZp
b3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7CiAKICAgICAgICAg
ICAgIG9mZnNldCA9IGJveC0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcmVuZGVyZXItPm5l
eHRPZmZzZXQob2Zmc2V0KSA6IHJlbmRlcmVyLT5wcmV2aW91c09mZnNldChvZmZzZXQpOwpAQCAt
MzQ1LDYgKzM1NSwxNCBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFsbHlE
aXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlm
IChuZXh0Qm94KSB7CisgICAgICAgICAgICAgICAgaWYgKCFuZXh0Qm94LT5yZW5kZXJlcigpLT5u
b2RlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5leHRCb3gtPm5leHRMZWFmQ2hpbGQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSA/IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6
IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7CisgICAg
ICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOworICAgICAgICAgICAg
ICAgICAgICBvZmZzZXQgPSBwcmltYXJ5RGlyZWN0aW9uID09IExUUiA/IGJveC0+Y2FyZXRNYXhP
ZmZzZXQoKSA6IGJveC0+Y2FyZXRNaW5PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
IGJveCA9IG5leHRCb3g7CiAgICAgICAgICAgICAgICAgcmVuZGVyZXIgPSBib3gtPnJlbmRlcmVy
KCk7CiAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCk7
CkBAIC0zODYsNiArNDA0LDggQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogCiAgICAgICAgIGlmICgocC5pc0NhbmRpZGF0
ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRvd25zdHJlYW1TdGFydCkgfHwgcC5hdFN0YXJ0T2ZU
cmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpKQogICAgICAgICAgICAgcmV0dXJuIHA7CisKKyAgICAg
ICAgQVNTRVJUKHAgIT0gbV9kZWVwUG9zaXRpb24pOwogICAgIH0KIH0KIAo=
</data>
<flag name="review"
          id="108470"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111012</attachid>
            <date>2011-10-14 07:31:24 -0700</date>
            <delta_ts>2011-10-16 22:27:31 -0700</delta_ts>
            <desc>Update on patch 110843</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>11787</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MDFlMGYxLi5kYWY1OTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTMgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVu
IENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRo
ZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQu
aHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMTMgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZWQgR1RLIFNWRyB0
ZXN0IHJlc3VsdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nz
cy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjAxZTI3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjAgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2VsZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5k
IHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdhdGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBj
YXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQgb2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0
IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHYr9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZ
vtixINiq2KjYtdixCitQQVNTIDEgaXMgMQorUEFTUyAxNiBpcyAxNgorUEFTUyAxIGlzIDEKK1BB
U1MgNyBpcyA3CitQQVNTIDEgaXMgMQorUEFTUyA5IGlzIDkKK1BBU1MgOCBpcyA4CitQQVNTIDkg
aXMgOQorUEFTUyAxIGlzIDEKK1BBU1MgMTEgaXMgMTEKK1BBU1MgMTAgaXMgMTAKK1BBU1MgMTEg
aXMgMTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
c3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNWUyOWRlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKK1RoaXMgd2VicGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8g
bW92ZSBiZXlvbmQgdGhlIHF1b3Rlcy4KKworY29udGVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiNTY2ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4gLyogcGVydGluZW50IHRvIHRlc3QgY2FzZXMgKi8KKy5xdW90ZTpiZWZvcmUgeyBjb250ZW50
OiAiKiI7IH0KKy5xdW90ZTphZnRlciB7IGNvbnRlbnQ6ICIqIjsgfQorPC9zdHlsZT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB3ZWJwYWdlIHNob3Vs
ZCBub3QgaGFuZyB3aGVuIHdlIHRyeSB0byBtb3ZlIGJleW9uZCB0aGUgcXVvdGVzLjwvcD4KKwor
PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJ0ZXN0MSI+Cis8c3BhbiBjbGFzcz0icXVv
dGUiPmNvbnRlbnQ8L3NwYW4+Cis8L2Rpdj4KKworPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUi
IGlkPSJ0ZXN0MiI+CithPHNwYW4gY2xhc3M9InF1b3RlIj5jb250ZW50PC9zcGFuPmEKKzwvZGl2
PgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBlZGl0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7CitlZGl0LmZvY3VzKCk7CisKK2ZvciAodmFy
IGkgPSAwOyBpIDwgOTsgKytpKSAKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdt
b3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3RlcicpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDk7ICsr
aSkKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hh
cmFjdGVyJyk7CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJyk7
CitlZGl0LmZvY3VzKCk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTE7ICsraSkKKyAgICB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3RlcicpOwor
Citmb3IgKHZhciBpID0gMDsgaSA8IDExOyArK2kpCisgICAgd2luZG93LmdldFNlbGVjdGlvbigp
Lm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YyNzdmZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxl
bWVudC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4gLyogcGVydGluZW50IHRvIHRlc3QgY2FzZXMgKi8KKyAucXVvdGU6YmVmb3Jl
IHsgY29udGVudDogIlwiIjsgfQorIC5xdW90ZTphZnRlciB7IGNvbnRlbnQ6ICJcIiI7IH0KKzwv
c3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRvIG1h
bnVhbGx5IHRlc3Qgc2VsZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5kIHVzZSByaWdodCBhcnJv
dyBrZXkgdG8gbmF2aWdhdGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBjYXJldCBzaG91bGQgbW92
ZSB0byB0aGUgcmlnaHQgb2YgcXVvdGUuPC9wPgorCis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1
ZSIgaWQ9Imx0ciI+CitwcmVjZWRpbmcgdGV4dAorPHNwYW4gY2xhc3M9InF1b3RlIj5jb250ZW50
PC9zcGFuPgorZm9sbG93aW5nIHRleHQKKzwvZGl2PgorCis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0i
dHJ1ZSIgaWQ9InJ0bCI+CismIzE1NzU7JiMxNTg1OyYjMTU4MzsmIzE2MDg7ICYjMTYwODsmIzE2
ODE7Cis8c3BhbiBjbGFzcz0icXVvdGUiPiYjMTY2MjsmIzE1ODU7JiMxNjA4OyYjMTU4NzsmIzE3
NDA7JiMxNTg3OyYjMTU4NTsmIzE1ODc7ICYjMTY2MjsmIzE1ODU7PC9zcGFuPgorJiMxNTc4OyYj
MTU3NjsmIzE1ODk7JiMxNTg1OworPC9kaXY+CisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbHRyJyk7Citl
ZGl0LmZvY3VzKCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMSk7
Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3Rl
cicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0
LnRvU3RyaW5nKCksIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICds
ZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDE2KTsKKword2luZG93LmdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGVkaXQsIDIpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92
ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNl
bGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRl
VG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA3KTsKKwor
dmFyIGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnRsJyk7CitlZGl0LmZvY3VzKCk7
Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMSk7Cit3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRF
dmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwg
MSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJh
Y3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zm
c2V0LnRvU3RyaW5nKCksIDkpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScs
ICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVj
dGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA4KTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8o
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA5KTsKKword2lu
ZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVkaXQsIDIpOword2luZG93LmdldFNlbGVj
dGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVh
dGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEpOwor
d2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXIn
KTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50
b1N0cmluZygpLCAxMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3Jp
Z2h0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEwKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5t
b2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2lu
ZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxMSk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFjZjg4YjcuLmNhZWE0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxMS0xMC0xMyAgUm9zZW4gRGFzaCAgPHJvc2VuLmRhc2hAbW90b3JvbGEu
Y29tPgorCisgICAgICAgIHdoZW4gQ1NTIHBzZXVkbyBzZWxlY3RvcnMgYXJlIGFwcGxpZWQgKDpi
ZWZvcmUgYW5kIDphZnRlcikgdGhlICotb2YtbGluZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGRvZXMg
bm90IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRyZXNzZXMgZm9sbGxvd2luZyB0d28gaXNzdWVzOgorICAgICAgICAxLiBX
aGVuIENTUyBwc2V1ZG8gZWxlbWVudHMgYXJlIGJlZm9yZSBvciBhZnRlciBpcyB1c2VkIHdpdGgg
Y29udGVudCBhdHRyaWJ1dGUgY29udGFpbmluZyBzaW5nbGUgY2hhcmFjdGVyCisgICAgICAgICAg
IGF0IHRoZSBzdGFydC9lbmQgb2YgdGV4dCBhbmQgd2UgdHJ5IHRvIG1vdmUgY3Vyc29yIGJ5IHJp
Z2h0IG5hdmlnYXRpb24ga2V5LCB0aGUgcGFnZSBmcmVlemVzIGZhbGxpbmcKKyAgICAgICAgICAg
aW50byBhbiBpbmZpbml0ZSBsb29wLgorICAgICAgICAyLiBXaGVuIHRoZXNlIGVsZW1lbnRzIHRy
eSB0byBpbnNlcnQgc29tZSB0ZXh0IGJldHdlZW4gYSB0ZXh0IGxpbmUsIG5hdmlnYXRpb24gYnkg
cmlnaHQvbGVmdCBhcnJvdyBrZXkgaXMgcHJvaGliaXRlZC4KKworICAgICAgICBUZXN0czogZWRp
dGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50Lmh0bWwKKworICAgICAgICAq
IGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQ
b3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUpOgorCiAy
MDExLTEwLTEzICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogW0Nocm9taXVtXSBBZGQgYW4gYWJpbGl0eSB0byBsb29rIHVw
IGFuZCBleHBsb3JlIGFuIG9iamVjdCBmcm9tIGEgaGVhcCBwcm9maWxlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCmluZGV4IDRlMjkzNjUuLmIzNzBiY2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKQEAgLTEyNSw2ICsx
MjUsMTUgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENh
bmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICBpZiAoKHJlbmRlcmVyLT5pc1JlcGxhY2VkKCkg
fHwgcmVuZGVyZXItPmlzQlIoKSkgJiYgb2Zmc2V0ID09IGJveC0+Y2FyZXRSaWdodG1vc3RPZmZz
ZXQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gYm94LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkgPyBwcmV2aW91c1Zpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pIDog
bmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pOwogCisgICAgICAg
ICAgICBpZiAoIXJlbmRlcmVyLT5ub2RlKCkpIHsKKyAgICAgICAgICAgICAgICBib3ggPSBib3gt
PnByZXZMZWFmQ2hpbGQoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWJveCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHByaW1hcnlEaXJlY3Rpb24gPT0gTFRSID8gcHJldmlvdXNWaXN1YWxs
eURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IG5leHRWaXN1YWxseURpc3RpbmN0
Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKTsKKyAgICAgICAgICAgICAgICByZW5kZXJlciA9IGJv
eC0+cmVuZGVyZXIoKTsKKyAgICAgICAgICAgICAgICBvZmZzZXQgPSBib3gtPmNhcmV0UmlnaHRt
b3N0T2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisK
ICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcmVu
ZGVyZXItPnByZXZpb3VzT2Zmc2V0KG9mZnNldCkgOiByZW5kZXJlci0+bmV4dE9mZnNldChvZmZz
ZXQpOwogCiAgICAgICAgICAgICBpbnQgY2FyZXRNaW5PZmZzZXQgPSBib3gtPmNhcmV0TWluT2Zm
c2V0KCk7CkBAIC0xOTIsNiArMjAxLDkgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0
VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIHdoaWxlIChwcmV2Qm94ICYmICFwcmV2
Qm94LT5yZW5kZXJlcigpLT5ub2RlKCkpCisgICAgICAgICAgICAgICAgcHJldkJveCA9IHByZXZC
b3gtPnByZXZMZWFmQ2hpbGQoKTsKKwogICAgICAgICAgICAgaWYgKHByZXZCb3gpIHsKICAgICAg
ICAgICAgICAgICBib3ggPSBwcmV2Qm94OwogICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gYm94
LT5yZW5kZXJlcigpOwpAQCAtMjM0LDYgKzI0Niw4IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlv
bjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogCiAgICAgICAgIGlmICgo
cC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRvd25zdHJlYW1TdGFydCkgfHwg
cC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpKQogICAgICAgICAgICAgcmV0dXJu
IHA7CisKKyAgICAgICAgQVNTRVJUKHAgIT0gbV9kZWVwUG9zaXRpb24pOwogICAgIH0KIH0KIApA
QCAtMjc2LDYgKzI5MCwxNSBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFs
bHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICBpZiAoKHJlbmRlcmVyLT5p
c1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzQlIoKSkgJiYgb2Zmc2V0ID09IGJveC0+Y2FyZXRM
ZWZ0bW9zdE9mZnNldCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmln
aHREaXJlY3Rpb24oKSA/IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0
aW9uKSA6IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7
CiAKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXItPm5vZGUoKSkgeworICAgICAgICAgICAgICAg
IGJveCA9IGJveC0+bmV4dExlYWZDaGlsZCgpOworICAgICAgICAgICAgICAgIGlmICghYm94KQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJpbWFyeURpcmVjdGlvbiA9PSBMVFIgPyBuZXh0
VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbikgOiBwcmV2aW91c1Zpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pOworICAgICAgICAgICAgICAgIHJl
bmRlcmVyID0gYm94LT5yZW5kZXJlcigpOworICAgICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+
Y2FyZXRMZWZ0bW9zdE9mZnNldCgpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgfQorCiAgICAgICAgICAgICBvZmZzZXQgPSBib3gtPmlzTGVmdFRvUmlnaHREaXJlY3Rp
b24oKSA/IHJlbmRlcmVyLT5uZXh0T2Zmc2V0KG9mZnNldCkgOiByZW5kZXJlci0+cHJldmlvdXNP
ZmZzZXQob2Zmc2V0KTsKIAogICAgICAgICAgICAgaW50IGNhcmV0TWluT2Zmc2V0ID0gYm94LT5j
YXJldE1pbk9mZnNldCgpOwpAQCAtMzIyLDYgKzM0NSw3IEBAIFBvc2l0aW9uIFZpc2libGVQb3Np
dGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9
CisKICAgICAgICAgICAgICAgICBpZiAobmV4dEJveC0+YmlkaUxldmVsKCkgPj0gbGV2ZWwpCiAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0zNDQsMTAgKzM2OCwxNCBAQCBQb3NpdGlv
biBWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAg
IHdoaWxlIChuZXh0Qm94ICYmICFuZXh0Qm94LT5yZW5kZXJlcigpLT5ub2RlKCkpCisgICAgICAg
ICAgICAgICAgbmV4dEJveCA9IG5leHRCb3gtPm5leHRMZWFmQ2hpbGQoKTsKKwogICAgICAgICAg
ICAgaWYgKG5leHRCb3gpIHsKICAgICAgICAgICAgICAgICBib3ggPSBuZXh0Qm94OwogICAgICAg
ICAgICAgICAgIHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOwogICAgICAgICAgICAgICAgIG9m
ZnNldCA9IGJveC0+Y2FyZXRMZWZ0bW9zdE9mZnNldCgpOworCiAgICAgICAgICAgICAgICAgaWYg
KGJveC0+YmlkaUxldmVsKCkgPiBsZXZlbCkgewogICAgICAgICAgICAgICAgICAgICBkbyB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBuZXh0Qm94ID0gbmV4dEJveC0+bmV4dExlYWZDaGlsZCgp
OwpAQCAtMzg2LDYgKzQxNCw4IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1
YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKIAogICAgICAgICBpZiAoKHAuaXNDYW5kaWRh
dGUoKSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3duc3RyZWFtU3RhcnQpIHx8IHAuYXRTdGFydE9m
VHJlZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSkKICAgICAgICAgICAgIHJldHVybiBwOworCisgICAg
ICAgIEFTU0VSVChwICE9IG1fZGVlcFBvc2l0aW9uKTsKICAgICB9CiB9CiAK
</data>
<flag name="commit-queue"
          id="108698"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111211</attachid>
            <date>2011-10-16 22:27:31 -0700</date>
            <delta_ts>2011-10-16 23:32:55 -0700</delta_ts>
            <desc>Updated css-pseudo-element-hang-expected.txt after adding a new test case.</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>11798</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MDFlMGYxLi5kYWY1OTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTMgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVu
IENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRo
ZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQu
aHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMTMgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZWQgR1RLIFNWRyB0
ZXN0IHJlc3VsdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nz
cy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjAxZTI3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjAgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2VsZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5k
IHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdhdGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBj
YXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQgb2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0
IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHYr9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZ
vtixINiq2KjYtdixCitQQVNTIDEgaXMgMQorUEFTUyAxNiBpcyAxNgorUEFTUyAxIGlzIDEKK1BB
U1MgNyBpcyA3CitQQVNTIDEgaXMgMQorUEFTUyA5IGlzIDkKK1BBU1MgOCBpcyA4CitQQVNTIDkg
aXMgOQorUEFTUyAxIGlzIDEKK1BBU1MgMTEgaXMgMTEKK1BBU1MgMTAgaXMgMTAKK1BBU1MgMTEg
aXMgMTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVs
ZW1lbnQtaGFuZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
c3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uODY5ZTIwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDggQEAKK1RoaXMgd2VicGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8g
bW92ZSBiZXlvbmQgdGhlIHF1b3Rlcy4KKworY29udGVudAorYWNvbnRlbnRhCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI1NjZmMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVu
dC1oYW5nLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPiAvKiBwZXJ0aW5lbnQgdG8gdGVzdCBjYXNlcyAqLworLnF1b3RlOmJlZm9y
ZSB7IGNvbnRlbnQ6ICIqIjsgfQorLnF1b3RlOmFmdGVyIHsgY29udGVudDogIioiOyB9Cis8L3N0
eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHdl
YnBhZ2Ugc2hvdWxkIG5vdCBoYW5nIHdoZW4gd2UgdHJ5IHRvIG1vdmUgYmV5b25kIHRoZSBxdW90
ZXMuPC9wPgorCis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9InRlc3QxIj4KKzxzcGFu
IGNsYXNzPSJxdW90ZSI+Y29udGVudDwvc3Bhbj4KKzwvZGl2PgorCis8ZGl2IGNvbnRlbnRlZGl0
YWJsZT0idHJ1ZSIgaWQ9InRlc3QyIj4KK2E8c3BhbiBjbGFzcz0icXVvdGUiPmNvbnRlbnQ8L3Nw
YW4+YQorPC9kaXY+CisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKK2VkaXQuZm9jdXMoKTsK
KworZm9yICh2YXIgaSA9IDA7IGkgPCA5OyArK2kpIAorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgOTsgKytpKQorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
bGVmdCcsICdjaGFyYWN0ZXInKTsKKwordmFyIGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdDInKTsKK2VkaXQuZm9jdXMoKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMTsgKytp
KQorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hh
cmFjdGVyJyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTE7ICsraSkKKyAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBz
ZXVkby1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNl
dWRvLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjI3
N2ZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3Nz
LXBzZXVkby1lbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAvKiBwZXJ0aW5lbnQgdG8gdGVzdCBjYXNlcyAqLworIC5x
dW90ZTpiZWZvcmUgeyBjb250ZW50OiAiXCIiOyB9CisgLnF1b3RlOmFmdGVyIHsgY29udGVudDog
IlwiIjsgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VG8gbWFudWFsbHkgdGVzdCBzZWxlY3QgdGV4dCBiZWxvdyBieSBtb3VzZSBhbmQgdXNl
IHJpZ2h0IGFycm93IGtleSB0byBuYXZpZ2F0ZSBhY3Jvc3MgdGhlIHF1b3Rlcy4gVGhlIGNhcmV0
IHNob3VsZCBtb3ZlIHRvIHRoZSByaWdodCBvZiBxdW90ZS48L3A+CisKKzxkaXYgY29udGVudGVk
aXRhYmxlPSJ0cnVlIiBpZD0ibHRyIj4KK3ByZWNlZGluZyB0ZXh0Cis8c3BhbiBjbGFzcz0icXVv
dGUiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAorPC9kaXY+CisKKzxkaXYgY29udGVu
dGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsIj4KKyYjMTU3NTsmIzE1ODU7JiMxNTgzOyYjMTYwODsg
JiMxNjA4OyYjMTY4MTsKKzxzcGFuIGNsYXNzPSJxdW90ZSI+JiMxNjYyOyYjMTU4NTsmIzE2MDg7
JiMxNTg3OyYjMTc0MDsmIzE1ODc7JiMxNTg1OyYjMTU4NzsgJiMxNjYyOyYjMTU4NTs8L3NwYW4+
CismIzE1Nzg7JiMxNTc2OyYjMTU4OTsmIzE1ODU7Cis8L2Rpdj4KKworPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdsdHInKTsKK2VkaXQuZm9jdXMoKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlv
bihlZGl0LCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQn
LCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5h
bmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5
KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTYpOworCit3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMik7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
bW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEpOword2luZG93
LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hv
dWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5n
KCksIDcpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydGwnKTsKK2Vk
aXQuZm9jdXMoKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAxKTsK
K3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXIn
KTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50
b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmln
aHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9k
aWZ5KCdtb3ZlJywgJ3JpZ2h0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDgpOword2luZG93Lmdl
dFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxk
RXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCks
IDkpOworCit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZWRpdCwgMik7Cit3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7Citz
aG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJp
bmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3JpZ2h0Jywg
J2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5j
aG9yT2Zmc2V0LnRvU3RyaW5nKCksIDExKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnko
J21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTApOword2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZh
bHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEx
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNmODhiNy4uY2FlYTQ4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEwLTEzICBSb3NlbiBEYXNoICA8cm9zZW4uZGFz
aEBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgd2hlbiBDU1MgcHNldWRvIHNlbGVjdG9ycyBhcmUg
YXBwbGllZCAoOmJlZm9yZSBhbmQgOmFmdGVyKSB0aGUgKi1vZi1saW5lIGtleWJvYXJkIG5hdmln
YXRpb24gZG9lcyBub3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAxMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGFkZHJlc3NlcyBmb2xsbG93aW5nIHR3byBpc3N1ZXM6Cisg
ICAgICAgIDEuIFdoZW4gQ1NTIHBzZXVkbyBlbGVtZW50cyBhcmUgYmVmb3JlIG9yIGFmdGVyIGlz
IHVzZWQgd2l0aCBjb250ZW50IGF0dHJpYnV0ZSBjb250YWluaW5nIHNpbmdsZSBjaGFyYWN0ZXIK
KyAgICAgICAgICAgYXQgdGhlIHN0YXJ0L2VuZCBvZiB0ZXh0IGFuZCB3ZSB0cnkgdG8gbW92ZSBj
dXJzb3IgYnkgcmlnaHQgbmF2aWdhdGlvbiBrZXksIHRoZSBwYWdlIGZyZWV6ZXMgZmFsbGluZwor
ICAgICAgICAgICBpbnRvIGFuIGluZmluaXRlIGxvb3AuCisgICAgICAgIDIuIFdoZW4gdGhlc2Ug
ZWxlbWVudHMgdHJ5IHRvIGluc2VydCBzb21lIHRleHQgYmV0d2VlbiBhIHRleHQgbGluZSwgbmF2
aWdhdGlvbiBieSByaWdodC9sZWZ0IGFycm93IGtleSBpcyBwcm9oaWJpdGVkLgorCisgICAgICAg
IFRlc3RzOiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQuaHRtbAor
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFsbHlEaXN0aW5jdENhbmRp
ZGF0ZSk6CisKIDIwMTEtMTAtMTMgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbQ2hyb21pdW1dIEFkZCBhbiBhYmlsaXR5
IHRvIGxvb2sgdXAgYW5kIGV4cGxvcmUgYW4gb2JqZWN0IGZyb20gYSBoZWFwIHByb2ZpbGUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKaW5kZXggNGUyOTM2NS4u
YjM3MGJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcApA
QCAtMTI1LDYgKzEyNSwxNSBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OmxlZnRWaXN1YWxs
eURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgIGlmICgocmVuZGVyZXItPmlz
UmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNCUigpKSAmJiBvZmZzZXQgPT0gYm94LT5jYXJldFJp
Z2h0bW9zdE9mZnNldCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmln
aHREaXJlY3Rpb24oKSA/IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQ
b3NpdGlvbikgOiBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7
CiAKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXItPm5vZGUoKSkgeworICAgICAgICAgICAgICAg
IGJveCA9IGJveC0+cHJldkxlYWZDaGlsZCgpOworICAgICAgICAgICAgICAgIGlmICghYm94KQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJpbWFyeURpcmVjdGlvbiA9PSBMVFIgPyBwcmV2
aW91c1Zpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pIDogbmV4dFZpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pOworICAgICAgICAgICAgICAgIHJl
bmRlcmVyID0gYm94LT5yZW5kZXJlcigpOworICAgICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+
Y2FyZXRSaWdodG1vc3RPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgIH0KKwogICAgICAgICAgICAgb2Zmc2V0ID0gYm94LT5pc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCkgPyByZW5kZXJlci0+cHJldmlvdXNPZmZzZXQob2Zmc2V0KSA6IHJlbmRlcmVyLT5uZXh0
T2Zmc2V0KG9mZnNldCk7CiAKICAgICAgICAgICAgIGludCBjYXJldE1pbk9mZnNldCA9IGJveC0+
Y2FyZXRNaW5PZmZzZXQoKTsKQEAgLTE5Miw2ICsyMDEsOSBAQCBQb3NpdGlvbiBWaXNpYmxlUG9z
aXRpb246OmxlZnRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgd2hpbGUgKHByZXZC
b3ggJiYgIXByZXZCb3gtPnJlbmRlcmVyKCktPm5vZGUoKSkKKyAgICAgICAgICAgICAgICBwcmV2
Qm94ID0gcHJldkJveC0+cHJldkxlYWZDaGlsZCgpOworCiAgICAgICAgICAgICBpZiAocHJldkJv
eCkgewogICAgICAgICAgICAgICAgIGJveCA9IHByZXZCb3g7CiAgICAgICAgICAgICAgICAgcmVu
ZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CkBAIC0yMzQsNiArMjQ2LDggQEAgUG9zaXRpb24gVmlz
aWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAKICAg
ICAgICAgaWYgKChwLmlzQ2FuZGlkYXRlKCkgJiYgcC5kb3duc3RyZWFtKCkgIT0gZG93bnN0cmVh
bVN0YXJ0KSB8fCBwLmF0U3RhcnRPZlRyZWUoKSB8fCBwLmF0RW5kT2ZUcmVlKCkpCiAgICAgICAg
ICAgICByZXR1cm4gcDsKKworICAgICAgICBBU1NFUlQocCAhPSBtX2RlZXBQb3NpdGlvbik7CiAg
ICAgfQogfQogCkBAIC0yNzYsNiArMjkwLDE1IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6
cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgIGlmICgo
cmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNCUigpKSAmJiBvZmZzZXQgPT0g
Ym94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGJveC0+
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUo
bV9kZWVwUG9zaXRpb24pIDogcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVl
cFBvc2l0aW9uKTsKIAorICAgICAgICAgICAgaWYgKCFyZW5kZXJlci0+bm9kZSgpKSB7CisgICAg
ICAgICAgICAgICAgYm94ID0gYm94LT5uZXh0TGVhZkNoaWxkKCk7CisgICAgICAgICAgICAgICAg
aWYgKCFib3gpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmltYXJ5RGlyZWN0aW9uID09
IExUUiA/IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IHBy
ZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7CisgICAgICAg
ICAgICAgICAgcmVuZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CisgICAgICAgICAgICAgICAgb2Zm
c2V0ID0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpID8gcmVuZGVyZXItPm5leHRPZmZzZXQob2Zmc2V0KSA6IHJlbmRlcmVy
LT5wcmV2aW91c09mZnNldChvZmZzZXQpOwogCiAgICAgICAgICAgICBpbnQgY2FyZXRNaW5PZmZz
ZXQgPSBib3gtPmNhcmV0TWluT2Zmc2V0KCk7CkBAIC0zMjIsNiArMzQ1LDcgQEAgUG9zaXRpb24g
VmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgIGlmIChuZXh0Qm94LT5iaWRpTGV2ZWwoKSA+
PSBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTM0NCwxMCArMzY4LDE0
IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlk
YXRlKCkgY29uc3QKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KIAor
ICAgICAgICAgICAgd2hpbGUgKG5leHRCb3ggJiYgIW5leHRCb3gtPnJlbmRlcmVyKCktPm5vZGUo
KSkKKyAgICAgICAgICAgICAgICBuZXh0Qm94ID0gbmV4dEJveC0+bmV4dExlYWZDaGlsZCgpOwor
CiAgICAgICAgICAgICBpZiAobmV4dEJveCkgewogICAgICAgICAgICAgICAgIGJveCA9IG5leHRC
b3g7CiAgICAgICAgICAgICAgICAgcmVuZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CiAgICAgICAg
ICAgICAgICAgb2Zmc2V0ID0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCk7CisKICAgICAgICAg
ICAgICAgICBpZiAoYm94LT5iaWRpTGV2ZWwoKSA+IGxldmVsKSB7CiAgICAgICAgICAgICAgICAg
ICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRCb3ggPSBuZXh0Qm94LT5uZXh0
TGVhZkNoaWxkKCk7CkBAIC0zODYsNiArNDE0LDggQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9u
OjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogCiAgICAgICAgIGlmICgo
cC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRvd25zdHJlYW1TdGFydCkgfHwg
cC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpKQogICAgICAgICAgICAgcmV0dXJu
IHA7CisKKyAgICAgICAgQVNTRVJUKHAgIT0gbV9kZWVwUG9zaXRpb24pOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111217</attachid>
            <date>2011-10-16 23:32:55 -0700</date>
            <delta_ts>2011-10-17 01:04:25 -0700</delta_ts>
            <desc>Update on patch 111211</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>15120</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MDFlMGYxLi5kYWY1OTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTMgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVu
IENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRo
ZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQu
aHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMTMgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZWQgR1RLIFNWRyB0
ZXN0IHJlc3VsdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nz
cy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmI5MmIzOWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzQgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2VsZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5k
IHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdhdGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBj
YXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQgb2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0
IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHYr9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZ
vtixINiq2KjYtdixCitwcmVjZWRpbmcgdGV4dCBjb250ZW50IGZvbGxvd2luZyB0ZXh0CivYp9ix
2K/ZiCDZiNqRINm+2LHZiNiz24zYs9ix2LMg2b7YsSDYqtio2LXYsQorUEFTUyAxIGlzIDEKK1BB
U1MgMTYgaXMgMTYKK1BBU1MgMSBpcyAxCitQQVNTIDcgaXMgNworUEFTUyAxIGlzIDEKK1BBU1Mg
OSBpcyA5CitQQVNTIDggaXMgOAorUEFTUyA5IGlzIDkKK1BBU1MgMSBpcyAxCitQQVNTIDExIGlz
IDExCitQQVNTIDEwIGlzIDEwCitQQVNTIDExIGlzIDExCitQQVNTIDEgaXMgMQorUEFTUyAxNiBp
cyAxNgorUEFTUyAxIGlzIDEKK1BBU1MgNyBpcyA3CitQQVNTIDEwIGlzIDEwCitQQVNTIDkgaXMg
OQorUEFTUyA4IGlzIDgKK1BBU1MgOSBpcyA5CitQQVNTIDEgaXMgMQorUEFTUyAxMSBpcyAxMQor
UEFTUyAxIGlzIDEKK1BBU1MgMTEgaXMgMTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY5NjRlZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1o
YW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIHdlYnBhZ2Ugc2hvdWxkIG5v
dCBoYW5nIHdoZW4gd2UgdHJ5IHRvIG1vdmUgYmV5b25kIHRoZSBxdW90ZXMuCisKK2NvbnRlbnQK
K2Fjb250ZW50YQorY29udGVudAorYWNvbnRlbnRhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxNDk4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwKQEAg
LTAsMCArMSw3OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAv
KiBwZXJ0aW5lbnQgdG8gdGVzdCBjYXNlcyAqLworLnF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICIq
IjsgfQorLnF1b3RlOmFmdGVyIHsgY29udGVudDogIioiOyB9CisKKy5iaWRpOmJlZm9yZSB7IGNv
bnRlbnQ6ICJh16RiIjsgfQorLmJpZGk6YWZ0ZXIgeyBjb250ZW50OiAiYdekYiI7IH0KKzwvc3R5
bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgd2Vi
cGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8gbW92ZSBiZXlvbmQgdGhlIHF1b3Rl
cy48L3A+CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0idGVzdDEiPgorPHNwYW4g
Y2xhc3M9InF1b3RlIj5jb250ZW50PC9zcGFuPgorPC9kaXY+CisKKzxkaXYgY29udGVudGVkaXRh
YmxlPSJ0cnVlIiBpZD0idGVzdDIiPgorYTxzcGFuIGNsYXNzPSJxdW90ZSI+Y29udGVudDwvc3Bh
bj5hCis8L2Rpdj4KKworPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJ0ZXN0MyI+Cis8
c3BhbiBjbGFzcz0iYmlkaSI+Y29udGVudDwvc3Bhbj4KKzwvZGl2PgorCis8ZGl2IGNvbnRlbnRl
ZGl0YWJsZT0idHJ1ZSIgaWQ9InRlc3Q0Ij4KK2E8c3BhbiBjbGFzcz0iYmlkaSI+Y29udGVudDwv
c3Bhbj5hCis8L2Rpdj4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOworZWRpdC5mb2N1cygp
OworCitmb3IgKHZhciBpID0gMDsgaSA8IDk7ICsraSkgCisgICAgd2luZG93LmdldFNlbGVjdGlv
bigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKKworZm9yICh2YXIgaSA9
IDA7IGkgPCA5OyArK2kpCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScs
ICdsZWZ0JywgJ2NoYXJhY3RlcicpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0MicpOworZWRpdC5mb2N1cygpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDExOyAr
K2kpCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdj
aGFyYWN0ZXInKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMTsgKytpKQorICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKKwordmFy
IGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKTsKK2VkaXQuZm9jdXMoKTsK
KworZm9yICh2YXIgaSA9IDA7IGkgPCA5OyArK2kpIAorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgOTsgKytpKQorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
bGVmdCcsICdjaGFyYWN0ZXInKTsKKwordmFyIGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdDQnKTsKK2VkaXQuZm9jdXMoKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMTsgKytp
KQorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hh
cmFjdGVyJyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTE7ICsraSkKKyAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBz
ZXVkby1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNl
dWRvLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmY4
ZjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3Nz
LXBzZXVkby1lbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxMjIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4gLyogcGVydGluZW50IHRvIHRlc3QgY2FzZXMgKi8KKyAu
cXVvdGU6YmVmb3JlIHsgY29udGVudDogIlwiIjsgfQorIC5xdW90ZTphZnRlciB7IGNvbnRlbnQ6
ICJcIiI7IH0KKyAKKyAuYmlkaTpiZWZvcmUgeyBjb250ZW50OiAiYdekYiI7IH0KKyAuYmlkaTph
ZnRlciB7IGNvbnRlbnQ6ICJh16RiIjsgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VG8gbWFudWFsbHkgdGVzdCBzZWxlY3QgdGV4dCBiZWxv
dyBieSBtb3VzZSBhbmQgdXNlIHJpZ2h0IGFycm93IGtleSB0byBuYXZpZ2F0ZSBhY3Jvc3MgdGhl
IHF1b3Rlcy4gVGhlIGNhcmV0IHNob3VsZCBtb3ZlIHRvIHRoZSByaWdodCBvZiBxdW90ZS48L3A+
CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0ibHRyIj4KK3ByZWNlZGluZyB0ZXh0
Cis8c3BhbiBjbGFzcz0icXVvdGUiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAorPC9k
aXY+CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsIj4KKyYjMTU3NTsmIzE1
ODU7JiMxNTgzOyYjMTYwODsgJiMxNjA4OyYjMTY4MTsKKzxzcGFuIGNsYXNzPSJxdW90ZSI+JiMx
NjYyOyYjMTU4NTsmIzE2MDg7JiMxNTg3OyYjMTc0MDsmIzE1ODc7JiMxNTg1OyYjMTU4NzsgJiMx
NjYyOyYjMTU4NTs8L3NwYW4+CismIzE1Nzg7JiMxNTc2OyYjMTU4OTsmIzE1ODU7Cis8L2Rpdj4K
KworPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJsdHItYmlkaSI+CitwcmVjZWRpbmcg
dGV4dAorPHNwYW4gY2xhc3M9ImJpZGkiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAor
PC9kaXY+CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsLWJpZGkiPgorJiMx
NTc1OyYjMTU4NTsmIzE1ODM7JiMxNjA4OyAmIzE2MDg7JiMxNjgxOworPHNwYW4gY2xhc3M9ImJp
ZGkiPiYjMTY2MjsmIzE1ODU7JiMxNjA4OyYjMTU4NzsmIzE3NDA7JiMxNTg3OyYjMTU4NTsmIzE1
ODc7ICYjMTY2MjsmIzE1ODU7PC9zcGFuPgorJiMxNTc4OyYjMTU3NjsmIzE1ODk7JiMxNTg1Owor
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBlZGl0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x0cicpOworZWRpdC5mb2N1cygpOword2luZG93Lmdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNlbGVjdGlvbigp
Lm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8o
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3No
b3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmlu
ZygpLCAxNik7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsK
K3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVy
Jyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQu
dG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xl
ZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgNyk7CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3J0bCcpOworZWRpdC5mb2N1cygpOword2luZG93LmdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92
ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEpOword2luZG93LmdldFNlbGVjdGlv
bigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRl
VG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA5KTsKK3dp
bmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7
CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9T
dHJpbmcoKSwgOCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQn
LCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5h
bmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQ
b3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
bGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlv
bigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5t
b2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOword2luZG93
LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3No
b3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmlu
ZygpLCAxMCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAn
Y2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNo
b3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsdHItYmlkaScpOworZWRpdC5mb2N1cygpOword2luZG93LmdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92
ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNl
bGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRl
VG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxNik7CisK
K3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRF
dmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwg
MSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFj
dGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZz
ZXQudG9TdHJpbmcoKSwgNyk7CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3J0bC1iaWRpJyk7CitlZGl0LmZvY3VzKCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9z
aXRpb24oZWRpdCwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3Jp
Z2h0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEwKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5t
b2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2lu
ZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA5KTsKK3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3Vs
ZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygp
LCA4KTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hh
cmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JP
ZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlv
bihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQn
LCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5h
bmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5
KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOword2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZh
bHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEp
Oword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0
ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNl
dC50b1N0cmluZygpLCAxMSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFjZjg4Yjcu
LmNhZWE0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0xMC0xMyAgUm9zZW4g
RGFzaCAgPHJvc2VuLmRhc2hAbW90b3JvbGEuY29tPgorCisgICAgICAgIHdoZW4gQ1NTIHBzZXVk
byBzZWxlY3RvcnMgYXJlIGFwcGxpZWQgKDpiZWZvcmUgYW5kIDphZnRlcikgdGhlICotb2YtbGlu
ZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGRvZXMgbm90IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRyZXNzZXMgZm9sbGxvd2lu
ZyB0d28gaXNzdWVzOgorICAgICAgICAxLiBXaGVuIENTUyBwc2V1ZG8gZWxlbWVudHMgYXJlIGJl
Zm9yZSBvciBhZnRlciBpcyB1c2VkIHdpdGggY29udGVudCBhdHRyaWJ1dGUgY29udGFpbmluZyBz
aW5nbGUgY2hhcmFjdGVyCisgICAgICAgICAgIGF0IHRoZSBzdGFydC9lbmQgb2YgdGV4dCBhbmQg
d2UgdHJ5IHRvIG1vdmUgY3Vyc29yIGJ5IHJpZ2h0IG5hdmlnYXRpb24ga2V5LCB0aGUgcGFnZSBm
cmVlemVzIGZhbGxpbmcKKyAgICAgICAgICAgaW50byBhbiBpbmZpbml0ZSBsb29wLgorICAgICAg
ICAyLiBXaGVuIHRoZXNlIGVsZW1lbnRzIHRyeSB0byBpbnNlcnQgc29tZSB0ZXh0IGJldHdlZW4g
YSB0ZXh0IGxpbmUsIG5hdmlnYXRpb24gYnkgcmlnaHQvbGVmdCBhcnJvdyBrZXkgaXMgcHJvaGli
aXRlZC4KKworICAgICAgICBUZXN0czogZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVt
ZW50LWhhbmcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVk
by1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RD
YW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUpOgorCiAyMDExLTEwLTEzICBNaWtoYWlsIE5hZ2Fub3YgIDxt
bmFnYW5vdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0Nocm9taXVt
XSBBZGQgYW4gYWJpbGl0eSB0byBsb29rIHVwIGFuZCBleHBsb3JlIGFuIG9iamVjdCBmcm9tIGEg
aGVhcCBwcm9maWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxl
UG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3Bw
CmluZGV4IDRlMjkzNjUuLmIzNzBiY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVBvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2li
bGVQb3NpdGlvbi5jcHAKQEAgLTEyNSw2ICsxMjUsMTUgQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0
aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICBp
ZiAoKHJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzQlIoKSkgJiYgb2Zmc2V0
ID09IGJveC0+Y2FyZXRSaWdodG1vc3RPZmZzZXQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
Ym94LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBwcmV2aW91c1Zpc3VhbGx5RGlzdGluY3RD
YW5kaWRhdGUobV9kZWVwUG9zaXRpb24pIDogbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUo
bV9kZWVwUG9zaXRpb24pOwogCisgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5ub2RlKCkpIHsK
KyAgICAgICAgICAgICAgICBib3ggPSBib3gtPnByZXZMZWFmQ2hpbGQoKTsKKyAgICAgICAgICAg
ICAgICBpZiAoIWJveCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByaW1hcnlEaXJlY3Rp
b24gPT0gTFRSID8gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0
aW9uKSA6IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKTsKKyAg
ICAgICAgICAgICAgICByZW5kZXJlciA9IGJveC0+cmVuZGVyZXIoKTsKKyAgICAgICAgICAgICAg
ICBvZmZzZXQgPSBib3gtPmNhcmV0UmlnaHRtb3N0T2Zmc2V0KCk7CisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+aXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpID8gcmVuZGVyZXItPnByZXZpb3VzT2Zmc2V0KG9mZnNldCkg
OiByZW5kZXJlci0+bmV4dE9mZnNldChvZmZzZXQpOwogCiAgICAgICAgICAgICBpbnQgY2FyZXRN
aW5PZmZzZXQgPSBib3gtPmNhcmV0TWluT2Zmc2V0KCk7CkBAIC0xOTIsNiArMjAxLDkgQEAgUG9z
aXRpb24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNv
bnN0CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAg
ICAgIHdoaWxlIChwcmV2Qm94ICYmICFwcmV2Qm94LT5yZW5kZXJlcigpLT5ub2RlKCkpCisgICAg
ICAgICAgICAgICAgcHJldkJveCA9IHByZXZCb3gtPnByZXZMZWFmQ2hpbGQoKTsKKwogICAgICAg
ICAgICAgaWYgKHByZXZCb3gpIHsKICAgICAgICAgICAgICAgICBib3ggPSBwcmV2Qm94OwogICAg
ICAgICAgICAgICAgIHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOwpAQCAtMjM0LDYgKzI0Niw4
IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRh
dGUoKSBjb25zdAogCiAgICAgICAgIGlmICgocC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0cmVh
bSgpICE9IGRvd25zdHJlYW1TdGFydCkgfHwgcC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVuZE9m
VHJlZSgpKQogICAgICAgICAgICAgcmV0dXJuIHA7CisKKyAgICAgICAgQVNTRVJUKHAgIT0gbV9k
ZWVwUG9zaXRpb24pOwogICAgIH0KIH0KIApAQCAtMjc2LDYgKzI5MCwxNSBAQCBQb3NpdGlvbiBW
aXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAg
ICAgICAgICAgICBpZiAoKHJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzQlIo
KSkgJiYgb2Zmc2V0ID09IGJveC0+Y2FyZXRMZWZ0bW9zdE9mZnNldCgpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBib3gtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG5leHRWaXN1YWxseURp
c3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5j
dENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7CiAKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXIt
Pm5vZGUoKSkgeworICAgICAgICAgICAgICAgIGJveCA9IGJveC0+bmV4dExlYWZDaGlsZCgpOwor
ICAgICAgICAgICAgICAgIGlmICghYm94KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJp
bWFyeURpcmVjdGlvbiA9PSBMVFIgPyBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2Rl
ZXBQb3NpdGlvbikgOiBwcmV2aW91c1Zpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9z
aXRpb24pOworICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOworICAg
ICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+Y2FyZXRMZWZ0bW9zdE9mZnNldCgpOworICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBvZmZzZXQg
PSBib3gtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IHJlbmRlcmVyLT5uZXh0T2Zmc2V0KG9m
ZnNldCkgOiByZW5kZXJlci0+cHJldmlvdXNPZmZzZXQob2Zmc2V0KTsKIAogICAgICAgICAgICAg
aW50IGNhcmV0TWluT2Zmc2V0ID0gYm94LT5jYXJldE1pbk9mZnNldCgpOwpAQCAtMzIyLDYgKzM0
NSw3IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2Fu
ZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICBpZiAobmV4dEJv
eC0+YmlkaUxldmVsKCkgPj0gbGV2ZWwpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCkBA
IC0zNDQsMTAgKzM2OCwxNCBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OnJpZ2h0VmlzdWFs
bHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIHdoaWxlIChuZXh0Qm94ICYmICFuZXh0Qm94LT5y
ZW5kZXJlcigpLT5ub2RlKCkpCisgICAgICAgICAgICAgICAgbmV4dEJveCA9IG5leHRCb3gtPm5l
eHRMZWFmQ2hpbGQoKTsKKwogICAgICAgICAgICAgaWYgKG5leHRCb3gpIHsKICAgICAgICAgICAg
ICAgICBib3ggPSBuZXh0Qm94OwogICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gYm94LT5yZW5k
ZXJlcigpOwogICAgICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+Y2FyZXRMZWZ0bW9zdE9mZnNl
dCgpOworCiAgICAgICAgICAgICAgICAgaWYgKGJveC0+YmlkaUxldmVsKCkgPiBsZXZlbCkgewog
ICAgICAgICAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0Qm94
ID0gbmV4dEJveC0+bmV4dExlYWZDaGlsZCgpOwpAQCAtMzg2LDYgKzQxNCw4IEBAIFBvc2l0aW9u
IFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QK
IAogICAgICAgICBpZiAoKHAuaXNDYW5kaWRhdGUoKSAmJiBwLmRvd25zdHJlYW0oKSAhPSBkb3du
c3RyZWFtU3RhcnQpIHx8IHAuYXRTdGFydE9mVHJlZSgpIHx8IHAuYXRFbmRPZlRyZWUoKSkKICAg
ICAgICAgICAgIHJldHVybiBwOworCisgICAgICAgIEFTU0VSVChwICE9IG1fZGVlcFBvc2l0aW9u
KTsKICAgICB9CiB9CiAK
</data>
<flag name="review"
          id="108983"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="108984"
          type_id="3"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111221</attachid>
            <date>2011-10-17 01:04:25 -0700</date>
            <delta_ts>2011-10-17 02:17:41 -0700</delta_ts>
            <desc>Updated on patch 111217</desc>
            <filename>W_10123.patch</filename>
            <type>text/plain</type>
            <size>15449</size>
            <attacher name="Rosen Dash">rosen.dash</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MDFlMGYxLi5kYWY1OTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAt
MTMgIFJvc2VuIERhc2ggIDxyb3Nlbi5kYXNoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICB3aGVu
IENTUyBwc2V1ZG8gc2VsZWN0b3JzIGFyZSBhcHBsaWVkICg6YmVmb3JlIGFuZCA6YWZ0ZXIpIHRo
ZSAqLW9mLWxpbmUga2V5Ym9hcmQgbmF2aWdhdGlvbiBkb2VzIG5vdCB3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24v
Y3NzLXBzZXVkby1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQu
aHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMTMgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZWQgR1RLIFNWRyB0
ZXN0IHJlc3VsdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nz
cy1wc2V1ZG8tZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmI5MmIzOWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzQgQEAKK1RvIG1hbnVhbGx5IHRlc3Qgc2VsZWN0IHRleHQgYmVsb3cgYnkgbW91c2UgYW5k
IHVzZSByaWdodCBhcnJvdyBrZXkgdG8gbmF2aWdhdGUgYWNyb3NzIHRoZSBxdW90ZXMuIFRoZSBj
YXJldCBzaG91bGQgbW92ZSB0byB0aGUgcmlnaHQgb2YgcXVvdGUuCisKK3ByZWNlZGluZyB0ZXh0
IGNvbnRlbnQgZm9sbG93aW5nIHRleHQKK9in2LHYr9mIINmI2pEg2b7YsdmI2LPbjNiz2LHYsyDZ
vtixINiq2KjYtdixCitwcmVjZWRpbmcgdGV4dCBjb250ZW50IGZvbGxvd2luZyB0ZXh0CivYp9ix
2K/ZiCDZiNqRINm+2LHZiNiz24zYs9ix2LMg2b7YsSDYqtio2LXYsQorUEFTUyAxIGlzIDEKK1BB
U1MgMTYgaXMgMTYKK1BBU1MgMSBpcyAxCitQQVNTIDcgaXMgNworUEFTUyAxIGlzIDEKK1BBU1Mg
OSBpcyA5CitQQVNTIDggaXMgOAorUEFTUyA5IGlzIDkKK1BBU1MgMSBpcyAxCitQQVNTIDExIGlz
IDExCitQQVNTIDEwIGlzIDEwCitQQVNTIDExIGlzIDExCitQQVNTIDEgaXMgMQorUEFTUyAxNiBp
cyAxNgorUEFTUyAxIGlzIDEKK1BBU1MgNyBpcyA3CitQQVNTIDEwIGlzIDEwCitQQVNTIDkgaXMg
OQorUEFTUyA4IGlzIDgKK1BBU1MgOSBpcyA5CitQQVNTIDEgaXMgMQorUEFTUyAxMSBpcyAxMQor
UEFTUyAxIGlzIDEKK1BBU1MgMTEgaXMgMTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNldWRvLWVsZW1lbnQtaGFuZy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY5NjRlZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1o
YW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIHdlYnBhZ2Ugc2hvdWxkIG5v
dCBoYW5nIHdoZW4gd2UgdHJ5IHRvIG1vdmUgYmV5b25kIHRoZSBxdW90ZXMuCisKK2NvbnRlbnQK
K2Fjb250ZW50YQorY29udGVudAorYWNvbnRlbnRhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVtZW50LWhhbmcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxNDk4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Nzcy1wc2V1ZG8tZWxlbWVudC1oYW5nLmh0bWwKQEAg
LTAsMCArMSw3OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAv
KiBwZXJ0aW5lbnQgdG8gdGVzdCBjYXNlcyAqLworLnF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICIq
IjsgfQorLnF1b3RlOmFmdGVyIHsgY29udGVudDogIioiOyB9CisKKy5iaWRpOmJlZm9yZSB7IGNv
bnRlbnQ6ICJh16RiIjsgfQorLmJpZGk6YWZ0ZXIgeyBjb250ZW50OiAiYdekYiI7IH0KKzwvc3R5
bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgd2Vi
cGFnZSBzaG91bGQgbm90IGhhbmcgd2hlbiB3ZSB0cnkgdG8gbW92ZSBiZXlvbmQgdGhlIHF1b3Rl
cy48L3A+CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0idGVzdDEiPgorPHNwYW4g
Y2xhc3M9InF1b3RlIj5jb250ZW50PC9zcGFuPgorPC9kaXY+CisKKzxkaXYgY29udGVudGVkaXRh
YmxlPSJ0cnVlIiBpZD0idGVzdDIiPgorYTxzcGFuIGNsYXNzPSJxdW90ZSI+Y29udGVudDwvc3Bh
bj5hCis8L2Rpdj4KKworPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJ0ZXN0MyI+Cis8
c3BhbiBjbGFzcz0iYmlkaSI+Y29udGVudDwvc3Bhbj4KKzwvZGl2PgorCis8ZGl2IGNvbnRlbnRl
ZGl0YWJsZT0idHJ1ZSIgaWQ9InRlc3Q0Ij4KK2E8c3BhbiBjbGFzcz0iYmlkaSI+Y29udGVudDwv
c3Bhbj5hCis8L2Rpdj4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpOworZWRpdC5mb2N1cygp
OworCitmb3IgKHZhciBpID0gMDsgaSA8IDk7ICsraSkgCisgICAgd2luZG93LmdldFNlbGVjdGlv
bigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKKworZm9yICh2YXIgaSA9
IDA7IGkgPCA5OyArK2kpCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScs
ICdsZWZ0JywgJ2NoYXJhY3RlcicpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0MicpOworZWRpdC5mb2N1cygpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDExOyAr
K2kpCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdj
aGFyYWN0ZXInKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMTsgKytpKQorICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKKwordmFy
IGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKTsKK2VkaXQuZm9jdXMoKTsK
KworZm9yICh2YXIgaSA9IDA7IGkgPCA5OyArK2kpIAorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgOTsgKytpKQorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
bGVmdCcsICdjaGFyYWN0ZXInKTsKKwordmFyIGVkaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdDQnKTsKK2VkaXQuZm9jdXMoKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMTsgKytp
KQorICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hh
cmFjdGVyJyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTE7ICsraSkKKyAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBz
ZXVkby1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jc3MtcHNl
dWRvLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmY4
ZjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY3Nz
LXBzZXVkby1lbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxMjIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4gLyogcGVydGluZW50IHRvIHRlc3QgY2FzZXMgKi8KKyAu
cXVvdGU6YmVmb3JlIHsgY29udGVudDogIlwiIjsgfQorIC5xdW90ZTphZnRlciB7IGNvbnRlbnQ6
ICJcIiI7IH0KKyAKKyAuYmlkaTpiZWZvcmUgeyBjb250ZW50OiAiYdekYiI7IH0KKyAuYmlkaTph
ZnRlciB7IGNvbnRlbnQ6ICJh16RiIjsgfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+VG8gbWFudWFsbHkgdGVzdCBzZWxlY3QgdGV4dCBiZWxv
dyBieSBtb3VzZSBhbmQgdXNlIHJpZ2h0IGFycm93IGtleSB0byBuYXZpZ2F0ZSBhY3Jvc3MgdGhl
IHF1b3Rlcy4gVGhlIGNhcmV0IHNob3VsZCBtb3ZlIHRvIHRoZSByaWdodCBvZiBxdW90ZS48L3A+
CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0ibHRyIj4KK3ByZWNlZGluZyB0ZXh0
Cis8c3BhbiBjbGFzcz0icXVvdGUiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAorPC9k
aXY+CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsIj4KKyYjMTU3NTsmIzE1
ODU7JiMxNTgzOyYjMTYwODsgJiMxNjA4OyYjMTY4MTsKKzxzcGFuIGNsYXNzPSJxdW90ZSI+JiMx
NjYyOyYjMTU4NTsmIzE2MDg7JiMxNTg3OyYjMTc0MDsmIzE1ODc7JiMxNTg1OyYjMTU4NzsgJiMx
NjYyOyYjMTU4NTs8L3NwYW4+CismIzE1Nzg7JiMxNTc2OyYjMTU4OTsmIzE1ODU7Cis8L2Rpdj4K
KworPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJsdHItYmlkaSI+CitwcmVjZWRpbmcg
dGV4dAorPHNwYW4gY2xhc3M9ImJpZGkiPmNvbnRlbnQ8L3NwYW4+Citmb2xsb3dpbmcgdGV4dAor
PC9kaXY+CisKKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icnRsLWJpZGkiPgorJiMx
NTc1OyYjMTU4NTsmIzE1ODM7JiMxNjA4OyAmIzE2MDg7JiMxNjgxOworPHNwYW4gY2xhc3M9ImJp
ZGkiPiYjMTY2MjsmIzE1ODU7JiMxNjA4OyYjMTU4NzsmIzE3NDA7JiMxNTg3OyYjMTU4NTsmIzE1
ODc7ICYjMTY2MjsmIzE1ODU7PC9zcGFuPgorJiMxNTc4OyYjMTU3NjsmIzE1ODk7JiMxNTg1Owor
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBlZGl0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x0cicpOworZWRpdC5mb2N1cygpOword2luZG93Lmdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNlbGVjdGlvbigp
Lm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8o
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3No
b3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmlu
ZygpLCAxNik7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsK
K3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVy
Jyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQu
dG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xl
ZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgNyk7CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3J0bCcpOworZWRpdC5mb2N1cygpOword2luZG93LmdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92
ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEpOword2luZG93LmdldFNlbGVjdGlv
bigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRl
VG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA5KTsKK3dp
bmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7
CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9T
dHJpbmcoKSwgOCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQn
LCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5h
bmNob3JPZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQ
b3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAn
bGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlv
bigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5t
b2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOword2luZG93
LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3No
b3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmlu
ZygpLCAxMCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAn
Y2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNo
b3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOworCit2YXIgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsdHItYmlkaScpOworZWRpdC5mb2N1cygpOword2luZG93LmdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKGVkaXQsIDEpOword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92
ZScsICdyaWdodCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNl
bGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxKTsKK3dpbmRvdy5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRl
VG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCAxNik7CisK
K3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlZGl0LCAyKTsKK3dpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRF
dmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwg
MSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFj
dGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZz
ZXQudG9TdHJpbmcoKSwgNyk7CisKK3ZhciBlZGl0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3J0bC1iaWRpJyk7CitlZGl0LmZvY3VzKCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9z
aXRpb24oZWRpdCwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgJ3Jp
Z2h0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZhbHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEwKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5t
b2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2lu
ZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygpLCA5KTsKK3dpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAnbGVmdCcsICdjaGFyYWN0ZXInKTsKK3Nob3Vs
ZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldC50b1N0cmluZygp
LCA4KTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQnLCAnY2hh
cmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JP
ZmZzZXQudG9TdHJpbmcoKSwgOSk7CisKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlv
bihlZGl0LCAyKTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUnLCAncmlnaHQn
LCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5h
bmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMSk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5
KCdtb3ZlJywgJ2xlZnQnLCAnY2hhcmFjdGVyJyk7CitzaG91bGRFdmFsdWF0ZVRvKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQudG9TdHJpbmcoKSwgMTEpOword2luZG93LmdldFNl
bGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdsZWZ0JywgJ2NoYXJhY3RlcicpOworc2hvdWxkRXZh
bHVhdGVUbyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0LnRvU3RyaW5nKCksIDEp
Oword2luZG93LmdldFNlbGVjdGlvbigpLm1vZGlmeSgnbW92ZScsICdyaWdodCcsICdjaGFyYWN0
ZXInKTsKK3Nob3VsZEV2YWx1YXRlVG8od2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNl
dC50b1N0cmluZygpLCAxMSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFjZjg4Yjcu
LmNhZWE0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0xMC0xMyAgUm9zZW4g
RGFzaCAgPHJvc2VuLmRhc2hAbW90b3JvbGEuY29tPgorCisgICAgICAgIHdoZW4gQ1NTIHBzZXVk
byBzZWxlY3RvcnMgYXJlIGFwcGxpZWQgKDpiZWZvcmUgYW5kIDphZnRlcikgdGhlICotb2YtbGlu
ZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGRvZXMgbm90IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRyZXNzZXMgZm9sbGxvd2lu
ZyB0d28gaXNzdWVzOgorICAgICAgICAxLiBXaGVuIENTUyBwc2V1ZG8gZWxlbWVudHMgYXJlIGJl
Zm9yZSBvciBhZnRlciBpcyB1c2VkIHdpdGggY29udGVudCBhdHRyaWJ1dGUgY29udGFpbmluZyBz
aW5nbGUgY2hhcmFjdGVyCisgICAgICAgICAgIGF0IHRoZSBzdGFydC9lbmQgb2YgdGV4dCBhbmQg
d2UgdHJ5IHRvIG1vdmUgY3Vyc29yIGJ5IHJpZ2h0IG5hdmlnYXRpb24ga2V5LCB0aGUgcGFnZSBm
cmVlemVzIGZhbGxpbmcKKyAgICAgICAgICAgaW50byBhbiBpbmZpbml0ZSBsb29wLgorICAgICAg
ICAyLiBXaGVuIHRoZXNlIGVsZW1lbnRzIHRyeSB0byBpbnNlcnQgc29tZSB0ZXh0IGJldHdlZW4g
YSB0ZXh0IGxpbmUsIG5hdmlnYXRpb24gYnkgcmlnaHQvbGVmdCBhcnJvdyBrZXkgaXMgcHJvaGli
aXRlZC4KKworICAgICAgICBUZXN0czogZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVkby1lbGVt
ZW50LWhhbmcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY3NzLXBzZXVk
by1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RD
YW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3Vh
bGx5RGlzdGluY3RDYW5kaWRhdGUpOgorCiAyMDExLTEwLTEzICBNaWtoYWlsIE5hZ2Fub3YgIDxt
bmFnYW5vdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0Nocm9taXVt
XSBBZGQgYW4gYWJpbGl0eSB0byBsb29rIHVwIGFuZCBleHBsb3JlIGFuIG9iamVjdCBmcm9tIGEg
aGVhcCBwcm9maWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxl
UG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3Bw
CmluZGV4IDRlMjkzNjUuLjgxMTY4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVBvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2li
bGVQb3NpdGlvbi5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMTI1LDYgKzEyNiwxNSBAQCBQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OmxlZnRWaXN1
YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgIGlmICgocmVuZGVyZXIt
PmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNCUigpKSAmJiBvZmZzZXQgPT0gYm94LT5jYXJl
dFJpZ2h0bW9zdE9mZnNldCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBib3gtPmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSA/IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2Rl
ZXBQb3NpdGlvbikgOiBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlv
bik7CiAKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXItPm5vZGUoKSkgeworICAgICAgICAgICAg
ICAgIGJveCA9IGJveC0+cHJldkxlYWZDaGlsZCgpOworICAgICAgICAgICAgICAgIGlmICghYm94
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJpbWFyeURpcmVjdGlvbiA9PSBMVFIgPyBw
cmV2aW91c1Zpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pIDogbmV4dFZp
c3VhbGx5RGlzdGluY3RDYW5kaWRhdGUobV9kZWVwUG9zaXRpb24pOworICAgICAgICAgICAgICAg
IHJlbmRlcmVyID0gYm94LT5yZW5kZXJlcigpOworICAgICAgICAgICAgICAgIG9mZnNldCA9IGJv
eC0+Y2FyZXRSaWdodG1vc3RPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgb2Zmc2V0ID0gYm94LT5pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCkgPyByZW5kZXJlci0+cHJldmlvdXNPZmZzZXQob2Zmc2V0KSA6IHJlbmRlcmVyLT5u
ZXh0T2Zmc2V0KG9mZnNldCk7CiAKICAgICAgICAgICAgIGludCBjYXJldE1pbk9mZnNldCA9IGJv
eC0+Y2FyZXRNaW5PZmZzZXQoKTsKQEAgLTE5Miw2ICsyMDIsOSBAQCBQb3NpdGlvbiBWaXNpYmxl
UG9zaXRpb246OmxlZnRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgd2hpbGUgKHBy
ZXZCb3ggJiYgIXByZXZCb3gtPnJlbmRlcmVyKCktPm5vZGUoKSkKKyAgICAgICAgICAgICAgICBw
cmV2Qm94ID0gcHJldkJveC0+cHJldkxlYWZDaGlsZCgpOworCiAgICAgICAgICAgICBpZiAocHJl
dkJveCkgewogICAgICAgICAgICAgICAgIGJveCA9IHByZXZCb3g7CiAgICAgICAgICAgICAgICAg
cmVuZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CkBAIC0yMzQsNiArMjQ3LDggQEAgUG9zaXRpb24g
VmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiAK
ICAgICAgICAgaWYgKChwLmlzQ2FuZGlkYXRlKCkgJiYgcC5kb3duc3RyZWFtKCkgIT0gZG93bnN0
cmVhbVN0YXJ0KSB8fCBwLmF0U3RhcnRPZlRyZWUoKSB8fCBwLmF0RW5kT2ZUcmVlKCkpCiAgICAg
ICAgICAgICByZXR1cm4gcDsKKworICAgICAgICBBU1NFUlQocCAhPSBtX2RlZXBQb3NpdGlvbik7
CiAgICAgfQogfQogCkBAIC0yNzYsNiArMjkxLDE1IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlv
bjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgIGlm
ICgocmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNCUigpKSAmJiBvZmZzZXQg
PT0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGJv
eC0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRh
dGUobV9kZWVwUG9zaXRpb24pIDogcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1f
ZGVlcFBvc2l0aW9uKTsKIAorICAgICAgICAgICAgaWYgKCFyZW5kZXJlci0+bm9kZSgpKSB7Cisg
ICAgICAgICAgICAgICAgYm94ID0gYm94LT5uZXh0TGVhZkNoaWxkKCk7CisgICAgICAgICAgICAg
ICAgaWYgKCFib3gpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmltYXJ5RGlyZWN0aW9u
ID09IExUUiA/IG5leHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVlcFBvc2l0aW9uKSA6
IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShtX2RlZXBQb3NpdGlvbik7CisgICAg
ICAgICAgICAgICAgcmVuZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CisgICAgICAgICAgICAgICAg
b2Zmc2V0ID0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIG9mZnNldCA9IGJveC0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpID8gcmVuZGVyZXItPm5leHRPZmZzZXQob2Zmc2V0KSA6IHJlbmRl
cmVyLT5wcmV2aW91c09mZnNldChvZmZzZXQpOwogCiAgICAgICAgICAgICBpbnQgY2FyZXRNaW5P
ZmZzZXQgPSBib3gtPmNhcmV0TWluT2Zmc2V0KCk7CkBAIC0zMjIsNiArMzQ2LDcgQEAgUG9zaXRp
b24gVmlzaWJsZVBvc2l0aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25z
dAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgIGlmIChuZXh0Qm94LT5iaWRpTGV2ZWwo
KSA+PSBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTM0NCwxMCArMzY5
LDE0IEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2Fu
ZGlkYXRlKCkgY29uc3QKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0K
IAorICAgICAgICAgICAgd2hpbGUgKG5leHRCb3ggJiYgIW5leHRCb3gtPnJlbmRlcmVyKCktPm5v
ZGUoKSkKKyAgICAgICAgICAgICAgICBuZXh0Qm94ID0gbmV4dEJveC0+bmV4dExlYWZDaGlsZCgp
OworCiAgICAgICAgICAgICBpZiAobmV4dEJveCkgewogICAgICAgICAgICAgICAgIGJveCA9IG5l
eHRCb3g7CiAgICAgICAgICAgICAgICAgcmVuZGVyZXIgPSBib3gtPnJlbmRlcmVyKCk7CiAgICAg
ICAgICAgICAgICAgb2Zmc2V0ID0gYm94LT5jYXJldExlZnRtb3N0T2Zmc2V0KCk7CisKICAgICAg
ICAgICAgICAgICBpZiAoYm94LT5iaWRpTGV2ZWwoKSA+IGxldmVsKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRCb3ggPSBuZXh0Qm94LT5u
ZXh0TGVhZkNoaWxkKCk7CkBAIC0zODYsNiArNDE1LDggQEAgUG9zaXRpb24gVmlzaWJsZVBvc2l0
aW9uOjpyaWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdAogCiAgICAgICAgIGlm
ICgocC5pc0NhbmRpZGF0ZSgpICYmIHAuZG93bnN0cmVhbSgpICE9IGRvd25zdHJlYW1TdGFydCkg
fHwgcC5hdFN0YXJ0T2ZUcmVlKCkgfHwgcC5hdEVuZE9mVHJlZSgpKQogICAgICAgICAgICAgcmV0
dXJuIHA7CisKKyAgICAgICAgQVNTRVJUKHAgIT0gbV9kZWVwUG9zaXRpb24pOwogICAgIH0KIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>