<?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>67510</bug_id>
          
          <creation_ts>2011-09-02 11:21:00 -0700</creation_ts>
          <short_desc>Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction</short_desc>
          <delta_ts>2013-09-06 15:35:51 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>68202</dependson>
          <blocked>120901</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>aroben</cc>
    
    <cc>eoconnor</cc>
    
    <cc>jeffm</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>461360</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-02 11:21:00 -0700</bug_when>
    <thetext>Code inspection shows that doing the copy() when there is no valueFunction (e.g., doing a matrix animation) can cause a crash on Windows, using CACF. It will ask CACF for the valueFunction name of a null valueFunction and there are no null checks in place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461375</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-02 11:35:30 -0700</bug_when>
    <thetext>I&apos;m making a test case now to show the crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461426</commentid>
    <comment_count>2</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-09-02 12:30:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/10033897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461644</commentid>
    <comment_count>3</comment_count>
      <attachid>106226</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-02 17:04:38 -0700</bug_when>
    <thetext>Created attachment 106226
Patch with testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461647</commentid>
    <comment_count>4</comment_count>
      <attachid>106226</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-02 17:09:35 -0700</bug_when>
    <thetext>Comment on attachment 106226
Patch with testcase

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

&gt; LayoutTests/animations/pause-crash.html:38
&gt; +        setTimeout(function() {
&gt; +            document.getElementById(&apos;box1&apos;).style.webkitAnimationPlayState = &quot;paused&quot;;
&gt; +            setTimeout(function() {
&gt; +                document.getElementById(&apos;box1&apos;).style.webkitAnimationPlayState = &quot;running&quot;;
&gt; +                setTimeout(function() {
&gt; +                    document.getElementById(&apos;results&apos;).innerHTML = &apos;Did not crash, so PASSED&apos;;
&gt; +                    if (window.layoutTestController)
&gt; +                        layoutTestController.notifyDone();
&gt; +                }, 100);
&gt; +            }, 100);
&gt; +        }, 100);

Seems like you could reduce these timeouts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462147</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-05 06:58:34 -0700</bug_when>
    <thetext>Timeouts reduced to 50ms each</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462149</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-05 07:02:03 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/94471</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463840</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-07 19:51:21 -0700</bug_when>
    <thetext>There is a still a crash later in the process of copying the animation. Patch coming soon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464078</commentid>
    <comment_count>8</comment_count>
      <attachid>106746</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-08 08:52:21 -0700</bug_when>
    <thetext>Created attachment 106746
Additional patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464097</commentid>
    <comment_count>9</comment_count>
      <attachid>106746</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-08 09:33:51 -0700</bug_when>
    <thetext>Comment on attachment 106746
Additional patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Another fix to take care of one last crash when running pause-crash.html.

pause-crash.html isn&apos;t crashing on the build.webkit.org bots. Do you know why? Do we need some other test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467985</commentid>
    <comment_count>10</comment_count>
      <attachid>107526</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-15 12:12:10 -0700</bug_when>
    <thetext>Created attachment 107526
2nd Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467994</commentid>
    <comment_count>11</comment_count>
      <attachid>107530</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-15 12:26:19 -0700</bug_when>
    <thetext>Created attachment 107530
2nd Patch with vcproj file to avoid build issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467996</commentid>
    <comment_count>12</comment_count>
      <attachid>107530</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-15 12:28:42 -0700</bug_when>
    <thetext>Comment on attachment 107530
2nd Patch with vcproj file to avoid build issue

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

&gt; Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp:90
&gt; +    void* savedExceptionRegistration;
&gt; +    __asm mov eax, FS:[0]
&gt; +    __asm mov [savedExceptionRegistration], EAX
&gt; +    __asm mov eax, 0xffffffff
&gt; +    __asm mov FS:[0], EAX
&gt; +
&gt; +    LRESULT result = shared().hookFired(code, wParam, lParam);
&gt; +
&gt; +    // Restore the exception handler
&gt; +    __asm mov EAX, [savedExceptionRegistration]
&gt; +    __asm mov FS:[0], EAX

Can this goop be moved to inline helper functions, that perhaps can be shared with other files? It&apos;s pretty mysterious that we only need it in this one place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467998</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-15 12:29:23 -0700</bug_when>
    <thetext>Attachment 107530 did not pass style-queue:

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

Source/WebCore/ChangeLog:17:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp:82:  Extra space before [  [whitespace/braces] [5]
Total errors found: 2 in 4 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>468011</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-15 12:51:46 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 107530 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107530&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp:90
&gt; &gt; +    void* savedExceptionRegistration;
&gt; &gt; +    __asm mov eax, FS:[0]
&gt; &gt; +    __asm mov [savedExceptionRegistration], EAX
&gt; &gt; +    __asm mov eax, 0xffffffff
&gt; &gt; +    __asm mov FS:[0], EAX
&gt; &gt; +
&gt; &gt; +    LRESULT result = shared().hookFired(code, wParam, lParam);
&gt; &gt; +
&gt; &gt; +    // Restore the exception handler
&gt; &gt; +    __asm mov EAX, [savedExceptionRegistration]
&gt; &gt; +    __asm mov FS:[0], EAX
&gt; 
&gt; Can this goop be moved to inline helper functions, that perhaps can be shared with other files? It&apos;s pretty mysterious that we only need it in this one place.

The only other place this sort of thing is done is in the equivalent Flusher in Safari. I didn&apos;t want to do it there because I don&apos;t know anything about that code and whether it might need the existing behavior. 

I can move it to a more common place. But I don&apos;t know where that would be. Adam?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468075</commentid>
    <comment_count>15</comment_count>
      <attachid>107530</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-15 14:17:24 -0700</bug_when>
    <thetext>Comment on attachment 107530
2nd Patch with vcproj file to avoid build issue

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

&gt; Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp:79
&gt; +    // When a hook is called, Windows puts an __try/__except block around the call.
&gt; +    // The exception handler then ignores system exceptions like invalid addresses
&gt; +    // and null pointers. But we want to catch these and crash so we can generate
&gt; +    // crashlogs for debugging the error. So for the duration of the call we replace
&gt; +    // the Windows exception handler with 0xffffffff, which indicates that the
&gt; +    // exception should not be handled but should crash instead.

It is awesome that this actually worked!

&gt;&gt;&gt; Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp:90
&gt;&gt;&gt; +    __asm mov FS:[0], EAX
&gt;&gt; 
&gt;&gt; Can this goop be moved to inline helper functions, that perhaps can be shared with other files? It&apos;s pretty mysterious that we only need it in this one place.
&gt; 
&gt; The only other place this sort of thing is done is in the equivalent Flusher in Safari. I didn&apos;t want to do it there because I don&apos;t know anything about that code and whether it might need the existing behavior. 
&gt; 
&gt; I can move it to a more common place. But I don&apos;t know where that would be. Adam?

Hmm...Probably a new .h file in platform/win would be most appropriate. Maybe we should use RAII, too? Something like &quot;class StructedExceptionHandlerSuppressor&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468140</commentid>
    <comment_count>16</comment_count>
      <attachid>107559</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-15 16:14:37 -0700</bug_when>
    <thetext>Created attachment 107559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468144</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-15 16:17:48 -0700</bug_when>
    <thetext>Attachment 107559 did not pass style-queue:

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

Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:49:  Extra space before [  [whitespace/braces] [5]
Total errors found: 1 in 5 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>468152</commentid>
    <comment_count>18</comment_count>
      <attachid>107559</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-15 16:26:22 -0700</bug_when>
    <thetext>Comment on attachment 107559
Patch

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

Very nice!

&gt; Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:51
&gt; +        __asm mov eax, 0xffffffff
&gt; +        __asm mov FS:[0], EAX

eax vs. EAX; which one? (Ditto on lines 48 and 49.)

&gt; Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:59
&gt; +        __asm mov EAX, [m_savedExceptionRegistration]

Weird that you can read from but not write to member variables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468162</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-15 16:50:59 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/95243</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468176</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-15 17:32:58 -0700</bug_when>
    <thetext>This broke the Windows build, attempted fix in http://trac.webkit.org/changeset/95246</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469454</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-19 09:43:11 -0700</bug_when>
    <thetext>Reopening to fix the Windows build breakage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469487</commentid>
    <comment_count>22</comment_count>
      <attachid>107878</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-19 10:21:28 -0700</bug_when>
    <thetext>Created attachment 107878
Resubmission of patch to get ews bot to compile it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469489</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 10:24:16 -0700</bug_when>
    <thetext>Attachment 107878 did not pass style-queue:

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

Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:49:  Extra space before [  [whitespace/braces] [5]
Total errors found: 1 in 5 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>469661</commentid>
    <comment_count>24</comment_count>
      <attachid>107915</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-19 13:47:17 -0700</bug_when>
    <thetext>Created attachment 107915
Patch to fix build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469663</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 13:50:11 -0700</bug_when>
    <thetext>Attachment 107915 did not pass style-queue:

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

Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:52:  Extra space before [  [whitespace/braces] [5]
Total errors found: 1 in 5 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>469667</commentid>
    <comment_count>26</comment_count>
      <attachid>107915</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-19 13:55:37 -0700</bug_when>
    <thetext>Comment on attachment 107915
Patch to fix build

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

&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:27330
&gt; +                &lt;File
&gt; +                    RelativePath=&quot;..\platform\win\StructuredExceptionHandlerSupressor.h&quot;
&gt; +                    &gt;
&gt; +                &lt;/File&gt;

Indentation looks screwy here.

&gt; Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:45
&gt; +        // Windows puts an __try/__except block around some calls, such as hooks.
&gt; +        // The exception handler then ignores system exceptions like invalid addresses
&gt; +        // and null pointers. This class can be used to remove this block and prevent
&gt; +        // it from catching the exception. Typically this will cause the exception to crash 
&gt; +        // which is often desirable to allow crashlogs to be recorded for debugging purposed.
&gt; +        // While this class is in scope we replace the Windows exception handler with 0xffffffff, 
&gt; +        // which indicates that the exception should not be handled.

It would be good to include a link to the article that explains the 0xffffffff and FS:[0] stuff.

&gt;&gt; Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:52
&gt;&gt; +        __asm mov [registration], eax
&gt; 
&gt; Extra space before [  [whitespace/braces] [5]

You should file a bug about the style checker getting this wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469691</commentid>
    <comment_count>27</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-19 14:34:01 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 107915 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107915&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:27330
&gt; &gt; +                &lt;File
&gt; &gt; +                    RelativePath=&quot;..\platform\win\StructuredExceptionHandlerSupressor.h&quot;
&gt; &gt; +                    &gt;
&gt; &gt; +                &lt;/File&gt;
&gt; 
&gt; Indentation looks screwy here.

Looking at the vcproj file, the indentation matches all the files around it.

&gt; 
&gt; &gt; Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:45
&gt; &gt; +        // Windows puts an __try/__except block around some calls, such as hooks.
&gt; &gt; +        // The exception handler then ignores system exceptions like invalid addresses
&gt; &gt; +        // and null pointers. This class can be used to remove this block and prevent
&gt; &gt; +        // it from catching the exception. Typically this will cause the exception to crash 
&gt; &gt; +        // which is often desirable to allow crashlogs to be recorded for debugging purposed.
&gt; &gt; +        // While this class is in scope we replace the Windows exception handler with 0xffffffff, 
&gt; &gt; +        // which indicates that the exception should not be handled.
&gt; 
&gt; It would be good to include a link to the article that explains the 0xffffffff and FS:[0] stuff.

Will do

&gt; 
&gt; &gt;&gt; Source/WebCore/platform/win/StructuredExceptionHandlerSupressor.h:52
&gt; &gt;&gt; +        __asm mov [registration], eax
&gt; &gt; 
&gt; &gt; Extra space before [  [whitespace/braces] [5]
&gt; 
&gt; You should file a bug about the style checker getting this wrong.

Will do</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469694</commentid>
    <comment_count>28</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-19 14:37:35 -0700</bug_when>
    <thetext>Opened https://bugs.webkit.org/show_bug.cgi?id=68391 for the bogus style message in the Windows assembly line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469704</commentid>
    <comment_count>29</comment_count>
      <attachid>107915</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-19 14:48:44 -0700</bug_when>
    <thetext>Comment on attachment 107915
Patch to fix build

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

&gt;&gt;&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:27330
&gt;&gt;&gt; +                &lt;/File&gt;
&gt;&gt; 
&gt;&gt; Indentation looks screwy here.
&gt; 
&gt; Looking at the vcproj file, the indentation matches all the files around it.

It looks like you&apos;re using spaces while the rest of the file uses tabs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470862</commentid>
    <comment_count>30</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-09-21 09:21:05 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/95479 with build fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106226</attachid>
            <date>2011-09-02 17:04:38 -0700</date>
            <delta_ts>2011-09-08 08:52:21 -0700</delta_ts>
            <desc>Patch with testcase</desc>
            <filename>bug67510.patch</filename>
            <type>text/plain</type>
            <size>5579</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NDYxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDktMDIgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzUxMAorICAgICAgICBDcmFzaCBjYW4gb2NjdXIgd2hlbiBk
b2luZyBhIFBsYXRmb3JtQ0FBbmltYXRpb246OmNvcHkoKSB3aXRoIG5vIHZhbHVlRnVuY3Rpb24K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IERvIGEgbnVsbCBjaGVjayBpbiB0d28gcGxhY2VzIHRvIGF2b2lkIHNlbmRpbmcgbnVsbHMgdG8g
Q0FDRiBWYWx1ZUZ1bmN0aW9uIEFQSS4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL3BhdXNl
LWNyYXNoLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9y
bUNBQW5pbWF0aW9uV2luLmNwcDoKKyAgICAgICAgKFBsYXRmb3JtQ0FBbmltYXRpb246OnZhbHVl
RnVuY3Rpb24pOgorICAgICAgICAoUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0VmFsdWVGdW5jdGlv
bik6CisKIDIwMTEtMDgtMzAgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZWFkIG91dCBvZiBib3VuZHMgaW4gc1VucHJlbXVsdGlwbHlEYXRhX1JHQkE4
ODg4IC8gSW1hZ2VCdWZmZXJEYXRhOjpnZXREYXRhCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FB
bmltYXRpb25XaW4uY3BwCShyZXZpc2lvbiA5NDQyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzE5LDEyICszMTksMTQgQEAKIAogUGxhdGZvcm1DQUFuaW1hdGlvbjo6VmFsdWVG
dW5jdGlvblR5cGUgUGxhdGZvcm1DQUFuaW1hdGlvbjo6dmFsdWVGdW5jdGlvbigpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGZyb21DQUNGVmFsdWVGdW5jdGlvblR5cGUoQ0FDRlZhbHVlRnVuY3Rpb25H
ZXROYW1lKENBQ0ZBbmltYXRpb25HZXRWYWx1ZUZ1bmN0aW9uKG1fYW5pbWF0aW9uLmdldCgpKSkp
OworICAgIENBQ0ZWYWx1ZUZ1bmN0aW9uUmVmIGZ1bmMgPSBDQUNGQW5pbWF0aW9uR2V0VmFsdWVG
dW5jdGlvbihtX2FuaW1hdGlvbi5nZXQoKSk7CisgICAgcmV0dXJuIGZ1bmMgPyBmcm9tQ0FDRlZh
bHVlRnVuY3Rpb25UeXBlKENBQ0ZWYWx1ZUZ1bmN0aW9uR2V0TmFtZShmdW5jKSkgOiBOb1ZhbHVl
RnVuY3Rpb247CiB9CiAKIHZvaWQgUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0VmFsdWVGdW5jdGlv
bihWYWx1ZUZ1bmN0aW9uVHlwZSB2YWx1ZSkKIHsKLSAgICBDQUNGQW5pbWF0aW9uU2V0VmFsdWVG
dW5jdGlvbihtX2FuaW1hdGlvbi5nZXQoKSwgQ0FDRlZhbHVlRnVuY3Rpb25HZXRGdW5jdGlvbldp
dGhOYW1lKHRvQ0FDRlZhbHVlRnVuY3Rpb25UeXBlKHZhbHVlKSkpOworICAgIENGU3RyaW5nUmVm
IHZhbHVlU3RyaW5nID0gdG9DQUNGVmFsdWVGdW5jdGlvblR5cGUodmFsdWUpOworICAgIENBQ0ZB
bmltYXRpb25TZXRWYWx1ZUZ1bmN0aW9uKG1fYW5pbWF0aW9uLmdldCgpLCB2YWx1ZVN0cmluZyA/
IENBQ0ZWYWx1ZUZ1bmN0aW9uR2V0RnVuY3Rpb25XaXRoTmFtZSh2YWx1ZVN0cmluZykgOiAwKTsK
IH0KIAogdm9pZCBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpzZXRGcm9tVmFsdWUoZmxvYXQgdmFsdWUp
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA5NDQ2MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDExLTA5LTAyICBDaHJpcyBNYXJyaW4gIDxj
bWFycmluQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njc1MTAKKyAgICAgICAgQ3Jhc2ggY2FuIG9jY3VyIHdoZW4gZG9pbmcgYSBQ
bGF0Zm9ybUNBQW5pbWF0aW9uOjpjb3B5KCkgd2l0aCBubyB2YWx1ZUZ1bmN0aW9uCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBUZXN0IHRv
IHRpY2tsZSBjcmFzaCB3aGVuIHBhdXNlIGlzIGNhbGxlZC4gQ3VycmVudGx5IGFuaW1hdGlvbi1w
bGF5LXN0YXRlIGlzIGJyb2tlbgorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY3NTQwKSBzbyB0aGlzIHRlc3QgZG9lc24ndCByZWxpYWJseSAKKyAgICAg
ICAgdGlja2xlIHRoZSBjcmFzaCwgYnV0IGl0IGRvZXMgb24gb2NjYXNpb24uCisKKyAgICAgICAg
KiBhbmltYXRpb25zL3BhdXNlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
YW5pbWF0aW9ucy9wYXVzZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMS0wOS0wMiAgRGFuIEJl
cm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85NzU1
ODQzPiBhbm9ueW1vdXMgUmVuZGVyTWF0aE1MT3BlcmF0b3Igc2V0cyBpdHNlbGYgYXMgdGhlIHJl
bmRlcmVyIG9mIGl0cyBwYXJlbnQgbWZlbmNlZCBub2RlCkluZGV4OiBMYXlvdXRUZXN0cy9hbmlt
YXRpb25zL3BhdXNlLWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9hbmltYXRpb25zL3BhdXNlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2FuaW1hdGlvbnMvcGF1c2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDMgQEAKK1Rlc3RzIHBhdXNlIGFuZCByZXN1bWUgYW5pbWF0aW9uLiBTaG91
bGQgbm90IGNyYXNoLiAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3
NTEwKQorCitEaWQgbm90IGNyYXNoLCBzbyBQQVNTRUQKSW5kZXg6IExheW91dFRlc3RzL2FuaW1h
dGlvbnMvcGF1c2UtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hbmltYXRp
b25zL3BhdXNlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9hbmltYXRp
b25zL3BhdXNlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKzxodG1s
PgorPGhlYWQ+CisgIDx0aXRsZT5QYXVzZSBhbmQgcmVzdW1lIGFuaW1hdGlvbiBzaG91bGQgbm90
IGNyYXNoPC90aXRsZT4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
KyAgICAuYm94IHsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICBtYXJnaW46IDEwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAg
LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzOworICAgICAgLXdlYmtpdC1hbmltYXRpb24t
ZGlyZWN0aW9uOiBhbHRlcm5hdGU7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24t
Y291bnQ6IGluZmluaXRlOworICAgIH0KKyAgICAKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgYW5p
bSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4M2QoMSwwLDAsMCwg
MCwxLDAsMCwgMCwwLDEsMCwgMCwwLDAsMSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtdHJh
bnNmb3JtOiBtYXRyaXgzZCgxLDAsMCwwLCAwLDEsMCwwLCAwLDAsMSwwLCA0MDAsMCwwLDEpOyB9
CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hh
cnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYW5p
bWF0aW9uU3RhcnRlZCgpCisgICAgeworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveDEnKS5zdHlsZS53ZWJraXRB
bmltYXRpb25QbGF5U3RhdGUgPSAicGF1c2VkIjsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveDEn
KS5zdHlsZS53ZWJraXRBbmltYXRpb25QbGF5U3RhdGUgPSAicnVubmluZyI7CisgICAgICAgICAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKS5pbm5lckhUTUwgPSAnRGlkIG5vdCBjcmFzaCwg
c28gUEFTU0VEJzsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgICAgICAgICB9LCAxMDApOworICAgICAgICAgICAgfSwgMTAw
KTsKKyAgICAgICAgfSwgMTAwKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gc3RhcnRUZXN0
KCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gxJykuYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0QW5pbWF0aW9uU3RhcnQnLCBhbmltYXRpb25TdGFydGVkKTsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveDEnKS5zdHlsZS53ZWJraXRBbmltYXRp
b25OYW1lID0gImFuaW0iOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgc3RhcnRUZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisK
KzxwPlRlc3RzIHBhdXNlIGFuZCByZXN1bWUgYW5pbWF0aW9uLiBTaG91bGQgbm90IGNyYXNoLiAo
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTEwKTwvcD4KKworPGRp
diBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0iYm94MSIgY2xhc3M9ImJveCI+PC9kaXY+Cis8
L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="102600"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106746</attachid>
            <date>2011-09-08 08:52:21 -0700</date>
            <delta_ts>2011-09-15 12:12:10 -0700</delta_ts>
            <desc>Additional patch</desc>
            <filename>bug67510-2.patch</filename>
            <type>text/plain</type>
            <size>1605</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NzYwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMDggIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIGNhbiBvY2N1ciB3aGVu
IGRvaW5nIGEgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSgpIHdpdGggbm8gdmFsdWVGdW5jdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEFub3RoZXIgZml4IHRvIHRha2UgY2FyZSBvZiBvbmUgbGFzdCBjcmFzaCB3aGVuIHJ1bm5pbmcg
cGF1c2UtY3Jhc2guaHRtbC4KKyAgICAgICAgQ0FDRiBjYW4ndCBkZWFsIHdpdGggbnVsbCB2YWx1
ZUZ1bmN0aW9ucywgc28gYXZvaWQgc2V0dGluZyBpdCB3aGVuIGl0IGRvZXNuJ3QgCisgICAgICAg
IGV4aXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FB
bmltYXRpb25XaW4uY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSk6CisK
IDIwMTEtMDktMDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90IHJlLWNyZWF0ZSBSYXdTb3VyY2VDb2RlIHdo
ZW4gdG9nZ2xpbmcgcHJldHR5LXByaW50IG1vZGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FB
bmltYXRpb25XaW4uY3BwCShyZXZpc2lvbiA5NDQ3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTgzLDcgKzE4Myw4IEBACiAgICAgYW5pbWF0aW9uLT5zZXRSZW1vdmVkT25Db21w
bGV0aW9uKGlzUmVtb3ZlZE9uQ29tcGxldGlvbigpKTsKICAgICBhbmltYXRpb24tPnNldEFkZGl0
aXZlKGlzQWRkaXRpdmUoKSk7CiAgICAgYW5pbWF0aW9uLT5jb3B5VGltaW5nRnVuY3Rpb25Gcm9t
KHRoaXMpOwotICAgIGFuaW1hdGlvbi0+c2V0VmFsdWVGdW5jdGlvbih2YWx1ZUZ1bmN0aW9uKCkp
OworICAgIGlmICh2YWx1ZUZ1bmN0aW9uKCkpCisgICAgICAgIGFuaW1hdGlvbi0+c2V0VmFsdWVG
dW5jdGlvbih2YWx1ZUZ1bmN0aW9uKCkpOwogICAgIAogICAgIC8vIENvcHkgdGhlIHNwZWNpZmlj
IEJhc2ljIG9yIEtleWZyYW1lIHZhbHVlcwogICAgIGlmIChhbmltYXRpb25UeXBlKCkgPT0gS2V5
ZnJhbWUpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107526</attachid>
            <date>2011-09-15 12:12:10 -0700</date>
            <delta_ts>2011-09-15 12:26:19 -0700</delta_ts>
            <desc>2nd Patch</desc>
            <filename>bug67510-2.patch</filename>
            <type>text/plain</type>
            <size>3474</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjA1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDktMTUgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIGNhbiBvY2N1ciB3aGVu
IGRvaW5nIGEgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSgpIHdpdGggbm8gdmFsdWVGdW5jdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEFub3RoZXIgZml4IHRvIHRha2UgY2FyZSBvZiBvbmUgbGFzdCBjcmFzaCB3aGVuIHJ1bm5pbmcg
cGF1c2UtY3Jhc2guaHRtbC4KKyAgICAgICAgQ0FDRiBjYW4ndCBkZWFsIHdpdGggbnVsbCB2YWx1
ZUZ1bmN0aW9ucywgc28gYXZvaWQgc2V0dGluZyBpdCB3aGVuIGl0IGRvZXNuJ3QgCisgICAgICAg
IGV4aXN0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGFkZHMgbG9naWMgdG8gdGhlIFdp
bmRvd3MgSG9vayBpbiBMYXllckNoYW5nZXNGbHVzaGVyIHRvIHByZXZlbnQgaXQKKyAgICAgICAg
ZnJvbSBjYXRjaGluZyB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBnZW5lcmF0ZWQgYnkgdGhl
IHBhdXNlLWNyYXNoLmh0bWwgdGVzdAorICAgICAgICBiZWZvcmUgdGhpcyBidWcgd2FzIGZpeGVk
LiBXaW5kb3dzIHdhcyBpZ25vcmluZyB0aGUgZXhjZXB0aW9uLCBzbyB0aGUgdGVzdGNhc2UKKyAg
ICAgICAgd291bGQgYXBwZWFyIHRvIHN1Y2NlZWQsIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBoYXZl
IGNyYXNoZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFu
Z2VzRmx1c2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNoYW5nZXNGbHVzaGVyOjpo
b29rQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9y
bUNBQW5pbWF0aW9uV2luLmNwcDoKKyAgICAgICAgKFBsYXRmb3JtQ0FBbmltYXRpb246OmNvcHkp
OgorCiAyMDExLTA5LTE1ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZWYgcHJvdGVjdCBIVE1MT2JqZWN0RWxlbWVudCBhbmQgSFRNTEVtYmVkRWxl
bWVudCB3aGlsZSByZXF1ZXN0aW5nIHBsdWdpbnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9MYXllckNoYW5nZXNGbHVzaGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1
c2hlci5jcHAJKHJldmlzaW9uIDk1MjAyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL0xheWVyQ2hhbmdlc0ZsdXNoZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
MSw3ICs3MSwyNSBAQAogCiBMUkVTVUxUIExheWVyQ2hhbmdlc0ZsdXNoZXI6Omhvb2tDYWxsYmFj
ayhpbnQgY29kZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKLSAgICByZXR1cm4g
c2hhcmVkKCkuaG9va0ZpcmVkKGNvZGUsIHdQYXJhbSwgbFBhcmFtKTsKKyAgICAvLyBXaGVuIGEg
aG9vayBpcyBjYWxsZWQsIFdpbmRvd3MgcHV0cyBhbiBfX3RyeS9fX2V4Y2VwdCBibG9jayBhcm91
bmQgdGhlIGNhbGwuCisgICAgLy8gVGhlIGV4Y2VwdGlvbiBoYW5kbGVyIHRoZW4gaWdub3JlcyBz
eXN0ZW0gZXhjZXB0aW9ucyBsaWtlIGludmFsaWQgYWRkcmVzc2VzCisgICAgLy8gYW5kIG51bGwg
cG9pbnRlcnMuIEJ1dCB3ZSB3YW50IHRvIGNhdGNoIHRoZXNlIGFuZCBjcmFzaCBzbyB3ZSBjYW4g
Z2VuZXJhdGUKKyAgICAvLyBjcmFzaGxvZ3MgZm9yIGRlYnVnZ2luZyB0aGUgZXJyb3IuIFNvIGZv
ciB0aGUgZHVyYXRpb24gb2YgdGhlIGNhbGwgd2UgcmVwbGFjZQorICAgIC8vIHRoZSBXaW5kb3dz
IGV4Y2VwdGlvbiBoYW5kbGVyIHdpdGggMHhmZmZmZmZmZiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQg
dGhlCisgICAgLy8gZXhjZXB0aW9uIHNob3VsZCBub3QgYmUgaGFuZGxlZCBidXQgc2hvdWxkIGNy
YXNoIGluc3RlYWQuCisgICAgdm9pZCogc2F2ZWRFeGNlcHRpb25SZWdpc3RyYXRpb247CisgICAg
X19hc20gbW92IGVheCwgRlM6WzBdCisgICAgX19hc20gbW92IFtzYXZlZEV4Y2VwdGlvblJlZ2lz
dHJhdGlvbl0sIEVBWAorICAgIF9fYXNtIG1vdiBlYXgsIDB4ZmZmZmZmZmYKKyAgICBfX2FzbSBt
b3YgRlM6WzBdLCBFQVgKKworICAgIExSRVNVTFQgcmVzdWx0ID0gc2hhcmVkKCkuaG9va0ZpcmVk
KGNvZGUsIHdQYXJhbSwgbFBhcmFtKTsKKworICAgIC8vIFJlc3RvcmUgdGhlIGV4Y2VwdGlvbiBo
YW5kbGVyCisgICAgX19hc20gbW92IEVBWCwgW3NhdmVkRXhjZXB0aW9uUmVnaXN0cmF0aW9uXQor
ICAgIF9fYXNtIG1vdiBGUzpbMF0sIEVBWAorCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogTFJF
U1VMVCBMYXllckNoYW5nZXNGbHVzaGVyOjpob29rRmlyZWQoaW50IGNvZGUsIFdQQVJBTSB3UGFy
YW0sIExQQVJBTSBsUGFyYW0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4u
Y3BwCShyZXZpc2lvbiA5NTIwMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgz
LDcgKzE4Myw4IEBACiAgICAgYW5pbWF0aW9uLT5zZXRSZW1vdmVkT25Db21wbGV0aW9uKGlzUmVt
b3ZlZE9uQ29tcGxldGlvbigpKTsKICAgICBhbmltYXRpb24tPnNldEFkZGl0aXZlKGlzQWRkaXRp
dmUoKSk7CiAgICAgYW5pbWF0aW9uLT5jb3B5VGltaW5nRnVuY3Rpb25Gcm9tKHRoaXMpOwotICAg
IGFuaW1hdGlvbi0+c2V0VmFsdWVGdW5jdGlvbih2YWx1ZUZ1bmN0aW9uKCkpOworICAgIGlmICh2
YWx1ZUZ1bmN0aW9uKCkpCisgICAgICAgIGFuaW1hdGlvbi0+c2V0VmFsdWVGdW5jdGlvbih2YWx1
ZUZ1bmN0aW9uKCkpOwogICAgIAogICAgIC8vIENvcHkgdGhlIHNwZWNpZmljIEJhc2ljIG9yIEtl
eWZyYW1lIHZhbHVlcwogICAgIGlmIChhbmltYXRpb25UeXBlKCkgPT0gS2V5ZnJhbWUpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107530</attachid>
            <date>2011-09-15 12:26:19 -0700</date>
            <delta_ts>2011-09-15 16:14:37 -0700</delta_ts>
            <desc>2nd Patch with vcproj file to avoid build issue</desc>
            <filename>bug67510-2.patch</filename>
            <type>text/plain</type>
            <size>4377</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjA1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDktMTUgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIGNhbiBvY2N1ciB3aGVu
IGRvaW5nIGEgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSgpIHdpdGggbm8gdmFsdWVGdW5jdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEFub3RoZXIgZml4IHRvIHRha2UgY2FyZSBvZiBvbmUgbGFzdCBjcmFzaCB3aGVuIHJ1bm5pbmcg
cGF1c2UtY3Jhc2guaHRtbC4KKyAgICAgICAgQ0FDRiBjYW4ndCBkZWFsIHdpdGggbnVsbCB2YWx1
ZUZ1bmN0aW9ucywgc28gYXZvaWQgc2V0dGluZyBpdCB3aGVuIGl0IGRvZXNuJ3QgCisgICAgICAg
IGV4aXN0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGFkZHMgbG9naWMgdG8gdGhlIFdp
bmRvd3MgSG9vayBpbiBMYXllckNoYW5nZXNGbHVzaGVyIHRvIHByZXZlbnQgaXQKKyAgICAgICAg
ZnJvbSBjYXRjaGluZyB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBnZW5lcmF0ZWQgYnkgdGhl
IHBhdXNlLWNyYXNoLmh0bWwgdGVzdAorICAgICAgICBiZWZvcmUgdGhpcyBidWcgd2FzIGZpeGVk
LiBXaW5kb3dzIHdhcyBpZ25vcmluZyB0aGUgZXhjZXB0aW9uLCBzbyB0aGUgdGVzdGNhc2UKKyAg
ICAgICAgd291bGQgYXBwZWFyIHRvIHN1Y2NlZWQsIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBoYXZl
IGNyYXNoZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9MYXllckNoYW5nZXNGbHVzaGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hhbmdlc0ZsdXNoZXI6Omhvb2tDYWxsYmFjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4u
Y3BwOgorICAgICAgICAoUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSk6CisKIDIwMTEtMDktMTUg
IEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlZiBw
cm90ZWN0IEhUTUxPYmplY3RFbGVtZW50IGFuZCBIVE1MRW1iZWRFbGVtZW50IHdoaWxlIHJlcXVl
c3RpbmcgcGx1Z2lucwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHJldmlzaW9uIDk1MjAyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTMwMTc0LDYgKzMwMTc0LDE0
IEBACiAJCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xjYVx3aW5cTGF5
ZXJDaGFuZ2VzRmx1c2hlci5jcHAiCiAJCQkJCQkJPgogCQkJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lPSJEZWJ1Z3xXaW4zMiIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8VG9vbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPSI0NzMzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZUNvbmZpZ3VyYXRpb24+
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKIAkJCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCiAJCQkJCQkJCT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9MYXllckNoYW5nZXNGbHVzaGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1c2hlci5jcHAJ
KHJldmlzaW9uIDk1MjAyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
d2luL0xheWVyQ2hhbmdlc0ZsdXNoZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSwy
NSBAQAogCiBMUkVTVUxUIExheWVyQ2hhbmdlc0ZsdXNoZXI6Omhvb2tDYWxsYmFjayhpbnQgY29k
ZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKLSAgICByZXR1cm4gc2hhcmVkKCku
aG9va0ZpcmVkKGNvZGUsIHdQYXJhbSwgbFBhcmFtKTsKKyAgICAvLyBXaGVuIGEgaG9vayBpcyBj
YWxsZWQsIFdpbmRvd3MgcHV0cyBhbiBfX3RyeS9fX2V4Y2VwdCBibG9jayBhcm91bmQgdGhlIGNh
bGwuCisgICAgLy8gVGhlIGV4Y2VwdGlvbiBoYW5kbGVyIHRoZW4gaWdub3JlcyBzeXN0ZW0gZXhj
ZXB0aW9ucyBsaWtlIGludmFsaWQgYWRkcmVzc2VzCisgICAgLy8gYW5kIG51bGwgcG9pbnRlcnMu
IEJ1dCB3ZSB3YW50IHRvIGNhdGNoIHRoZXNlIGFuZCBjcmFzaCBzbyB3ZSBjYW4gZ2VuZXJhdGUK
KyAgICAvLyBjcmFzaGxvZ3MgZm9yIGRlYnVnZ2luZyB0aGUgZXJyb3IuIFNvIGZvciB0aGUgZHVy
YXRpb24gb2YgdGhlIGNhbGwgd2UgcmVwbGFjZQorICAgIC8vIHRoZSBXaW5kb3dzIGV4Y2VwdGlv
biBoYW5kbGVyIHdpdGggMHhmZmZmZmZmZiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlCisgICAg
Ly8gZXhjZXB0aW9uIHNob3VsZCBub3QgYmUgaGFuZGxlZCBidXQgc2hvdWxkIGNyYXNoIGluc3Rl
YWQuCisgICAgdm9pZCogc2F2ZWRFeGNlcHRpb25SZWdpc3RyYXRpb247CisgICAgX19hc20gbW92
IGVheCwgRlM6WzBdCisgICAgX19hc20gbW92IFtzYXZlZEV4Y2VwdGlvblJlZ2lzdHJhdGlvbl0s
IEVBWAorICAgIF9fYXNtIG1vdiBlYXgsIDB4ZmZmZmZmZmYKKyAgICBfX2FzbSBtb3YgRlM6WzBd
LCBFQVgKKworICAgIExSRVNVTFQgcmVzdWx0ID0gc2hhcmVkKCkuaG9va0ZpcmVkKGNvZGUsIHdQ
YXJhbSwgbFBhcmFtKTsKKworICAgIC8vIFJlc3RvcmUgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyCisg
ICAgX19hc20gbW92IEVBWCwgW3NhdmVkRXhjZXB0aW9uUmVnaXN0cmF0aW9uXQorICAgIF9fYXNt
IG1vdiBGUzpbMF0sIEVBWAorCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogTFJFU1VMVCBMYXll
ckNoYW5nZXNGbHVzaGVyOjpob29rRmlyZWQoaW50IGNvZGUsIFdQQVJBTSB3UGFyYW0sIExQQVJB
TSBsUGFyYW0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4v
UGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwCShyZXZp
c2lvbiA5NTIwMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9Q
bGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgzLDcgKzE4Myw4
IEBACiAgICAgYW5pbWF0aW9uLT5zZXRSZW1vdmVkT25Db21wbGV0aW9uKGlzUmVtb3ZlZE9uQ29t
cGxldGlvbigpKTsKICAgICBhbmltYXRpb24tPnNldEFkZGl0aXZlKGlzQWRkaXRpdmUoKSk7CiAg
ICAgYW5pbWF0aW9uLT5jb3B5VGltaW5nRnVuY3Rpb25Gcm9tKHRoaXMpOwotICAgIGFuaW1hdGlv
bi0+c2V0VmFsdWVGdW5jdGlvbih2YWx1ZUZ1bmN0aW9uKCkpOworICAgIGlmICh2YWx1ZUZ1bmN0
aW9uKCkpCisgICAgICAgIGFuaW1hdGlvbi0+c2V0VmFsdWVGdW5jdGlvbih2YWx1ZUZ1bmN0aW9u
KCkpOwogICAgIAogICAgIC8vIENvcHkgdGhlIHNwZWNpZmljIEJhc2ljIG9yIEtleWZyYW1lIHZh
bHVlcwogICAgIGlmIChhbmltYXRpb25UeXBlKCkgPT0gS2V5ZnJhbWUpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107559</attachid>
            <date>2011-09-15 16:14:37 -0700</date>
            <delta_ts>2011-09-19 10:21:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug67510-2.patch</filename>
            <type>text/plain</type>
            <size>7519</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjA1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDktMTUgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIGNhbiBvY2N1ciB3aGVu
IGRvaW5nIGEgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSgpIHdpdGggbm8gdmFsdWVGdW5jdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEFub3RoZXIgZml4IHRvIHRha2UgY2FyZSBvZiBvbmUgbGFzdCBjcmFzaCB3aGVuIHJ1bm5pbmcg
cGF1c2UtY3Jhc2guaHRtbC4KKyAgICAgICAgQ0FDRiBjYW4ndCBkZWFsIHdpdGggbnVsbCB2YWx1
ZUZ1bmN0aW9ucywgc28gYXZvaWQgc2V0dGluZyBpdCB3aGVuIGl0IGRvZXNuJ3QgCisgICAgICAg
IGV4aXN0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGFkZHMgbG9naWMgdG8gdGhlIFdp
bmRvd3MgSG9vayBpbiBMYXllckNoYW5nZXNGbHVzaGVyIHRvIHByZXZlbnQgaXQKKyAgICAgICAg
ZnJvbSBjYXRjaGluZyB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBnZW5lcmF0ZWQgYnkgdGhl
IHBhdXNlLWNyYXNoLmh0bWwgdGVzdAorICAgICAgICBiZWZvcmUgdGhpcyBidWcgd2FzIGZpeGVk
LiBXaW5kb3dzIHdhcyBpZ25vcmluZyB0aGUgZXhjZXB0aW9uLCBzbyB0aGUgdGVzdGNhc2UKKyAg
ICAgICAgd291bGQgYXBwZWFyIHRvIHN1Y2NlZWQsIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBoYXZl
IGNyYXNoZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1c2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXllckNoYW5nZXNGbHVzaGVyOjpob29rQ2FsbGJhY2spOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2lu
LmNwcDoKKyAgICAgICAgKFBsYXRmb3JtQ0FBbmltYXRpb246OmNvcHkpOgorICAgICAgICAqIHBs
YXRmb3JtXHdpblxTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvci5oOiBOZXcgZmls
ZSB0byBlbmNhcHN1bGF0ZSB0aGUgZXhjZXB0aW9uIGhhbmRsaW5nIHN1cHJlc3Npb24uCisKIDIw
MTEtMDktMTUgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJlZiBwcm90ZWN0IEhUTUxPYmplY3RFbGVtZW50IGFuZCBIVE1MRW1iZWRFbGVtZW50IHdo
aWxlIHJlcXVlc3RpbmcgcGx1Z2lucwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDk1MjAyKQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTI3MzI0LDYg
KzI3MzI0LDEwIEBACiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cd2luXFNvdW5kV2lu
LmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KKyAgICAgICAgICAgICAgICA8RmlsZQorICAgICAg
ICAgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cd2luXFN0cnVjdHVyZWRFeGNlcHRp
b25IYW5kbGVyU3VwcmVzc29yLmgiCisgICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAg
IDwvRmlsZT4KIAkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXHdpblxT
eXN0ZW1JbmZvLmNwcCIKIAkJCQkJPgpAQCAtMzAxNzQsNiArMzAxNzgsMTQgQEAKIAkJCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhXHdpblxMYXllckNoYW5nZXNGbHVz
aGVyLmNwcCIKIAkJCQkJCQk+CiAJCQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmFtZT0iRGVidWd8V2luMzIiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iNDczMyIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvPgorCQkJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKIAkJCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCQkJCT4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJl
c3Nvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1
cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvci5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL1N0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yLmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cnVj
dHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yX2gKKyNkZWZpbmUgU3RydWN0dXJlZEV4Y2Vw
dGlvbkhhbmRsZXJTdXByZXNzb3JfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN0
cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvcik7CitwdWJsaWM6CisgICAg
U3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IoKQorICAgIHsKKyAgICAgICAgLy8g
V2luZG93cyBwdXRzIGFuIF9fdHJ5L19fZXhjZXB0IGJsb2NrIGFyb3VuZCBzb21lIGNhbGxzLCBz
dWNoIGFzIGhvb2tzLgorICAgICAgICAvLyBUaGUgZXhjZXB0aW9uIGhhbmRsZXIgdGhlbiBpZ25v
cmVzIHN5c3RlbSBleGNlcHRpb25zIGxpa2UgaW52YWxpZCBhZGRyZXNzZXMKKyAgICAgICAgLy8g
YW5kIG51bGwgcG9pbnRlcnMuIFRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgdG8gcmVtb3ZlIHRoaXMg
YmxvY2sgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gaXQgZnJvbSBjYXRjaGluZyB0aGUgZXhjZXB0
aW9uLiBUeXBpY2FsbHkgdGhpcyB3aWxsIGNhdXNlIHRoZSBleGNlcHRpb24gdG8gY3Jhc2ggCisg
ICAgICAgIC8vIHdoaWNoIGlzIG9mdGVuIGRlc2lyYWJsZSB0byBhbGxvdyBjcmFzaGxvZ3MgdG8g
YmUgcmVjb3JkZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3NlZC4KKyAgICAgICAgLy8gV2hpbGUgdGhp
cyBjbGFzcyBpcyBpbiBzY29wZSB3ZSByZXBsYWNlIHRoZSBXaW5kb3dzIGV4Y2VwdGlvbiBoYW5k
bGVyIHdpdGggMHhmZmZmZmZmZiwgCisgICAgICAgIC8vIHdoaWNoIGluZGljYXRlcyB0aGF0IHRo
ZSBleGNlcHRpb24gc2hvdWxkIG5vdCBiZSBoYW5kbGVkLgorCisgICAgICAgIC8vIFdpbmRvd3Mg
ZG9lc24ndCBsaWtlIGFzc2lnbmluZyB0byBtZW1iZXIgdmFyaWFibGVzLCBzbyB3ZSBuZWVkIHRv
IGdldCB0aGUgdmFsdWUgaW50bworICAgICAgICAvLyBhIGxvY2FsIHZhcmlhYmxlIGFuZCBzdG9y
ZSBpdCBhZnRlcndhcmRzLgorICAgICAgICB2b2lkKiByZWdpc3RyYXRpb247CisKKyAgICAgICAg
X19hc20gbW92IGVheCwgRlM6WzBdCisgICAgICAgIF9fYXNtIG1vdiBbcmVnaXN0cmF0aW9uXSwg
RUFYCisgICAgICAgIF9fYXNtIG1vdiBlYXgsIDB4ZmZmZmZmZmYKKyAgICAgICAgX19hc20gbW92
IEZTOlswXSwgRUFYCisKKyAgICAgICAgbV9zYXZlZEV4Y2VwdGlvblJlZ2lzdHJhdGlvbiA9IHJl
Z2lzdHJhdGlvbjsKKyAgICB9CisKKyAgICB+U3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXBy
ZXNzb3IoKQorICAgIHsKKyAgICAgICAgLy8gUmVzdG9yZSB0aGUgZXhjZXB0aW9uIGhhbmRsZXIK
KyAgICAgICAgX19hc20gbW92IEVBWCwgW21fc2F2ZWRFeGNlcHRpb25SZWdpc3RyYXRpb25dCisg
ICAgICAgIF9fYXNtIG1vdiBGUzpbMF0sIEVBWAorICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lk
KiBtX3NhdmVkRXhjZXB0aW9uUmVnaXN0cmF0aW9uOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3JfaApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xheWVyQ2hhbmdl
c0ZsdXNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9MYXllckNoYW5nZXNGbHVzaGVyLmNwcAkocmV2aXNpb24gOTUyMDIpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1c2hl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAKICNpbmNsdWRlICJBYnN0cmFjdENBQ0ZMYXllclRyZWVIb3N0Lmgi
CisjaW5jbHVkZSAiU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IuaCIKICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC03
MSw2ICs3MiwxMCBAQAogCiBMUkVTVUxUIExheWVyQ2hhbmdlc0ZsdXNoZXI6Omhvb2tDYWxsYmFj
ayhpbnQgY29kZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKKyAgICAvLyBTdXBy
ZXNzIHRoZSBleGNlcHRpb24gaGFuZGxlciBXaW5kb3dzIHB1dHMgYXJvdW5kIGFsbCBob29rIGNh
bGxzIHNvIHdlIGNhbgorICAgIC8vIGNyYXNoIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgaWYgYW4g
ZXhjZXB0aW9uIGlzIGhpdC4KKyAgICBTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nv
ciBzdXByZXNzb3I7CisKICAgICByZXR1cm4gc2hhcmVkKCkuaG9va0ZpcmVkKGNvZGUsIHdQYXJh
bSwgbFBhcmFtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNw
cAkocmV2aXNpb24gOTUyMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw3
ICsxODMsOCBAQAogICAgIGFuaW1hdGlvbi0+c2V0UmVtb3ZlZE9uQ29tcGxldGlvbihpc1JlbW92
ZWRPbkNvbXBsZXRpb24oKSk7CiAgICAgYW5pbWF0aW9uLT5zZXRBZGRpdGl2ZShpc0FkZGl0aXZl
KCkpOwogICAgIGFuaW1hdGlvbi0+Y29weVRpbWluZ0Z1bmN0aW9uRnJvbSh0aGlzKTsKLSAgICBh
bmltYXRpb24tPnNldFZhbHVlRnVuY3Rpb24odmFsdWVGdW5jdGlvbigpKTsKKyAgICBpZiAodmFs
dWVGdW5jdGlvbigpKQorICAgICAgICBhbmltYXRpb24tPnNldFZhbHVlRnVuY3Rpb24odmFsdWVG
dW5jdGlvbigpKTsKICAgICAKICAgICAvLyBDb3B5IHRoZSBzcGVjaWZpYyBCYXNpYyBvciBLZXlm
cmFtZSB2YWx1ZXMKICAgICBpZiAoYW5pbWF0aW9uVHlwZSgpID09IEtleWZyYW1lKSB7Cg==
</data>
<flag name="review"
          id="104276"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107878</attachid>
            <date>2011-09-19 10:21:28 -0700</date>
            <delta_ts>2011-09-19 13:47:17 -0700</delta_ts>
            <desc>Resubmission of patch to get ews bot to compile it</desc>
            <filename>bug67510-2.patch</filename>
            <type>text/plain</type>
            <size>7519</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjA1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDktMTUgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIGNhbiBvY2N1ciB3aGVu
IGRvaW5nIGEgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSgpIHdpdGggbm8gdmFsdWVGdW5jdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEFub3RoZXIgZml4IHRvIHRha2UgY2FyZSBvZiBvbmUgbGFzdCBjcmFzaCB3aGVuIHJ1bm5pbmcg
cGF1c2UtY3Jhc2guaHRtbC4KKyAgICAgICAgQ0FDRiBjYW4ndCBkZWFsIHdpdGggbnVsbCB2YWx1
ZUZ1bmN0aW9ucywgc28gYXZvaWQgc2V0dGluZyBpdCB3aGVuIGl0IGRvZXNuJ3QgCisgICAgICAg
IGV4aXN0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGFkZHMgbG9naWMgdG8gdGhlIFdp
bmRvd3MgSG9vayBpbiBMYXllckNoYW5nZXNGbHVzaGVyIHRvIHByZXZlbnQgaXQKKyAgICAgICAg
ZnJvbSBjYXRjaGluZyB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBnZW5lcmF0ZWQgYnkgdGhl
IHBhdXNlLWNyYXNoLmh0bWwgdGVzdAorICAgICAgICBiZWZvcmUgdGhpcyBidWcgd2FzIGZpeGVk
LiBXaW5kb3dzIHdhcyBpZ25vcmluZyB0aGUgZXhjZXB0aW9uLCBzbyB0aGUgdGVzdGNhc2UKKyAg
ICAgICAgd291bGQgYXBwZWFyIHRvIHN1Y2NlZWQsIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBoYXZl
IGNyYXNoZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1c2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXllckNoYW5nZXNGbHVzaGVyOjpob29rQ2FsbGJhY2spOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2lu
LmNwcDoKKyAgICAgICAgKFBsYXRmb3JtQ0FBbmltYXRpb246OmNvcHkpOgorICAgICAgICAqIHBs
YXRmb3JtXHdpblxTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvci5oOiBOZXcgZmls
ZSB0byBlbmNhcHN1bGF0ZSB0aGUgZXhjZXB0aW9uIGhhbmRsaW5nIHN1cHJlc3Npb24uCisKIDIw
MTEtMDktMTUgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJlZiBwcm90ZWN0IEhUTUxPYmplY3RFbGVtZW50IGFuZCBIVE1MRW1iZWRFbGVtZW50IHdo
aWxlIHJlcXVlc3RpbmcgcGx1Z2lucwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDk1MjAyKQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTI3MzI0LDYg
KzI3MzI0LDEwIEBACiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cd2luXFNvdW5kV2lu
LmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KKyAgICAgICAgICAgICAgICA8RmlsZQorICAgICAg
ICAgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cd2luXFN0cnVjdHVyZWRFeGNlcHRp
b25IYW5kbGVyU3VwcmVzc29yLmgiCisgICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAg
IDwvRmlsZT4KIAkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXHdpblxT
eXN0ZW1JbmZvLmNwcCIKIAkJCQkJPgpAQCAtMzAxNzQsNiArMzAxNzgsMTQgQEAKIAkJCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhXHdpblxMYXllckNoYW5nZXNGbHVz
aGVyLmNwcCIKIAkJCQkJCQk+CiAJCQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmFtZT0iRGVidWd8V2luMzIiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iNDczMyIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvPgorCQkJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKIAkJCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCQkJCT4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJl
c3Nvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1
cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvci5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL1N0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yLmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cnVj
dHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yX2gKKyNkZWZpbmUgU3RydWN0dXJlZEV4Y2Vw
dGlvbkhhbmRsZXJTdXByZXNzb3JfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN0
cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvcik7CitwdWJsaWM6CisgICAg
U3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IoKQorICAgIHsKKyAgICAgICAgLy8g
V2luZG93cyBwdXRzIGFuIF9fdHJ5L19fZXhjZXB0IGJsb2NrIGFyb3VuZCBzb21lIGNhbGxzLCBz
dWNoIGFzIGhvb2tzLgorICAgICAgICAvLyBUaGUgZXhjZXB0aW9uIGhhbmRsZXIgdGhlbiBpZ25v
cmVzIHN5c3RlbSBleGNlcHRpb25zIGxpa2UgaW52YWxpZCBhZGRyZXNzZXMKKyAgICAgICAgLy8g
YW5kIG51bGwgcG9pbnRlcnMuIFRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgdG8gcmVtb3ZlIHRoaXMg
YmxvY2sgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gaXQgZnJvbSBjYXRjaGluZyB0aGUgZXhjZXB0
aW9uLiBUeXBpY2FsbHkgdGhpcyB3aWxsIGNhdXNlIHRoZSBleGNlcHRpb24gdG8gY3Jhc2ggCisg
ICAgICAgIC8vIHdoaWNoIGlzIG9mdGVuIGRlc2lyYWJsZSB0byBhbGxvdyBjcmFzaGxvZ3MgdG8g
YmUgcmVjb3JkZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3NlZC4KKyAgICAgICAgLy8gV2hpbGUgdGhp
cyBjbGFzcyBpcyBpbiBzY29wZSB3ZSByZXBsYWNlIHRoZSBXaW5kb3dzIGV4Y2VwdGlvbiBoYW5k
bGVyIHdpdGggMHhmZmZmZmZmZiwgCisgICAgICAgIC8vIHdoaWNoIGluZGljYXRlcyB0aGF0IHRo
ZSBleGNlcHRpb24gc2hvdWxkIG5vdCBiZSBoYW5kbGVkLgorCisgICAgICAgIC8vIFdpbmRvd3Mg
ZG9lc24ndCBsaWtlIGFzc2lnbmluZyB0byBtZW1iZXIgdmFyaWFibGVzLCBzbyB3ZSBuZWVkIHRv
IGdldCB0aGUgdmFsdWUgaW50bworICAgICAgICAvLyBhIGxvY2FsIHZhcmlhYmxlIGFuZCBzdG9y
ZSBpdCBhZnRlcndhcmRzLgorICAgICAgICB2b2lkKiByZWdpc3RyYXRpb247CisKKyAgICAgICAg
X19hc20gbW92IGVheCwgRlM6WzBdCisgICAgICAgIF9fYXNtIG1vdiBbcmVnaXN0cmF0aW9uXSwg
RUFYCisgICAgICAgIF9fYXNtIG1vdiBlYXgsIDB4ZmZmZmZmZmYKKyAgICAgICAgX19hc20gbW92
IEZTOlswXSwgRUFYCisKKyAgICAgICAgbV9zYXZlZEV4Y2VwdGlvblJlZ2lzdHJhdGlvbiA9IHJl
Z2lzdHJhdGlvbjsKKyAgICB9CisKKyAgICB+U3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXBy
ZXNzb3IoKQorICAgIHsKKyAgICAgICAgLy8gUmVzdG9yZSB0aGUgZXhjZXB0aW9uIGhhbmRsZXIK
KyAgICAgICAgX19hc20gbW92IEVBWCwgW21fc2F2ZWRFeGNlcHRpb25SZWdpc3RyYXRpb25dCisg
ICAgICAgIF9fYXNtIG1vdiBGUzpbMF0sIEVBWAorICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lk
KiBtX3NhdmVkRXhjZXB0aW9uUmVnaXN0cmF0aW9uOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3JfaApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xheWVyQ2hhbmdl
c0ZsdXNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9MYXllckNoYW5nZXNGbHVzaGVyLmNwcAkocmV2aXNpb24gOTUyMDIpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1c2hl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAKICNpbmNsdWRlICJBYnN0cmFjdENBQ0ZMYXllclRyZWVIb3N0Lmgi
CisjaW5jbHVkZSAiU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IuaCIKICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC03
MSw2ICs3MiwxMCBAQAogCiBMUkVTVUxUIExheWVyQ2hhbmdlc0ZsdXNoZXI6Omhvb2tDYWxsYmFj
ayhpbnQgY29kZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKKyAgICAvLyBTdXBy
ZXNzIHRoZSBleGNlcHRpb24gaGFuZGxlciBXaW5kb3dzIHB1dHMgYXJvdW5kIGFsbCBob29rIGNh
bGxzIHNvIHdlIGNhbgorICAgIC8vIGNyYXNoIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgaWYgYW4g
ZXhjZXB0aW9uIGlzIGhpdC4KKyAgICBTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nv
ciBzdXByZXNzb3I7CisKICAgICByZXR1cm4gc2hhcmVkKCkuaG9va0ZpcmVkKGNvZGUsIHdQYXJh
bSwgbFBhcmFtKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNw
cAkocmV2aXNpb24gOTUyMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw3
ICsxODMsOCBAQAogICAgIGFuaW1hdGlvbi0+c2V0UmVtb3ZlZE9uQ29tcGxldGlvbihpc1JlbW92
ZWRPbkNvbXBsZXRpb24oKSk7CiAgICAgYW5pbWF0aW9uLT5zZXRBZGRpdGl2ZShpc0FkZGl0aXZl
KCkpOwogICAgIGFuaW1hdGlvbi0+Y29weVRpbWluZ0Z1bmN0aW9uRnJvbSh0aGlzKTsKLSAgICBh
bmltYXRpb24tPnNldFZhbHVlRnVuY3Rpb24odmFsdWVGdW5jdGlvbigpKTsKKyAgICBpZiAodmFs
dWVGdW5jdGlvbigpKQorICAgICAgICBhbmltYXRpb24tPnNldFZhbHVlRnVuY3Rpb24odmFsdWVG
dW5jdGlvbigpKTsKICAgICAKICAgICAvLyBDb3B5IHRoZSBzcGVjaWZpYyBCYXNpYyBvciBLZXlm
cmFtZSB2YWx1ZXMKICAgICBpZiAoYW5pbWF0aW9uVHlwZSgpID09IEtleWZyYW1lKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107915</attachid>
            <date>2011-09-19 13:47:17 -0700</date>
            <delta_ts>2011-09-19 14:48:44 -0700</delta_ts>
            <desc>Patch to fix build</desc>
            <filename>bug67510-2.patch</filename>
            <type>text/plain</type>
            <size>7261</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1NDU4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDktMTkgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlw
dGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisgICAgICAgIAorICAgICAgICBBbm90aGVyIGZpeCB0byB0YWtlIGNhcmUgb2Ygb25l
IGxhc3QgY3Jhc2ggd2hlbiBydW5uaW5nIHBhdXNlLWNyYXNoLmh0bWwuIAorICAgICAgICBDQUNG
IGNhbid0IGRlYWwgd2l0aCBudWxsIHZhbHVlRnVuY3Rpb25zLCBzbyBhdm9pZCBzZXR0aW5nIGl0
IHdoZW4gaXQgZG9lc24ndCAKKyAgICAgICAgZXhpc3QuIAorICAgICAgICAKKyAgICAgICAgVGhp
cyBhbHNvIGFkZHMgbG9naWMgdG8gdGhlIFdpbmRvd3MgSG9vayBpbiBMYXllckNoYW5nZXNGbHVz
aGVyIHRvIHByZXZlbnQgaXQgCisgICAgICAgIGZyb20gY2F0Y2hpbmcgdGhlIG51bGwgcG9pbnRl
ciBleGNlcHRpb24gZ2VuZXJhdGVkIGJ5IHRoZSBwYXVzZS1jcmFzaC5odG1sIHRlc3QgCisgICAg
ICAgIGJlZm9yZSB0aGlzIGJ1ZyB3YXMgZml4ZWQuIFdpbmRvd3Mgd2FzIGlnbm9yaW5nIHRoZSBl
eGNlcHRpb24sIHNvIHRoZSB0ZXN0Y2FzZSAKKyAgICAgICAgd291bGQgYXBwZWFyIHRvIHN1Y2Nl
ZWQsIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBoYXZlIGNyYXNoZWQuIAorCisgICAgICAgIFRoaXMg
aXMgYSByZXN1Ym1pc3Npb24gb2YgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTUy
NDMgd2l0aCBhIGJ1aWxkIGZpeC4KKworICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9MYXllckNoYW5nZXNG
bHVzaGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hhbmdlc0ZsdXNoZXI6Omhvb2tD
YWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FB
bmltYXRpb25XaW4uY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUFuaW1hdGlvbjo6Y29weSk6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1N0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29y
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJT
dXByZXNzb3I6OlN0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yOjp+U3RydWN0dXJl
ZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IpOgorCiAyMDExLTA5LTE5ICBSb2JlcnQgS3JvZWdl
ciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEdlc3R1cmUg
cmVjb2duaXplciBmaXJlcyB0YXB0eXBlIG9ubHkgZXZlcnkgb3RoZXIgdG91Y2gKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA5
NTQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzMyNCw2ICsyNzMyNCwxMCBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBsYXRmb3JtXHdpblxTb3VuZFdpbi5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CisgICAg
ICAgICAgICAgICAgPEZpbGUKKyAgICAgICAgICAgICAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlxw
bGF0Zm9ybVx3aW5cU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IuaCIKKyAgICAg
ICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAgIDwvRmlsZT4KIAkJCQk8RmlsZQogCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXHdpblxTeXN0ZW1JbmZvLmNwcCIKIAkJCQkJPgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1N0cnVjdHVyZWRFeGNlcHRpb25IYW5k
bGVyU3VwcmVzc29yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L1N0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yLmgJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXBy
ZXNzb3IuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3JfaAorI2RlZmluZSBTdHJ1Y3R1
cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvcl9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
I3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDczMykgLy8g
RGlzYWJsZSAibm90IHJlZ2lzdGVyZWQgYXMgc2FmZSBoYW5kbGVyIiB3YXJuaW5nCisKK2NsYXNz
IFN0cnVjdHVyZWRFeGNlcHRpb25IYW5kbGVyU3VwcmVzc29yIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHJlc3Nvcik7CitwdWJsaWM6Cisg
ICAgU3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3IoKQorICAgIHsKKyAgICAgICAg
Ly8gV2luZG93cyBwdXRzIGFuIF9fdHJ5L19fZXhjZXB0IGJsb2NrIGFyb3VuZCBzb21lIGNhbGxz
LCBzdWNoIGFzIGhvb2tzLgorICAgICAgICAvLyBUaGUgZXhjZXB0aW9uIGhhbmRsZXIgdGhlbiBp
Z25vcmVzIHN5c3RlbSBleGNlcHRpb25zIGxpa2UgaW52YWxpZCBhZGRyZXNzZXMKKyAgICAgICAg
Ly8gYW5kIG51bGwgcG9pbnRlcnMuIFRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgdG8gcmVtb3ZlIHRo
aXMgYmxvY2sgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gaXQgZnJvbSBjYXRjaGluZyB0aGUgZXhj
ZXB0aW9uLiBUeXBpY2FsbHkgdGhpcyB3aWxsIGNhdXNlIHRoZSBleGNlcHRpb24gdG8gY3Jhc2gg
CisgICAgICAgIC8vIHdoaWNoIGlzIG9mdGVuIGRlc2lyYWJsZSB0byBhbGxvdyBjcmFzaGxvZ3Mg
dG8gYmUgcmVjb3JkZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3NlZC4KKyAgICAgICAgLy8gV2hpbGUg
dGhpcyBjbGFzcyBpcyBpbiBzY29wZSB3ZSByZXBsYWNlIHRoZSBXaW5kb3dzIGV4Y2VwdGlvbiBo
YW5kbGVyIHdpdGggMHhmZmZmZmZmZiwgCisgICAgICAgIC8vIHdoaWNoIGluZGljYXRlcyB0aGF0
IHRoZSBleGNlcHRpb24gc2hvdWxkIG5vdCBiZSBoYW5kbGVkLgorCisgICAgICAgIC8vIFdpbmRv
d3MgZG9lc24ndCBsaWtlIGFzc2lnbmluZyB0byBtZW1iZXIgdmFyaWFibGVzLCBzbyB3ZSBuZWVk
IHRvIGdldCB0aGUgdmFsdWUgaW50bworICAgICAgICAvLyBhIGxvY2FsIHZhcmlhYmxlIGFuZCBz
dG9yZSBpdCBhZnRlcndhcmRzLgorICAgICAgICB2b2lkKiByZWdpc3RyYXRpb247CisKKyAgICAg
ICAgX19hc20gbW92IGVheCwgRlM6WzBdCisgICAgICAgIF9fYXNtIG1vdiBbcmVnaXN0cmF0aW9u
XSwgZWF4CisgICAgICAgIF9fYXNtIG1vdiBlYXgsIDB4ZmZmZmZmZmYKKyAgICAgICAgX19hc20g
bW92IEZTOlswXSwgZWF4CisKKyAgICAgICAgbV9zYXZlZEV4Y2VwdGlvblJlZ2lzdHJhdGlvbiA9
IHJlZ2lzdHJhdGlvbjsKKyAgICB9CisKKyAgICB+U3RydWN0dXJlZEV4Y2VwdGlvbkhhbmRsZXJT
dXByZXNzb3IoKQorICAgIHsKKyAgICAgICAgLy8gUmVzdG9yZSB0aGUgZXhjZXB0aW9uIGhhbmRs
ZXIKKyAgICAgICAgX19hc20gbW92IGVheCwgW21fc2F2ZWRFeGNlcHRpb25SZWdpc3RyYXRpb25d
CisgICAgICAgIF9fYXNtIG1vdiBGUzpbMF0sIGVheAorICAgIH0KKworcHJpdmF0ZToKKyAgICB2
b2lkKiBtX3NhdmVkRXhjZXB0aW9uUmVnaXN0cmF0aW9uOworfTsKKworI3ByYWdtYSB3YXJuaW5n
KHBvcCkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU3RydWN0dXJlZEV4
Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3JfaApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Evd2luL0xheWVyQ2hhbmdlc0ZsdXNoZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9MYXllckNoYW5nZXNGbHVzaGVy
LmNwcAkocmV2aXNpb24gOTU0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS93aW4vTGF5ZXJDaGFuZ2VzRmx1c2hlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYg
KzI5LDcgQEAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKICNpbmNsdWRlICJB
YnN0cmFjdENBQ0ZMYXllclRyZWVIb3N0LmgiCisjaW5jbHVkZSAiU3RydWN0dXJlZEV4Y2VwdGlv
bkhhbmRsZXJTdXByZXNzb3IuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC03MSw2ICs3Miw5IEBACiAKIExSRVNVTFQgTGF5ZXJD
aGFuZ2VzRmx1c2hlcjo6aG9va0NhbGxiYWNrKGludCBjb2RlLCBXUEFSQU0gd1BhcmFtLCBMUEFS
QU0gbFBhcmFtKQogeworICAgIC8vIFN1cHJlc3MgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIFdpbmRv
d3MgcHV0cyBhcm91bmQgYWxsIGhvb2sgY2FsbHMgc28gd2UgY2FuIAorICAgIC8vIGNyYXNoIGZv
ciBkZWJ1Z2dpbmcgcHVycG9zZXMgaWYgYW4gZXhjZXB0aW9uIGlzIGhpdC4gCisgICAgU3RydWN0
dXJlZEV4Y2VwdGlvbkhhbmRsZXJTdXByZXNzb3Igc3VwcmVzc29yOyAKICAgICByZXR1cm4gc2hh
cmVkKCkuaG9va0ZpcmVkKGNvZGUsIHdQYXJhbSwgbFBhcmFtKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAkocmV2aXNpb24gOTU0MzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw3ICsxODMsOCBAQAogICAgIGFuaW1hdGlvbi0+c2V0
UmVtb3ZlZE9uQ29tcGxldGlvbihpc1JlbW92ZWRPbkNvbXBsZXRpb24oKSk7CiAgICAgYW5pbWF0
aW9uLT5zZXRBZGRpdGl2ZShpc0FkZGl0aXZlKCkpOwogICAgIGFuaW1hdGlvbi0+Y29weVRpbWlu
Z0Z1bmN0aW9uRnJvbSh0aGlzKTsKLSAgICBhbmltYXRpb24tPnNldFZhbHVlRnVuY3Rpb24odmFs
dWVGdW5jdGlvbigpKTsKKyAgICBpZiAodmFsdWVGdW5jdGlvbigpKQorICAgICAgICBhbmltYXRp
b24tPnNldFZhbHVlRnVuY3Rpb24odmFsdWVGdW5jdGlvbigpKTsKICAgICAKICAgICAvLyBDb3B5
IHRoZSBzcGVjaWZpYyBCYXNpYyBvciBLZXlmcmFtZSB2YWx1ZXMKICAgICBpZiAoYW5pbWF0aW9u
VHlwZSgpID09IEtleWZyYW1lKSB7Cg==
</data>
<flag name="review"
          id="104732"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>