<?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>20651</bug_id>
          
          <creation_ts>2008-09-04 14:30:36 -0700</creation_ts>
          <short_desc>svgElement.className.baseValue does not work</short_desc>
          <delta_ts>2008-10-27 13:06:27 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="elliottcable">bugs.webkit.org</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>bugs.webkit.org</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90195</commentid>
    <comment_count>0</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-09-04 14:30:36 -0700</bug_when>
    <thetext>In FireFox, and as I understand it, according to the standard, one doesn&apos;t simply use `.className` to set the class of an element in SVG - one must set the `.baseVal` attribute on `.className`. This works in FireFox, but apparently not in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90196</commentid>
    <comment_count>1</comment_count>
      <attachid>23179</attachid>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-09-04 14:31:15 -0700</bug_when>
    <thetext>Created attachment 23179
Minimal test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90197</commentid>
    <comment_count>2</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-09-04 14:36:16 -0700</bug_when>
    <thetext>Forgot to mention - attached test case works in FireFox (box is green), and fails in WebKit nightly as of 4th september (box is red).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90199</commentid>
    <comment_count>3</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-09-04 14:53:12 -0700</bug_when>
    <thetext>This test case now crashes WebKit when opened - here&apos;s the debugging info: http://pastie.org/266285</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90205</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-09-04 15:05:07 -0700</bug_when>
    <thetext>http://www.w3.org/TR/SVG/types.html#InterfaceSVGStylable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90207</commentid>
    <comment_count>5</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-09-04 15:28:38 -0700</bug_when>
    <thetext>As Eric pointed out, the code (surprisingly) exhibits the correct methods for accessing/modifying the class. They just don&apos;t work d-:

Catfish_Man pointed out in IRC that the element does, in fact, show the new class in the Web Inspector DOM inspector, as well as in the Properties field - it does not, however, show the new class in the Styles pane, and the class doesn&apos;t apply in the actual document either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94050</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-03 23:54:00 -0700</bug_when>
    <thetext>I have a patch to fix this on my work machine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94081</commentid>
    <comment_count>7</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-10-04 04:41:27 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I have a patch to fix this on my work machine.
&gt; 

Cool, cool, looking forward to seeing it committed [-:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94269</commentid>
    <comment_count>8</comment_count>
      <attachid>24124</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-06 14:28:11 -0700</bug_when>
    <thetext>Created attachment 24124
Potential fix for element.className.baseValue

 LayoutTests/ChangeLog                              |    9 ++++
 .../svg/custom/class-baseValue-expected.checksum   |    1 +
 .../mac/svg/custom/class-baseValue-expected.png    |  Bin 0 -&gt; 3250 bytes
 .../mac/svg/custom/class-baseValue-expected.txt    |    5 ++
 LayoutTests/svg/custom/class-baseValue.svg         |   10 +++++
 WebCore/ChangeLog                                  |   14 +++++++
 WebCore/dom/StyledElement.cpp                      |   41 ++++++++++---------
 WebCore/dom/StyledElement.h                        |    5 ++
 WebCore/svg/SVGStyledElement.cpp                   |    3 +
 9 files changed, 69 insertions(+), 19 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94364</commentid>
    <comment_count>9</comment_count>
      <attachid>24124</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-10-07 09:40:49 -0700</bug_when>
    <thetext>Comment on attachment 24124
Potential fix for element.className.baseValue

Can the test be changed into a dumpAsText test? I was able to do a number of SVG tests that were portable that way.

+ if (attrName == HTMLNames::classAttr)

I&apos;m surprised you chose to explicitly qualify here rather than doing using namespace HTMLNames.

StyledElement::classAttributeChanged would be better if it only called setChanged when there was an actual change. But that&apos;s not part of this fix, I guess.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94453</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 14:34:02 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 24124 [edit])
&gt; Can the test be changed into a dumpAsText test? I was able to do a number of
&gt; SVG tests that were portable that way.

I didn&apos;t do so, but it probably could have been.  :(  Honestly I somehow missed this line of your comment before commiting

&gt; + if (attrName == HTMLNames::classAttr)
&gt;
&gt; I&apos;m surprised you chose to explicitly qualify here rather than doing using
&gt; namespace HTMLNames.

This was intentional, given that we&apos;re in an SVG file.
 
&gt; StyledElement::classAttributeChanged would be better if it only called
&gt; setChanged when there was an actual change. But that&apos;s not part of this fix, I
&gt; guess.

I built a test which toggled classNames on an element to equivilent versions, I didn&apos;t see extra redraws, but we might have been doing extra style resolutions?  Or maybe my test was busted.

&lt;style&gt;
.foo {
    background-color: green;
}
.bar {
    width: 100px;
    height: 100px;
}
&lt;/style&gt;
&lt;div id=&quot;test&quot; class=&quot;foo bar&quot;&gt;&lt;/div&gt;
&lt;script&gt;
var toggleCount = 0;
function toggleClassNames() {
    var div = document.getElementById(&quot;test&quot;);
    if (toggleCount % 2) {
        div.className = &quot;foo bar&quot;;
    } else {
        div.className = &quot; bar foo   &quot;;
    }
    setTimeout(100, toggleClassNames);
}
toggleClassNames();
&lt;/script&gt;

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94454</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 14:38:01 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/platform/mac/svg/custom/class-baseValue-expected.checksum
	A	LayoutTests/platform/mac/svg/custom/class-baseValue-expected.png
	A	LayoutTests/platform/mac/svg/custom/class-baseValue-expected.txt
	A	LayoutTests/svg/custom/class-baseValue.svg
	M	WebCore/ChangeLog
	M	WebCore/dom/StyledElement.cpp
	M	WebCore/dom/StyledElement.h
	M	WebCore/svg/SVGStyledElement.cpp
Committed r37391

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94463</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 16:14:09 -0700</bug_when>
    <thetext>Here is a fully functioning test case which still demonstrates that setChanged() doesn&apos;t cause a redraw and thus doesn&apos;t seem to be a big worry here re: classes being set to the same value causing too much work.

&lt;style&gt;
.foo {
    background-color: green;
}
.bar {
    width: 100px;
    height: 100px;
}
.baz {
    background-color: red;
}
&lt;/style&gt;
&lt;div id=&quot;test&quot; class=&quot;foo bar&quot;&gt;&lt;/div&gt;
&lt;script&gt;
var toggleCount = 0;
function toggleClassNames() {
    var div = document.getElementById(&quot;test&quot;);
    if (toggleCount++ % 2) {
        div.className = &quot;foo bar&quot;;
    } else {
        div.className = &quot; bar  foo &quot;;
    }
    setTimeout(&quot;toggleClassNames()&quot;, 100);
}
toggleClassNames();
&lt;/script&gt;

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94477</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-10-07 17:12:53 -0700</bug_when>
    <thetext>Rolled out in r37401 since it introduced 46 regression test failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94479</commentid>
    <comment_count>14</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-10-07 17:29:03 -0700</bug_when>
    <thetext>Damn, and I was excited to see it in tomorrow&apos;s nightly d-:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94482</commentid>
    <comment_count>15</comment_count>
      <attachid>24164</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 17:37:34 -0700</bug_when>
    <thetext>Created attachment 24164
Fix the regression and avoid double-parse

 WebCore/svg/SVGStyledElement.cpp |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94491</commentid>
    <comment_count>16</comment_count>
      <attachid>24167</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:36 -0700</bug_when>
    <thetext>Created attachment 24167
        Forgot to check in these changes in my last checkin.


        * rendering/RenderThemeSafari.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                       |    6 ++++++
 WebCore/rendering/RenderThemeSafari.cpp |   17 +++++++++++++----
 2 files changed, 19 insertions(+), 4 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94492</commentid>
    <comment_count>17</comment_count>
      <attachid>24168</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:38 -0700</bug_when>
    <thetext>Created attachment 24168
WebCore:


        Reviewed by Sam Weinig

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
        &lt;rdar://problem/5657447&gt;

        When a frame is created with the URL &quot;about:blank&quot; or &quot;&quot;, it should
        inherit its SecurityOrigin from its opener.  However, once it has
        decided on that SecurityOrigin, it should not change its mind.
        Prior to this patch, several events could induce the frame to change
        its SecurityOrigin, permitting an attacker to inject script into an
        arbitrary SecurityOrigin.

        This patch makes several changes:

        1) Documents refuse to change from one SecurityOrigin to another
           unless explicitly instructed to do so.

        2) Navigating to a JavaScript URL that produces a value
           preserves the current SecurityOrigin explicitly instead of
           relying on the URL to preserve the origin (which fails for
           about:blank URLs and SecurityOrigins with document.domain set).

           Ideally, we should not preserve the URL at all.  Instead, the
           frame&apos;s URL should be the JavaScript URL, as in Firefox, but this
           would require changes that are too risky for this patch.  I&apos;ll
           file this as a separate issue.

        3) Various methods of navigating to JavaScript URLs were not
           properly handling JavaScript that returned a value (and should
           therefore replace the current document).  This patch unifies
           those code paths with the path that works.

           There are still a handful of bugs relating to the handling of
           JavaScript URLs, but I&apos;ll file those as separate issues.

        Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
               http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
               http/tests/security/aboutBlank/xss-DENIED-set-opener.html

        * dom/Document.cpp:
        (WebCore::Document::initSecurityOrigin):
        * dom/Document.h:
        (WebCore::Document::setSecurityOrigin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::requestFrame):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::executeIfJavaScriptURL):
        (WebCore::FrameLoader::begin):
        * loader/FrameLoader.h:
        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::setForURL):
        (WebCore::SecurityOrigin::createForFrame):
        * platform/SecurityOrigin.h:

LayoutTests:

        Reviewed by Sam Weinig.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523

        Adds new LayoutTests for scripting from about:blank windows.  These
        windows should inherit its SecurityOrigin from its opener and should
        refuse to change their origins when their opener changes exogenously
        (the navigate-opener tests) or explicitly (the set-opener test).

        * http/tests/security/aboutBlank: Added.
        * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt: Added.
        * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html: Added.
        * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt: Added.
        * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html: Added.
        * http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt: Added.
        * http/tests/security/aboutBlank/xss-DENIED-set-opener.html: Added.
        * http/tests/security/resources/innocent-victim-with-notify.html: Added.
        * http/tests/security/resources/innocent-victim.html: Added.
        * http/tests/security/resources/libwrapjs.js: Added.
        * http/tests/security/resources/open-window.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 LayoutTests/ChangeLog                              |   23 ++++
 ...IED-navigate-opener-document-write-expected.txt |   17 +++
 .../xss-DENIED-navigate-opener-document-write.html |  105 +++++++++++++++++++
 ...IED-navigate-opener-javascript-url-expected.txt |   17 +++
 .../xss-DENIED-navigate-opener-javascript-url.html |  106 ++++++++++++++++++++
 .../aboutBlank/xss-DENIED-set-opener-expected.txt  |   20 ++++
 .../security/aboutBlank/xss-DENIED-set-opener.html |   76 ++++++++++++++
 .../resources/innocent-victim-with-notify.html     |   14 +++
 .../tests/security/resources/innocent-victim.html  |    5 +
 .../http/tests/security/resources/libwrapjs.js     |   62 ++++++++++++
 .../http/tests/security/resources/open-window.html |   22 ++++
 LayoutTests/platform/win/Skipped                   |    3 +
 WebCore/ChangeLog                                  |   58 +++++++++++
 WebCore/dom/Document.cpp                           |    3 +
 WebCore/dom/Document.h                             |    5 +
 WebCore/loader/FrameLoader.cpp                     |   53 +++++-----
 WebCore/loader/FrameLoader.h                       |    8 +-
 WebCore/platform/SecurityOrigin.cpp                |   55 ++++------
 WebCore/platform/SecurityOrigin.h                  |    7 +-
 19 files changed, 592 insertions(+), 67 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94493</commentid>
    <comment_count>18</comment_count>
      <attachid>24169</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:40 -0700</bug_when>
    <thetext>Created attachment 24169
        Build fix.


        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        (WebCore::SimpleFontData::~SimpleFontData):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                                 |    8 ++++++++
 WebCore/platform/graphics/qt/SimpleFontDataQt.cpp |    4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94494</commentid>
    <comment_count>19</comment_count>
      <attachid>24170</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:42 -0700</bug_when>
    <thetext>Created attachment 24170
Reviewed by Mark.

Enable SVG_FONTS by default.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 JavaScriptCore/ChangeLog                           |    8 ++++++++
 .../Configurations/JavaScriptCore.xcconfig         |    2 +-
 WebCore/ChangeLog                                  |    9 +++++++++
 WebCore/Configurations/WebCore.xcconfig            |    2 +-
 WebCore/WebCore.vcproj/build-generated-files.sh    |    2 +-
 WebKit/mac/ChangeLog                               |    8 ++++++++
 WebKit/mac/Configurations/WebKit.xcconfig          |    2 +-
 7 files changed, 29 insertions(+), 4 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94495</commentid>
    <comment_count>20</comment_count>
      <attachid>24171</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:44 -0700</bug_when>
    <thetext>Created attachment 24171
        Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)


        * rendering/MediaControlElements.cpp:
        * rendering/MediaControlElements.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                          |    7 +++++++
 WebCore/rendering/MediaControlElements.cpp |    4 ++++
 WebCore/rendering/MediaControlElements.h   |    4 +++-
 3 files changed, 14 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94496</commentid>
    <comment_count>21</comment_count>
      <attachid>24172</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:45 -0700</bug_when>
    <thetext>Created attachment 24172
2008-01-07  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;


        Reviewed by Hyatt.

        &lt;rdar://problem/5673489&gt; Safari does not render windowless plugins in an
        iframe when opacity &lt; 1.0

        Plugins in transparency layers handle their own world transforms, so
        only apply the horizontal/vertical transform if we are not in a
        transparency layer.

        * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
        inTransparencyLayer() function
        * platform/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
        (WebCore::GraphicsContext::inTransparencyLayer):
        (WebCore::GraphicsContext::releaseWindowsContext): Use
        inTransparencyLayer()
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
        relative to the window. Pass m_isTransparent to
        get/releaseWindowsContext(). Only set the world transform if we are not
        in a transparency layer.




git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                           |   24 ++++++++++++++++++++++++
 WebCore/platform/graphics/GraphicsContext.h |    1 +
 WebCore/platform/win/GraphicsContextWin.cpp |    6 ++++--
 WebCore/plugins/win/PluginViewWin.cpp       |   27 +++++++++++++--------------
 4 files changed, 42 insertions(+), 16 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94497</commentid>
    <comment_count>22</comment_count>
      <attachid>24173</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:47 -0700</bug_when>
    <thetext>Created attachment 24173
        Add missing newline.


        * rendering/MediaControlElements.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                          |    6 ++++++
 WebCore/rendering/MediaControlElements.cpp |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94498</commentid>
    <comment_count>23</comment_count>
      <attachid>24174</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:50 -0700</bug_when>
    <thetext>Created attachment 24174
        Build fix.


        * WebKit.vcproj/InterfacesGenerated.vcproj:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebKit/win/ChangeLog                               |    6 ++++++
 .../win/WebKit.vcproj/InterfacesGenerated.vcproj   |    4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94499</commentid>
    <comment_count>24</comment_count>
      <attachid>24175</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:51 -0700</bug_when>
    <thetext>Created attachment 24175
        Build fix.


        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
        (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                                  |    7 +++++++
 .../platform/graphics/qt/GlyphPageTreeNodeQt.cpp   |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94500</commentid>
    <comment_count>25</comment_count>
      <attachid>24176</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:53 -0700</bug_when>
    <thetext>Created attachment 24176
Fix painting of SVG &lt;image&gt; when the image must be scaled to retain aspect ratio


Reviewed by Niko

Also added new layout test for this bug, and corrected old expected output


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 LayoutTests/ChangeLog                              |   25 ++++++++++++++++++++
 .../animate-elem-30-t-expected.checksum            |    2 +-
 .../svg/W3C-SVG-1.1/animate-elem-30-t-expected.png |  Bin 20612 -&gt; 20691 bytes
 .../animate-elem-36-t-expected.checksum            |    2 +-
 .../svg/W3C-SVG-1.1/animate-elem-36-t-expected.png |  Bin 32491 -&gt; 32406 bytes
 .../animate-elem-39-t-expected.checksum            |    2 +-
 .../svg/W3C-SVG-1.1/animate-elem-39-t-expected.png |  Bin 37743 -&gt; 38282 bytes
 .../svg/carto.net/selectionlist-expected.checksum  |    2 +-
 .../mac/svg/carto.net/selectionlist-expected.png   |  Bin 208607 -&gt; 208824 bytes
 ...age-with-aspect-ratio-stretch-expected.checksum |    1 +
 .../image-with-aspect-ratio-stretch-expected.png   |  Bin 0 -&gt; 3250 bytes
 .../image-with-aspect-ratio-stretch-expected.txt   |   11 ++++++++
 .../custom/pointer-events-image-expected.checksum  |    2 +-
 .../svg/custom/pointer-events-image-expected.png   |  Bin 71136 -&gt; 68766 bytes
 .../custom/text-image-opacity-expected.checksum    |    2 +-
 .../mac/svg/custom/text-image-opacity-expected.png |  Bin 17588 -&gt; 17393 bytes
 .../svg/custom/image-with-aspect-ratio-stretch.svg |   17 +++++++++++++
 WebCore/ChangeLog                                  |   11 ++++++++
 WebCore/rendering/RenderSVGImage.cpp               |   16 ++++++------
 19 files changed, 79 insertions(+), 14 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94501</commentid>
    <comment_count>26</comment_count>
      <attachid>24177</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:54 -0700</bug_when>
    <thetext>Created attachment 24177
        Temporary results until I fix:

        &lt;rdar://problem/5674667&gt; fast/forms/slider-mouse-events.html is broken by media control checkin 29257

        * fast/forms/slider-mouse-events-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 LayoutTests/ChangeLog                              |    7 +++++++
 .../fast/forms/slider-mouse-events-expected.txt    |    1 -
 2 files changed, 7 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94502</commentid>
    <comment_count>27</comment_count>
      <attachid>24178</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:56 -0700</bug_when>
    <thetext>Created attachment 24178
        * platform/win/Skipped:

        removing fixed test



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 LayoutTests/ChangeLog            |    5 +++++
 LayoutTests/platform/win/Skipped |    3 ---
 2 files changed, 5 insertions(+), 3 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94503</commentid>
    <comment_count>28</comment_count>
      <attachid>24179</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:13:57 -0700</bug_when>
    <thetext>Created attachment 24179
        Build fix.


        * WebCore.vcproj/WebCore.sln:
        * WebCore.vcproj/WebCore.submit.sln:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                         |    7 +++++++
 WebCore/WebCore.vcproj/WebCore.sln        |    9 +++++++++
 WebCore/WebCore.vcproj/WebCore.submit.sln |    9 +++++++++
 3 files changed, 25 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94504</commentid>
    <comment_count>29</comment_count>
      <attachid>24180</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-07 19:18:52 -0700</bug_when>
    <thetext>Created attachment 24180
Full fix (no layout test regressions)

I am *so so so* sorry for the list spam.  git-send-bugzilla freaked out a bit. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94507</commentid>
    <comment_count>30</comment_count>
    <who name="elliottcable">bugs.webkit.org</who>
    <bug_when>2008-10-07 19:23:32 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; Created an attachment (id=24180) [edit]
&gt; Full fix (no layout test regressions)
&gt; 
&gt; I am *so so so* sorry for the list spam.  git-send-bugzilla freaked out a bit.
&gt; :(
&gt; 

I was gonna say, this doesn&apos;t exactly look related to the bug in question... hah! &lt;3 git though (-:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94531</commentid>
    <comment_count>31</comment_count>
      <attachid>24180</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-10-08 02:02:51 -0700</bug_when>
    <thetext>Comment on attachment 24180
Full fix (no layout test regressions)

Oops, good catch :-) r=me. .oO(I thought you ran layout tests before ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94532</commentid>
    <comment_count>32</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-08 02:06:01 -0700</bug_when>
    <thetext>I thought I did to.  Clearly I was wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96759</commentid>
    <comment_count>33</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-27 13:06:27 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/37431</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23179</attachid>
            <date>2008-09-04 14:31:15 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>Minimal test case</desc>
            <filename>webkit-svg-javascript-class-test.svg</filename>
            <type>image/svg+xml</type>
            <size>1204</size>
            <attacher name="elliottcable">bugs.webkit.org</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxz
dmcgdmVyc2lvbj0iMS4xIiB6b29tQW5kUGFuPSJkaXNhYmxlIgogIHdpZHRoPSIxMDAlIiBoZWln
aHQ9IjEwMCUiIHZpZXdCb3g9Ii0xMDAwIC0xMDAwIDIwMDAgMjAwMCIKICB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpsYW5nPSJlbiIKICB4bWxuczp4bGluaz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94bGluayIKICB4bWxuczpldj0iaHR0cDovL3d3dy53My5vcmcvMjAw
MS94bWwtZXZlbnRzIgogIGJhc2VQcm9maWxlPSJmdWxsIGh0dHA6Ly9nbXBnLm9yZy94Zm4vMTEi
CiAgb25sb2FkPSJpbml0KCkiIGRlYnVnPSJ0cnVlIj4KICA8ZGVzYz5XZWJLaXQgU1ZHIGBlbGVt
ZW50LmNsYXNzTmFtZS5iYXNlVmFsYCBUZXN0IENhc2U8L2Rlc2M+CiAgCiAgPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJpbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgi
Lz4KICA8bGluayByZWw9ImNvcHlyaWdodCIgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5v
cmcvbGljZW5zZXMvYnktbmMtc2EvMy4wLyIgdHlwZT0idGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgi
Lz4KICAKICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+CiAgICA8IVtDREFUQVsKICAg
ICAgdmFyIFNWR19OUyA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7CiAgICAgIAogICAg
ICBmdW5jdGlvbiBpbml0KCl7CiAgICAgICAgdmFyIHRlc3ROb2RlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QnKTsKICAgICAgICAKICAgICAgICAvLyBUaGlzIHNob3VsZCBjaGFuZ2Ug
dGhlIGVsZW1lbnQncyBjbGFzcyBuYW1lIC0gc2luY2Ugd2UncmUgaW4gU1ZHLAogICAgICAgIC8v
IHdlJ2xsIHVzZSBjbGFzc05hbWUuYmFzZVZhbCBpbnN0ZWFkIG9mIGp1c3QgY2xhc3NOYW1lLgog
ICAgICAgIHRlc3ROb2RlLmNsYXNzTmFtZS5iYXNlVmFsID0gJ25ldyc7CiAgICAgIH0KICAgIF1d
PgogIDwvc2NyaXB0PgogIAogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAub2xkIHtmaWxs
OiByZWQ7fQogICAgLm5ldyB7ZmlsbDogZ3JlZW47fQogIDwvc3R5bGU+CiAgCiAgPHJlY3QgeD0i
MCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJ0ZXN0IiBjbGFzcz0ib2xkIi8+
Cjwvc3ZnPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24124</attachid>
            <date>2008-10-06 14:28:11 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>Potential fix for element.className.baseValue</desc>
            <filename>Potential-fix-for-element.className.baseValue.patch</filename>
            <type>text/plain</type>
            <size>6149</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NTI5MzEzZGRlOGE0OGVlYTVhZGQ0MWZmMzgwYzM2M2Q2YTZiMmRjMwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNiMDY4ZTUu
LmUyNjdkOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOC0xMC0wNiAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgICAgIAorICAgICAgICBzdmdFbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsdWUgPSAiZm9v
IiBkb2Vzbid0IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNjUxCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS5zdmc6
IEFkZGVkLgorCiAyMDA4LTEwLTA0ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS1leHBlY3RlZC5jaGVja3N1
bSBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS1l
eHBlY3RlZC5jaGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTRm
MWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vY2xhc3MtYmFzZVZhbHVlLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKKzE2MzEw
NTg4NDY3Y2ZjMjBkNTUxNjM1YWJjNTliNzg0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY2xhc3MtYmFz
ZVZhbHVlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9t
L2NsYXNzLWJhc2VWYWx1ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uM2RiMjYzNApCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS1leHBlY3RlZC5wbmcgZGlm
ZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jbGFz
cy1iYXNlVmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vY2xhc3MtYmFzZVZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4wZDI4N2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jdXN0b20vY2xhc3MtYmFzZVZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNW
R1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBd
fV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEw
MC4wMCJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1
ZS5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS5zdmcKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI2NDQ3MAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9jdXN0b20vY2xhc3MtYmFzZVZhbHVlLnN2ZwpAQCAtMCwwICsxLDEw
IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgICAgLmZhaWwge2ZpbGw6IHJlZDt9CisgICAgLnBhc3Mge2ZpbGw6
IGdyZWVuO30KKyAgPC9zdHlsZT4KKyAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlk
PSJ0ZXN0IiBjbGFzcz0iZmFpbCIvPgorICA8c2NyaXB0PgorCWRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0JykuY2xhc3NOYW1lLmJhc2VWYWwgPSAncGFzcyc7CisgIDwvc2NyaXB0PgorPC9z
dmc+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDlmNjg1NjAuLjk0N2MyYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDgtMTAtMDIgIEVyaWMgU2Vp
ZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIHN2Z0VsZW1lbnQuY2xhc3NOYW1lLmJhc2VWYWx1ZSA9ICJmb28iIGRv
ZXMgbm90IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjUxCisKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAq
IGRvbS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdl
ZCk6CisKIDIwMDgtMTAtMDYgIFRvciBBcm5lIFZlc3Riw7ggIDx0YXZlc3Rib0B0cm9sbHRlY2gu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vU3R5bGVkRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRl
eCAxZDEzNjQwLi5mMWExYmE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmNwcAorKysgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMjEwLDYgKzIxMCwy
NSBAQCBib29sIFN0eWxlZEVsZW1lbnQ6Om1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0ck5hbWUsIE1hcHBlZEF0dHJpYnV0ZUVudAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lk
IFN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcm
IG5ld0NsYXNzU3RyaW5nKQoreworICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0gbmV3Q2xh
c3NTdHJpbmcuY2hhcmFjdGVycygpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5ld0NsYXNzU3Ry
aW5nLmxlbmd0aCgpOworICAgIHVuc2lnbmVkIGk7CisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0
aDsgKytpKSB7CisgICAgICAgIGlmICghaXNDbGFzc1doaXRlc3BhY2UoY2hhcmFjdGVyc1tpXSkp
CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgc2V0SGFzQ2xhc3MoaSA8IGxlbmd0aCk7
CisgICAgaWYgKG5hbWVkQXR0ck1hcCkgeworICAgICAgICBpZiAoaSA8IGxlbmd0aCkKKyAgICAg
ICAgICAgIG1hcHBlZEF0dHJpYnV0ZXMoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBtYXBwZWRBdHRyaWJ1dGVzKCktPmNsZWFyQ2xhc3MoKTsK
KyAgICB9CisgICAgc2V0Q2hhbmdlZCgpOworfQorCiB2b2lkIFN0eWxlZEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cikKIHsKICAgICBpZiAoYXR0ci0+
bmFtZSgpID09IGlkQXR0cikgewpAQCAtMjI0LDI1ICsyNDMsOSBAQCB2b2lkIFN0eWxlZEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cikKICAgICAgICAg
ICAgICAgICBuYW1lZEF0dHJNYXAtPnNldElEKGF0dHItPnZhbHVlKCkpOwogICAgICAgICB9CiAg
ICAgICAgIHNldENoYW5nZWQoKTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBjbGFz
c0F0dHIpIHsKLSAgICAgICAgLy8gY2xhc3MKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2
YWx1ZSA9IGF0dHItPnZhbHVlKCk7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0g
dmFsdWUuY2hhcmFjdGVycygpOwotICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSB2YWx1ZS5sZW5n
dGgoKTsKLSAgICAgICAgdW5zaWduZWQgaTsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0
aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoIWlzQ2xhc3NXaGl0ZXNwYWNlKGNoYXJhY3RlcnNb
aV0pKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIHNldEhhc0Ns
YXNzKGkgPCBsZW5ndGgpOwotICAgICAgICBpZiAobmFtZWRBdHRyTWFwKSB7Ci0gICAgICAgICAg
ICBpZiAoaSA8IGxlbmd0aCkKLSAgICAgICAgICAgICAgICBtYXBwZWRBdHRyaWJ1dGVzKCktPnNl
dENsYXNzKHZhbHVlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtYXBwZWRB
dHRyaWJ1dGVzKCktPmNsZWFyQ2xhc3MoKTsKLSAgICAgICAgfQotICAgICAgICBzZXRDaGFuZ2Vk
KCk7Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gc3R5bGVBdHRyKSB7CisgICAgfSBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gY2xhc3NBdHRyKQorICAgICAgICBjbGFzc0F0dHJpYnV0
ZUNoYW5nZWQoYXR0ci0+dmFsdWUoKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IHN0
eWxlQXR0cikgewogICAgICAgICBpZiAoYXR0ci0+aXNOdWxsKCkpCiAgICAgICAgICAgICBkZXN0
cm95SW5saW5lU3R5bGVEZWNsKCk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL1N0eWxlZEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAppbmRleCBl
ZmRkNGQyLi5mMjJhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgK
KysrIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCkBAIC04MSw2ICs4MSwxMSBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzKGNvbnN0IEVs
ZW1lbnQqKTsKIAogcHJvdGVjdGVkOgorICAgIC8vIGNsYXNzQXR0cmlidXRlQ2hhbmdlZCgpIGV4
aXN0cyB0byBzaGFyZSBjb2RlIGJldHdlZW4KKyAgICAvLyBwYXJzZU1hcHBlZEF0dHJpYnV0ZSAo
Y2FsbGVkIHZpYSBzZXRBdHRyaWJ1dGUoKSkgYW5kCisgICAgLy8gc3ZnQXR0cmlidXRlQ2hhbmdl
ZCAoY2FsbGVkIHdoZW4gZWxlbWVudC5jbGFzc05hbWUuYmFzZVZhbHVlIGlzIHNldCkKKyAgICB2
b2lkIGNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNzU3Ry
aW5nKTsKKwogICAgIFJlZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4gbV9pbmxpbmVT
dHlsZURlY2w7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50
LmNwcCBiL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGRhZTI0ZTcuLmEy
NjExMjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0xODYsNiArMTg2LDkgQEAgdm9p
ZCBTVkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKQogewogICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0
ck5hbWUpOwogCisgICAgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6Y2xhc3NBdHRyKQorICAg
ICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY2xhc3NOYW1lKCkpOworCiAgICAgLy8gSWYgd2Un
cmUgdGhlIGNoaWxkIG9mIGEgcmVzb3VyY2UgZWxlbWVudCwgYmUgc3VyZSB0byBpbnZhbGlkYXRl
IGl0LgogICAgIGludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKIAo=
</data>
<flag name="review"
          id="10948"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24164</attachid>
            <date>2008-10-07 17:37:34 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>Fix the regression and avoid double-parse</desc>
            <filename>Fix-the-regression-and-avoid-double-parse.patch</filename>
            <type>text/plain</type>
            <size>2033</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">Y2M5N2FiMTc1YTAyNmI5YzFlYzg0NzAxZjE3ZTVkZDliNzQ3YjY3MwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAgYi9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVt
ZW50LmNwcAppbmRleCBhMjYxMTIyLi5iYWE0MzZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNw
cApAQCAtMTU5LDE3ICsxNTksMjUgQEAgYm9vbCBTVkdTdHlsZWRFbGVtZW50OjptYXBUb0VudHJ5
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBNYXBwZWRBdHRyaWJ1dGUKIAogdm9pZCBT
VkdTdHlsZWRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0
dHIpCiB7CisgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUgPSBhdHRyLT5uYW1lKCk7
CiAgICAgLy8gTk9URTogQW55IHN1YmNsYXNzIHdoaWNoIG92ZXJyaWRlcyBwYXJzZU1hcHBlZEF0
dHJpYnV0ZSBmb3IgYSBwcm9wZXJ0eSBoYW5kbGVkIGJ5CiAgICAgLy8gY3NzUHJvcGVydHlJZEZv
clNWR0F0dHJpYnV0ZU5hbWUgd2lsbCBhbHNvIGhhdmUgdG8gb3ZlcnJpZGUgbWFwVG9FbnRyeSB0
byBkaXNhYmxlIHRoZSBkZWZhdWx0IGVTVkcgbWFwcGluZwotICAgIGludCBwcm9wSWQgPSBTVkdT
dHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShhdHRyLT5uYW1l
KCkpOworICAgIGludCBwcm9wSWQgPSBTVkdTdHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eUlkRm9y
U1ZHQXR0cmlidXRlTmFtZShhdHRyTmFtZSk7CiAgICAgaWYgKHByb3BJZCA+IDApIHsKICAgICAg
ICAgYWRkQ1NTUHJvcGVydHkoYXR0ciwgcHJvcElkLCBhdHRyLT52YWx1ZSgpKTsKICAgICAgICAg
c2V0Q2hhbmdlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAotICAgIC8vIGlkIGFu
ZCBjbGFzcyBhcmUgaGFuZGxlZCBieSBTdHlsZWRFbGVtZW50Ci0gICAgU1ZHRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CisgICAgLy8gU1ZHIGFuaW1hdGlvbiBoYXMgY3VycmVu
dGx5IHJlcXVpcmVzIHNwZWNpYWwgc3RvcmFnZSBvZiB2YWx1ZXMgc28gd2Ugc2V0CisgICAgLy8g
dGhlIGNsYXNzTmFtZSBoZXJlLiAgc3ZnQXR0cmlidXRlQ2hhbmdlZCBhY3R1YWxseSBjYXVzZXMg
dGhlIHJlc3VsdGluZworICAgIC8vIHN0eWxlIHVwZGF0ZXMgKGluc3RlYWQgb2YgU3R5bGVkRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpLiBXZSBkb24ndAorICAgIC8vIHRlbGwgU3R5bGVk
RWxlbWVudCBhYm91dCB0aGUgY2hhbmdlIHRvIGF2b2lkIHBhcnNpbmcgdGhlIGNsYXNzIGxpc3Qg
dHdpY2UKKyAgICBpZiAoYXR0ck5hbWUubWF0Y2hlcyhIVE1MTmFtZXM6OmNsYXNzQXR0cikpCisg
ICAgICAgIHNldENsYXNzTmFtZShhdHRyLT52YWx1ZSgpKTsKKyAgICBlbHNlCisgICAgICAgIC8v
IGlkIGlzIGhhbmRsZWQgYnkgU3R5bGVkRWxlbWVudCB3aGljaCBTVkdFbGVtZW50IGluaGVyaXRz
IGZyb20KKyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9
CiAKIGJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyTmFtZSkKQEAgLTE4Niw3ICsxOTQsNyBAQCB2b2lkIFNWR1N0eWxlZEVsZW1l
bnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7
CiAgICAgU1ZHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAKLSAgICBp
ZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpjbGFzc0F0dHIpCisgICAgaWYgKGF0dHJOYW1lLm1h
dGNoZXMoSFRNTE5hbWVzOjpjbGFzc0F0dHIpKQogICAgICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5n
ZWQoY2xhc3NOYW1lKCkpOwogCiAgICAgLy8gSWYgd2UncmUgdGhlIGNoaWxkIG9mIGEgcmVzb3Vy
Y2UgZWxlbWVudCwgYmUgc3VyZSB0byBpbnZhbGlkYXRlIGl0Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24167</attachid>
            <date>2008-10-07 19:13:36 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Forgot to check in these changes in my last checkin.</desc>
            <filename>-Forgot-to-check-in-these-changes-in-my-last-checkin..patch</filename>
            <type>text/plain</type>
            <size>2766</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NmExNjNiMjJlZDg5ZDk3YWIyMDc4OWRkNWNlNjFkMzVlMWVjOGQ0NwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NWM1OGNjLi4zODE3OTI4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDkgQEAKKzIwMDgtMDEtMDcgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUu
Y29tPgorCisgICAgICAgIEZvcmdvdCB0byBjaGVjayBpbiB0aGVzZSBjaGFuZ2VzIGluIG15IGxh
c3QgY2hlY2tpbi4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHA6
CisKIDIwMDgtMDEtMDcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBCdWlsZCBmaXhlcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
U2FmYXJpLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcAppbmRl
eCA1MmQyYzY4Li4zYzk0Yjc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVNhZmFyaS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmku
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIK
KyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5kZXJTbGlkZXIuaCIKICNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmV0YWluUHRyLmgiCkBAIC00Myw2ICs0NCw3
IEBAIHVzaW5nIHN0ZDo6bWluOwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwogdXNpbmcgbmFtZXNwYWNlIFNhZmFyaVRoZW1lOwogCiBlbnVtIHsK
QEAgLTExMzEsOSArMTEzMywxMiBAQCBib29sIFJlbmRlclRoZW1lU2FmYXJpOjpwYWludE1lZGlh
TXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdAogICAgIEFTU0VS
VChTYWZhcmlUaGVtZUxpYnJhcnkoKSk7CiAKICAgICBOb2RlKiBub2RlID0gby0+ZWxlbWVudCgp
OwotICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IG5vZGUgPyBzdGF0aWNfY2Fz
dDxIVE1MTWVkaWFFbGVtZW50Kj4obm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCkpIDogMDsKKyAg
ICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCkgOiAw
OworICAgIGlmICghbWVkaWFOb2RlIHx8ICghbWVkaWFOb2RlLT5oYXNUYWdOYW1lKHZpZGVvVGFn
KSAmJiAhbWVkaWFOb2RlLT5oYXNUYWdOYW1lKGF1ZGlvVGFnKSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIGlmICghbm9kZSB8fCAhbWVkaWFFbGVtZW50KQorICAgIEhUTUxNZWRpYUVs
ZW1lbnQqIG1lZGlhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtZWRp
YU5vZGUpOworICAgIGlmICghbWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBwYWludFRoZW1lUGFydChtZWRpYUVsZW1lbnQtPm11dGVkKCkgPyBNZWRpYVVuTXV0ZUJ1
dHRvblBhcnQgOiBNZWRpYU11dGVCdXR0b25QYXJ0LCBwYWludEluZm8uY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCksIHIsIE5TUmVndWxhckNvbnRyb2xTaXplLCBkZXRlcm1pbmVTdGF0ZShvKSk7
CkBAIC0xMTQ2LDkgKzExNTEsMTIgQEAgYm9vbCBSZW5kZXJUaGVtZVNhZmFyaTo6cGFpbnRNZWRp
YVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3QKICAgICBBU1NF
UlQoU2FmYXJpVGhlbWVMaWJyYXJ5KCkpOwogCiAgICAgTm9kZSogbm9kZSA9IG8tPmVsZW1lbnQo
KTsKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBub2RlID8gc3RhdGljX2Nh
c3Q8SFRNTE1lZGlhRWxlbWVudCo+KG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpKSA6IDA7Cisg
ICAgTm9kZSogbWVkaWFOb2RlID0gbm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDog
MDsKKyAgICBpZiAoIW1lZGlhTm9kZSB8fCAoIW1lZGlhTm9kZS0+aGFzVGFnTmFtZSh2aWRlb1Rh
ZykgJiYgIW1lZGlhTm9kZS0+aGFzVGFnTmFtZShhdWRpb1RhZykpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBpZiAoIW5vZGUgfHwgIW1lZGlhRWxlbWVudCkKKyAgICBIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVk
aWFOb2RlKTsKKyAgICBpZiAoIW1lZGlhRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgcGFpbnRUaGVtZVBhcnQobWVkaWFFbGVtZW50LT5jYW5QbGF5KCkgPyBNZWRpYVBsYXlC
dXR0b25QYXJ0IDogTWVkaWFQYXVzZUJ1dHRvblBhcnQsIHBhaW50SW5mby5jb250ZXh0LT5wbGF0
Zm9ybUNvbnRleHQoKSwgciwgTlNSZWd1bGFyQ29udHJvbFNpemUsIGRldGVybWluZVN0YXRlKG8p
KTsKQEAgLTExODMsNiArMTE5MSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVTYWZhcmk6OnBhaW50TWVk
aWFTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIGRlZmluZWQoVVNFX1NBRkFSSV9USEVNRSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24168</attachid>
            <date>2008-10-07 19:13:38 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>WebCore:</desc>
            <filename>WebCore-.patch</filename>
            <type>text/plain</type>
            <size>35424</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NmIwMGUyNDEzZDBiYTJhMGY2YjY5ODVlMjUzZWY2NjY5YmMyMjU1OQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDYyZTYyNzIu
LjM5YjRlOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAwOC0wMS0wNyAgQWRhbSBCYXJ0aCAg
PGhrOTU2NUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKwor
ICAgICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1
MjMKKworICAgICAgICBBZGRzIG5ldyBMYXlvdXRUZXN0cyBmb3Igc2NyaXB0aW5nIGZyb20gYWJv
dXQ6Ymxhbmsgd2luZG93cy4gIFRoZXNlCisgICAgICAgIHdpbmRvd3Mgc2hvdWxkIGluaGVyaXQg
aXRzIFNlY3VyaXR5T3JpZ2luIGZyb20gaXRzIG9wZW5lciBhbmQgc2hvdWxkCisgICAgICAgIHJl
ZnVzZSB0byBjaGFuZ2UgdGhlaXIgb3JpZ2lucyB3aGVuIHRoZWlyIG9wZW5lciBjaGFuZ2VzIGV4
b2dlbm91c2x5CisgICAgICAgICh0aGUgbmF2aWdhdGUtb3BlbmVyIHRlc3RzKSBvciBleHBsaWNp
dGx5ICh0aGUgc2V0LW9wZW5lciB0ZXN0KS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvYWJvdXRCbGFuazogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91
dEJsYW5rL3hzcy1ERU5JRUQtbmF2aWdhdGUtb3BlbmVyLWRvY3VtZW50LXdyaXRlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hz
cy1ERU5JRUQtbmF2aWdhdGUtb3BlbmVyLWRvY3VtZW50LXdyaXRlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELW5hdmlnYXRl
LW9wZW5lci1qYXZhc2NyaXB0LXVybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELW5hdmlnYXRlLW9wZW5lci1q
YXZhc2NyaXB0LXVybC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2Fib3V0QmxhbmsveHNzLURFTklFRC1zZXQtb3BlbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQtc2V0LW9w
ZW5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNl
cy9pbm5vY2VudC12aWN0aW0td2l0aC1ub3RpZnkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvaW5ub2NlbnQtdmljdGltLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2xpYndyYXBqcy5qczogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvb3Blbi13aW5kb3cu
aHRtbDogQWRkZWQuCisKIDIwMDgtMDEtMDcgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudHRpLCBBZGFtLCBhbmQgTWl0ei4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVO
SUVELW5hdmlnYXRlLW9wZW5lci1kb2N1bWVudC13cml0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1uYXZpZ2F0ZS1v
cGVuZXItZG9jdW1lbnQtd3JpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjYyM2U3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1uYXZpZ2F0ZS1vcGVuZXItZG9j
dW1lbnQtd3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRo
IFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2lubm9jZW50LXZp
Y3RpbS13aXRoLW5vdGlmeS5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgYWJvdXQ6YmxhbmsuIERv
bWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KKworQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IFVuZGVmaW5lZCB2YWx1ZQorVGhpcyBwYWdlIG9wZW5zIGEgd2luZG93IHRvICIi
LCBpbmplY3RzIG1hbGljaW91cyBjb2RlLCBhbmQgdGhlbiBuYXZpZ2F0ZXMgaXRzIG9wZW5lciB0
byB0aGUgdmljdGltLiBUaGUgb3BlbmVkIHdpbmRvdyB0aGVuIHRyaWVzIHRvIHNjcmlwdHMgaXRz
IG9wZW5lciBhZnRlciBkb2N1bWVudC53cml0ZWluZyBhIG5ldyBkb2N1bWVudC4KK0NvZGUgaW5q
ZWN0ZWQgaW50byB3aW5kb3c6Cis8c2NyaXB0PmRvY3VtZW50LndyaXRlKCc8c2NyaXB0PmZ1bmN0
aW9uIHdyaXRlKHRhcmdldCwgbWVzc2FnZSkgeyB0YXJnZXQuZG9jdW1lbnQuYm9keS5pbm5lckhU
TUwgPSBtZXNzYWdlOyB9c2V0VGltZW91dChmdW5jdGlvbigpIHt3cml0ZSh3aW5kb3cub3BlbmVy
LCBcJ0ZBSUw6IFhTUyB3YXMgYWxsb3dlZC5cJyk7fSwgMTAwKTtzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkge3dyaXRlKHdpbmRvdy5vcGVuZXIudG9wLmZyYW1lc1sxXSwgXCdTVUNDRVNTOiBXaW5kb3cg
cmVtYWluZWQgaW4gb3JpZ2luYWwgU2VjdXJpdHlPcmlnaW4uXCcpO30sIDIwMCk7c2V0VGltZW91
dChmdW5jdGlvbigpIHsgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IHRydWU7IH0sIDMwMCk7PFwvc2NyaXB0PicpOzwvc2Ny
aXB0PgorIAorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0t
Pi0tPicKKy0tLS0tLS0tCitUaGlzIHBhZ2UgZG9lc24ndCBkbyBhbnl0aGluZyBzcGVjaWFsIChl
eGNlcHQgc2lnbmFsIHRoYXQgaXQgaGFzIGZpbmlzaGVkIGxvYWRpbmcpLgorCistLS0tLS0tLQor
RnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKKy0tLS0tLS0tCitTVUND
RVNTOiBXaW5kb3cgcmVtYWluZWQgaW4gb3JpZ2luYWwgU2VjdXJpdHlPcmlnaW4uCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklF
RC1uYXZpZ2F0ZS1vcGVuZXItZG9jdW1lbnQtd3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELW5hdmlnYXRlLW9wZW5lci1kb2N1
bWVudC13cml0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNzMz
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fi
b3V0QmxhbmsveHNzLURFTklFRC1uYXZpZ2F0ZS1vcGVuZXItZG9jdW1lbnQtd3JpdGUuaHRtbApA
QCAtMCwwICsxLDEwNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvbGlid3JhcGpzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3Jv
c3MtZnJhbWUtYWNjZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgdmFyIGNvZGU7Cisg
ICAgdmFyIG9wZW5lZFdpbmRvdzsKKworICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRDYW5PcGVuV2luZG93cygpOworICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgICAgIH0KKworICAgICAgICB2
YXIgbWVzc2FnZV9mYWlsID0gJ0ZBSUw6IFhTUyB3YXMgYWxsb3dlZC4nOworICAgICAgICB2YXIg
bWVzc2FnZV9zdWNjZXNzID0gJ1NVQ0NFU1M6IFdpbmRvdyByZW1haW5lZCBpbiBvcmlnaW5hbCBT
ZWN1cml0eU9yaWdpbi4nOworCisgICAgICAgIHZhciB3cml0ZV9mdW5jID0gJ2Z1bmN0aW9uIHdy
aXRlKHRhcmdldCwgbWVzc2FnZSkgeyB0YXJnZXQuZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBt
ZXNzYWdlOyB9JzsKKworICAgICAgICB2YXIgdHJ5X2F0dGFjayA9ICd3cml0ZSh3aW5kb3cub3Bl
bmVyLCAnICsgbGlid3JhcGpzLmluX3N0cmluZyhtZXNzYWdlX2ZhaWwpICsgJyk7JzsKKyAgICAg
ICAgdmFyIGF0dGFjayA9ICdzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeycgKyB0cnlfYXR0YWNrICsg
J30sIDEwMCk7JzsKKworICAgICAgICB2YXIgdHJ5X2NvbnRyb2wgPSAnd3JpdGUod2luZG93Lm9w
ZW5lci50b3AuZnJhbWVzWzFdLCAnICsgbGlid3JhcGpzLmluX3N0cmluZyhtZXNzYWdlX3N1Y2Nl
c3MpICsgJyk7JzsKKyAgICAgICAgdmFyIGNvbnRyb2wgPSAnc2V0VGltZW91dChmdW5jdGlvbigp
IHsnICsgdHJ5X2NvbnRyb2wgKyAnfSwgMjAwKTsnOworCisgICAgICAgIHZhciBzaWdEb25lID0g
J3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IGxheW91dFRlc3RDb250cm9sbGVyLmdsb2JhbEZsYWcgPSB0cnVlOyB9LCAzMDApOyc7CisKKyAg
ICAgICAgdmFyIHBheWxvYWQgPSAnZG9jdW1lbnQud3JpdGUoJyArIGxpYndyYXBqcy5pbl9zdHJp
bmcobGlid3JhcGpzLmluX3NjcmlwdF90YWcod3JpdGVfZnVuYyArIGF0dGFjayArIGNvbnRyb2wg
KyBzaWdEb25lKSkgKyAnKTsnOworICAgICAgICBjb2RlID0gbGlid3JhcGpzLmluX3NjcmlwdF90
YWcocGF5bG9hZCk7CisgICAgICAgIGxvZygiQ29kZSBpbmplY3RlZCBpbnRvIHdpbmRvdzoiKTsK
KyAgICAgICAgbG9nKGNvZGUpOworCisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQocG9sbEZvclRlc3QxLCAxKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxvZygiVG8gcnVuIHRoZSB0ZXN0LCBjbGljayB0aGUg
YnV0dG9uIGJlbG93IHdoZW4gdGhlIGZyYW1lcyBmaW5pc2ggbG9hZGluZy4iKTsKKyAgICAgICAg
ICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAgICAg
ICAgICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiUnVuIFRl
c3QiKSk7CisgICAgICAgICAgICBidXR0b24ub25jbGljayA9IHJ1blRlc3Q7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7CisgICAgICAgIH0KKyAgICB9Cisg
ICAgCisgICAgcG9sbEZvclRlc3QxID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKCFs
YXlvdXRUZXN0Q29udHJvbGxlci5nbG9iYWxGbGFnKSB7CisgICAgICAgICAgICBzZXRUaW1lb3V0
KHBvbGxGb3JUZXN0MSwgMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgcnVuVGVzdDEoKTsKKyAgICB9CisKKyAgICBydW5UZXN0MSA9IGZ1bmN0aW9uKCkgeworICAg
ICAgICBmcmFtZXNbMF0ub3BlbldpbmRvdygpOworICAgICAgICBvcGVuZWRXaW5kb3cgPSBmcmFt
ZXNbMF0ub3BlbmVkV2luZG93OworCisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5nbG9iYWxGbGFnID0gZmFs
c2U7CisKKyAgICAgICAgZnJhbWVzWzBdLmxvY2F0aW9uID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zZWN1cml0eS9yZXNvdXJjZXMvaW5ub2NlbnQtdmljdGltLXdpdGgtbm90aWZ5Lmh0bWwnOwor
CisgICAgICAgIHNldFRpbWVvdXQocG9sbEZvclRlc3QyLCAxKTsKKyAgICB9CisKKyAgICBwb2xs
Rm9yVGVzdDIgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAoIWxheW91dFRlc3RDb250
cm9sbGVyLmdsb2JhbEZsYWcpIHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQocG9sbEZvclRlc3Qy
LCAxKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBydW5UZXN0Migp
OworICAgIH0KKworICAgIHJ1blRlc3QyID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgb3Bl
bmVkV2luZG93LmRvY3VtZW50LndyaXRlKGNvZGUpOworICAgICAgICBvcGVuZWRXaW5kb3cuZG9j
dW1lbnQuY2xvc2UoKTsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IGZhbHNlOwor
ICAgICAgICAgICAgc2V0VGltZW91dChwb2xsRm9yRG9uZSwgMSk7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBwb2xsRm9yRG9uZSA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghbGF5
b3V0VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZykgeworICAgICAgICAgICAgc2V0VGltZW91dChw
b2xsRm9yRG9uZSwgMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAg
Y2xvc2VXaW5kb3dBbmROb3RpZnlEb25lKG9wZW5lZFdpbmRvdyk7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+VGhpcyBwYWdlIG9wZW5zIGEgd2luZG93IHRvICZxdW90
OyZxdW90OywgaW5qZWN0cyBtYWxpY2lvdXMgY29kZSwgYW5kCit0aGVuIG5hdmlnYXRlcyBpdHMg
b3BlbmVyIHRvIHRoZSB2aWN0aW0uICBUaGUgb3BlbmVkIHdpbmRvdyB0aGVuIHRyaWVzIHRvCitz
Y3JpcHRzIGl0cyBvcGVuZXIgYWZ0ZXIgPGNvZGU+ZG9jdW1lbnQud3JpdGU8L2NvZGU+aW5nIGEg
bmV3IGRvY3VtZW50LjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8aWZyYW1lIHN0
eWxlPSJib3JkZXI6IHNvbGlkIDNweCByZWQ7IiBzcmM9Ii4uL3Jlc291cmNlcy9vcGVuLXdpbmRv
dy5odG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgc3R5bGU9ImJvcmRlcjogc29saWQgM3B4IGdyZWVu
OyIgc3JjPSIuLi9yZXNvdXJjZXMvaW5ub2NlbnQtdmljdGltLmh0bWwiPjwvaWZyYW1lPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQtbmF2aWdhdGUtb3BlbmVyLWphdmFzY3JpcHQtdXJsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94
c3MtREVOSUVELW5hdmlnYXRlLW9wZW5lci1qYXZhc2NyaXB0LXVybC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRmZjllMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVE
LW5hdmlnYXRlLW9wZW5lci1qYXZhc2NyaXB0LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQg
dG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMvaW5ub2NlbnQtdmljdGltLXdpdGgtbm90aWZ5Lmh0bWwgZnJvbSBmcmFtZSB3aXRo
IFVSTCBhYm91dDpibGFuay4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNo
LgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogVW5kZWZpbmVkIHZhbHVlCitUaGlzIHBhZ2Ug
b3BlbnMgYSB3aW5kb3cgdG8gIiIsIGluamVjdHMgbWFsaWNpb3VzIGNvZGUsIGFuZCB0aGVuIG5h
dmlnYXRlcyBpdHMgb3BlbmVyIHRvIHRoZSB2aWN0aW0uIFRoZSBvcGVuZWQgd2luZG93IHRoZW4g
dHJpZXMgdG8gc2NyaXB0cyBpdHMgb3BlbmVyIGFmdGVyIHJlbG9hZGluZyBpdHNlbGYgYXMgYSBq
YXZhc2NyaXB0IFVSTC4KK0NvZGUgaW5qZWN0ZWQgaW50byB3aW5kb3c6Cis8c2NyaXB0PndpbmRv
dy5sb2NhdGlvbiA9ICdqYXZhc2NyaXB0OlwnPHNjcmlwdD5mdW5jdGlvbiB3cml0ZSh0YXJnZXQs
IG1lc3NhZ2UpIHsgdGFyZ2V0LmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gbWVzc2FnZTsgfXNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7d3JpdGUod2luZG93Lm9wZW5lciwgXFxcJ0ZBSUw6IFhTUyB3
YXMgYWxsb3dlZC5cXFwnKTt9LCAxMDApO3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7d3JpdGUod2lu
ZG93Lm9wZW5lci50b3AuZnJhbWVzWzFdLCBcXFwnU1VDQ0VTUzogV2luZG93IHJlbWFpbmVkIGlu
IG9yaWdpbmFsIFNlY3VyaXR5T3JpZ2luLlxcXCcpO30sIDIwMCk7c2V0VGltZW91dChmdW5jdGlv
bigpIHsgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZ2xvYmFsRmxhZyA9IHRydWU7IH0sIDMwMCk7PFxcXC9zY3JpcHQ+XCcnPC9zY3JpcHQ+Cisg
CisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+Jwor
LS0tLS0tLS0KK1RoaXMgcGFnZSBkb2Vzbid0IGRvIGFueXRoaW5nIHNwZWNpYWwgKGV4Y2VwdCBz
aWduYWwgdGhhdCBpdCBoYXMgZmluaXNoZWQgbG9hZGluZykuCisKKy0tLS0tLS0tCitGcmFtZTog
JzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+JworLS0tLS0tLS0KK1NVQ0NFU1M6IFdp
bmRvdyByZW1haW5lZCBpbiBvcmlnaW5hbCBTZWN1cml0eU9yaWdpbi4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELW5hdmln
YXRlLW9wZW5lci1qYXZhc2NyaXB0LXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQtbmF2aWdhdGUtb3BlbmVyLWphdmFzY3JpcHQt
dXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZlNjc2YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFu
ay94c3MtREVOSUVELW5hdmlnYXRlLW9wZW5lci1qYXZhc2NyaXB0LXVybC5odG1sCkBAIC0wLDAg
KzEsMTA2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9saWJ3
cmFwanMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jcm9zcy1mcmFt
ZS1hY2Nlc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2YXIgY29kZTsKKyAgICB2YXIg
b3BlbmVkV2luZG93OworCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBtZXNz
YWdlX2ZhaWwgPSAnRkFJTDogWFNTIHdhcyBhbGxvd2VkLic7CisgICAgICAgIHZhciBtZXNzYWdl
X3N1Y2Nlc3MgPSAnU1VDQ0VTUzogV2luZG93IHJlbWFpbmVkIGluIG9yaWdpbmFsIFNlY3VyaXR5
T3JpZ2luLic7CisKKyAgICAgICAgdmFyIHdyaXRlX2Z1bmMgPSAnZnVuY3Rpb24gd3JpdGUodGFy
Z2V0LCBtZXNzYWdlKSB7IHRhcmdldC5kb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IG1lc3NhZ2U7
IH0nOworCisgICAgICAgIHZhciB0cnlfYXR0YWNrID0gJ3dyaXRlKHdpbmRvdy5vcGVuZXIsICcg
KyBsaWJ3cmFwanMuaW5fc3RyaW5nKG1lc3NhZ2VfZmFpbCkgKyAnKTsnOworICAgICAgICB2YXIg
YXR0YWNrID0gJ3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7JyArIHRyeV9hdHRhY2sgKyAnfSwgMTAw
KTsnOworCisgICAgICAgIHZhciB0cnlfY29udHJvbCA9ICd3cml0ZSh3aW5kb3cub3BlbmVyLnRv
cC5mcmFtZXNbMV0sICcgKyBsaWJ3cmFwanMuaW5fc3RyaW5nKG1lc3NhZ2Vfc3VjY2VzcykgKyAn
KTsnOworICAgICAgICB2YXIgY29udHJvbCA9ICdzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeycgKyB0
cnlfY29udHJvbCArICd9LCAyMDApOyc7CisKKyAgICAgICAgdmFyIHNpZ0RvbmUgPSAnc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IHRydWU7IH0sIDMwMCk7JzsKKworICAgICAgICB2
YXIgcGF5bG9hZCA9ICd3aW5kb3cubG9jYXRpb24gPSAnICsgbGlid3JhcGpzLmluX2phdmFzY3Jp
cHRfZG9jdW1lbnQod3JpdGVfZnVuYyArIGF0dGFjayArIGNvbnRyb2wgKyBzaWdEb25lKTsKKyAg
ICAgICAgY29kZSA9IGxpYndyYXBqcy5pbl9zY3JpcHRfdGFnKHBheWxvYWQpOworICAgICAgICBs
b2coIkNvZGUgaW5qZWN0ZWQgaW50byB3aW5kb3c6Iik7CisgICAgICAgIGxvZyhjb2RlKTsKKwor
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBz
ZXRUaW1lb3V0KHBvbGxGb3JUZXN0MSwgMSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBsb2coIlRvIHJ1biB0aGUgdGVzdCwgY2xpY2sgdGhlIGJ1dHRvbiBiZWxvdyB3aGVuIHRoZSBm
cmFtZXMgZmluaXNoIGxvYWRpbmcuIik7CisgICAgICAgICAgICB2YXIgYnV0dG9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisgICAgICAgICAgICBidXR0b24uYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlJ1biBUZXN0IikpOworICAgICAgICAgICAgYnV0
dG9uLm9uY2xpY2sgPSBydW5UZXN0OworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChidXR0b24pOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIHBvbGxGb3JUZXN0MSA9
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghbGF5b3V0VGVzdENvbnRyb2xsZXIuZ2xv
YmFsRmxhZykgeworICAgICAgICAgICAgc2V0VGltZW91dChwb2xsRm9yVGVzdDEsIDEpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJ1blRlc3QxKCk7CisgICAgfQor
CisgICAgcnVuVGVzdDEgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZnJhbWVzWzBdLm9wZW5XaW5k
b3coKTsKKyAgICAgICAgb3BlbmVkV2luZG93ID0gZnJhbWVzWzBdLm9wZW5lZFdpbmRvdzsKKwor
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IGZhbHNlOworCisgICAgICAgIGZyYW1lc1sw
XS5sb2NhdGlvbiA9ICdodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2lu
bm9jZW50LXZpY3RpbS13aXRoLW5vdGlmeS5odG1sJzsKKworICAgICAgICBzZXRUaW1lb3V0KHBv
bGxGb3JUZXN0MiwgMSk7CisgICAgfQorCisgICAgcG9sbEZvclRlc3QyID0gZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgaWYgKCFsYXlvdXRUZXN0Q29udHJvbGxlci5nbG9iYWxGbGFnKSB7Cisg
ICAgICAgICAgICBzZXRUaW1lb3V0KHBvbGxGb3JUZXN0MiwgMSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgcnVuVGVzdDIoKTsKKyAgICB9CisKKyAgICBydW5UZXN0
MiA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIG9wZW5lZFdpbmRvdy5kb2N1bWVudC53cml0
ZShjb2RlKTsKKyAgICAgICAgb3BlbmVkV2luZG93LmRvY3VtZW50LmNsb3NlKCk7CisgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmdsb2JhbEZsYWcgPSBmYWxzZTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQo
cG9sbEZvckRvbmUsIDEpOworICAgICAgICB9CisgICAgfQorCisgICAgcG9sbEZvckRvbmUgPSBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAoIWxheW91dFRlc3RDb250cm9sbGVyLmdsb2Jh
bEZsYWcpIHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQocG9sbEZvckRvbmUsIDEpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGNsb3NlV2luZG93QW5kTm90aWZ5RG9u
ZShvcGVuZWRXaW5kb3cpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PlRoaXMgcGFnZSBvcGVucyBhIHdpbmRvdyB0byAmcXVvdDsmcXVvdDssIGluamVjdHMgbWFsaWNp
b3VzIGNvZGUsIGFuZAordGhlbiBuYXZpZ2F0ZXMgaXRzIG9wZW5lciB0byB0aGUgdmljdGltLiAg
VGhlIG9wZW5lZCB3aW5kb3cgdGhlbiB0cmllcyB0bworc2NyaXB0cyBpdHMgb3BlbmVyIGFmdGVy
IHJlbG9hZGluZyBpdHNlbGYgYXMgYSA8Y29kZT5qYXZhc2NyaXB0PC9jb2RlPgorVVJMLjwvZGl2
PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8aWZyYW1lIHN0eWxlPSJib3JkZXI6IHNvbGlk
IDNweCByZWQ7IiBzcmM9Ii4uL3Jlc291cmNlcy9vcGVuLXdpbmRvdy5odG1sIj48L2lmcmFtZT4K
KzxpZnJhbWUgc3R5bGU9ImJvcmRlcjogc29saWQgM3B4IGdyZWVuOyIgc3JjPSIuLi9yZXNvdXJj
ZXMvaW5ub2NlbnQtdmljdGltLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hzcy1E
RU5JRUQtc2V0LW9wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1zZXQtb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTg2N2FiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQt
c2V0LW9wZW5lci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvaW5ub2NlbnQtdmlj
dGltLmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBhYm91dDpibGFuay4gRG9tYWlucywgcHJvdG9j
b2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogVW5k
ZWZpbmVkIHZhbHVlCitUaGlzIHBhZ2Ugb3BlbnMgYSB3aW5kb3cgdG8gIiIsIGluamVjdHMgbWFs
aWNpb3VzIGNvZGUsIGFuZCB0aGVuIHVzZXMgd2luZG93Lm9wZW4uY2FsbCB0byBzZXQgaXRzIG9w
ZW5lciB0byB0aGUgdmljdGltLiBUaGUgb3BlbmVkIHdpbmRvdyB0aGVuIHRyaWVzIHRvIHNjcmlw
dHMgaXRzIG9wZW5lci4KK0NvZGUgaW5qZWN0ZWQgaW50byB3aW5kb3c6Cis8c2NyaXB0PmZ1bmN0
aW9uIHdyaXRlKHRhcmdldCwgbWVzc2FnZSkgeyB0YXJnZXQuZG9jdW1lbnQuYm9keS5pbm5lckhU
TUwgPSBtZXNzYWdlOyB9CitzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3dyaXRlKHdpbmRvdy5vcGVu
ZXIudG9wLmZyYW1lc1swXSwgJ0ZBSUw6IFhTUyB3YXMgYWxsb3dlZC4nKTt9LCAxMDApOworc2V0
VGltZW91dChmdW5jdGlvbigpIHt3cml0ZSh3aW5kb3cub3BlbmVyLnRvcC5mcmFtZXNbMV0sICdT
VUNDRVNTOiBXaW5kb3cgcmVtYWluZWQgaW4gb3JpZ2luYWwgU2VjdXJpdHlPcmlnaW4uJyk7fSwg
MjAwKTsKK3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIGxheW91dFRlc3RDb250cm9sbGVyLmdsb2JhbEZsYWcgPSB0cnVlOyB9LCAzMDApOzwv
c2NyaXB0PgorIAorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MC0tPi0tPicKKy0tLS0tLS0tCitUaGlzIHBhZ2UgZG9lc24ndCBkbyBhbnl0aGluZyBzcGVjaWFs
LgorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicK
Ky0tLS0tLS0tCitTVUNDRVNTOiBXaW5kb3cgcmVtYWluZWQgaW4gb3JpZ2luYWwgU2VjdXJpdHlP
cmlnaW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0
QmxhbmsveHNzLURFTklFRC1zZXQtb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1zZXQtb3BlbmVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVmMTQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELXNldC1v
cGVuZXIuaHRtbApAQCAtMCwwICsxLDc2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9saWJ3cmFwanMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jcm9zcy1mcmFtZS1hY2Nlc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB2
YXIgY29kZTsKKyAgICB2YXIgb3BlbmVkV2luZG93OworCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgfQor
CisgICAgICAgIHZhciBtZXNzYWdlX2ZhaWwgPSAnRkFJTDogWFNTIHdhcyBhbGxvd2VkLic7Cisg
ICAgICAgIHZhciBtZXNzYWdlX3N1Y2Nlc3MgPSAnU1VDQ0VTUzogV2luZG93IHJlbWFpbmVkIGlu
IG9yaWdpbmFsIFNlY3VyaXR5T3JpZ2luLic7CisKKyAgICAgICAgdmFyIHdyaXRlX2Z1bmMgPSAn
ZnVuY3Rpb24gd3JpdGUodGFyZ2V0LCBtZXNzYWdlKSB7IHRhcmdldC5kb2N1bWVudC5ib2R5Lmlu
bmVySFRNTCA9IG1lc3NhZ2U7IH1cbic7CisKKyAgICAgICAgdmFyIHRyeV9hdHRhY2sgPSAnd3Jp
dGUod2luZG93Lm9wZW5lci50b3AuZnJhbWVzWzBdLCAnICsgbGlid3JhcGpzLmluX3N0cmluZyht
ZXNzYWdlX2ZhaWwpICsgJyk7JzsKKyAgICAgICAgdmFyIGF0dGFjayA9ICdzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgeycgKyB0cnlfYXR0YWNrICsgJ30sIDEwMCk7XG4nOworCisgICAgICAgIHZhciB0
cnlfY29udHJvbCA9ICd3cml0ZSh3aW5kb3cub3BlbmVyLnRvcC5mcmFtZXNbMV0sICcgKyBsaWJ3
cmFwanMuaW5fc3RyaW5nKG1lc3NhZ2Vfc3VjY2VzcykgKyAnKTsnOworICAgICAgICB2YXIgY29u
dHJvbCA9ICdzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeycgKyB0cnlfY29udHJvbCArICd9LCAyMDAp
O1xuJzsKKworICAgICAgICB2YXIgc2lnRG9uZSA9ICdzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSBsYXlvdXRUZXN0Q29udHJvbGxlci5nbG9i
YWxGbGFnID0gdHJ1ZTsgfSwgMzAwKTsnOworCisgICAgICAgIHZhciBwYXlsb2FkID0gd3JpdGVf
ZnVuYyArIGF0dGFjayArIGNvbnRyb2wgKyBzaWdEb25lOworICAgICAgICBjb2RlID0gbGlid3Jh
cGpzLmluX3NjcmlwdF90YWcocGF5bG9hZCk7CisgICAgICAgIGxvZygiQ29kZSBpbmplY3RlZCBp
bnRvIHdpbmRvdzoiKTsKKyAgICAgICAgbG9nKGNvZGUpOworCisgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGxvZygiVG8gcnVuIHRoZSB0ZXN0LCBjbGljayB0aGUgYnV0
dG9uIGJlbG93IHdoZW4gdGhlIGZyYW1lcyBmaW5pc2ggbG9hZGluZy4iKTsKKyAgICAgICAgICAg
IHZhciBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAgICAgICAg
ICAgIGJ1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiUnVuIFRlc3Qi
KSk7CisgICAgICAgICAgICBidXR0b24ub25jbGljayA9IHJ1blRlc3Q7CisgICAgICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBydW5UZXN0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgb3BlbmVkV2luZG93ID0gd2lu
ZG93Lm9wZW4oJycsICdhdHRhY2tlcicpOworICAgICAgICBvcGVuZWRXaW5kb3cuZG9jdW1lbnQu
d3JpdGUoY29kZSk7CisgICAgICAgIG9wZW5lZFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpOworCisg
ICAgICAgIHdpbmRvdy5vcGVuLmNhbGwoZnJhbWVzWzBdLCAnJywgJ2F0dGFja2VyJyk7CisKKyAg
ICAgICAgc2V0VGltZW91dChwb2xsRm9yRG9uZSwgMSk7CisgICAgfQorCisgICAgcG9sbEZvckRv
bmUgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAoIWxheW91dFRlc3RDb250cm9sbGVy
Lmdsb2JhbEZsYWcpIHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQocG9sbEZvckRvbmUsIDEpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGNsb3NlV2luZG93QW5kTm90
aWZ5RG9uZShvcGVuZWRXaW5kb3cpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PlRoaXMgcGFnZSBvcGVucyBhIHdpbmRvdyB0byAmcXVvdDsmcXVvdDssIGluamVjdHMg
bWFsaWNpb3VzIGNvZGUsIGFuZAordGhlbiB1c2VzIDxjb2RlPndpbmRvdy5vcGVuLmNhbGw8L2Nv
ZGU+IHRvIHNldCBpdHMgb3BlbmVyIHRvIHRoZSB2aWN0aW0uCitUaGUgb3BlbmVkIHdpbmRvdyB0
aGVuIHRyaWVzIHRvIHNjcmlwdHMgaXRzIG9wZW5lci48L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPgorPGlmcmFtZSBzdHlsZT0iYm9yZGVyOiBzb2xpZCAzcHggcmVkOyIgc3JjPSJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2lubm9jZW50LXZpY3RpbS5odG1s
Ij48L2lmcmFtZT4KKzxpZnJhbWUgc3R5bGU9ImJvcmRlcjogc29saWQgM3B4IGdyZWVuOyIgc3Jj
PSIuLi9yZXNvdXJjZXMvaW5ub2NlbnQtdmljdGltLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNv
dXJjZXMvaW5ub2NlbnQtdmljdGltLXdpdGgtbm90aWZ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9pbm5vY2VudC12aWN0aW0td2l0aC1ub3RpZnkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmI3NTBmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvaW5ub2Nl
bnQtdmljdGltLXdpdGgtbm90aWZ5Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBvbmxvYWQgPSBmdW5jdGlvbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZ2xvYmFsRmxhZyA9IHRydWU7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyBwYWdlIGRvZXNuJ3QgZG8gYW55
dGhpbmcgc3BlY2lhbCAoZXhjZXB0IHNpZ25hbCB0aGF0IGl0IGhhcyBmaW5pc2hlZCBsb2FkaW5n
KS4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvcmVzb3VyY2VzL2lubm9jZW50LXZpY3RpbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvaW5ub2NlbnQtdmljdGltLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiZDUwMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2lubm9jZW50LXZpY3RpbS5o
dG1sCkBAIC0wLDAgKzEsNSBAQAorPGh0bWw+Cis8Ym9keT4KK1RoaXMgcGFnZSBkb2Vzbid0IGRv
IGFueXRoaW5nIHNwZWNpYWwuCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9saWJ3cmFwanMuanMgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9saWJ3cmFwanMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQ1MWNhMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2xpYndyYXBqcy5qcwpAQCAt
MCwwICsxLDYyIEBACisvLyBMaWJyYXJ5IGZvciB3cmFwaW5nIEphdmFTY3JpcHQgY29kZSBmb3Ig
ZGlmZmVyZW50IGV2YWx1YXRpb24gY29udGV4dHMuCisKK3ZhciBsaWJ3cmFwanMgPSB7CisgIHRy
YW5zZm9ybV9lYWNoX2NoYXJhY3RlcjogZnVuY3Rpb24oc3RyLCB0cmFuc2Zvcm0pIHsKKyAgICB2
YXIgcmVzdWx0ID0gbmV3IEFycmF5KCk7CisgICAgZm9yICh2YXIgaT0wOyBpIDwgc3RyLmxlbmd0
aDsgKytpKQorICAgICAgcmVzdWx0LnB1c2godHJhbnNmb3JtKHN0ci5jaGFyQXQoaSkpKTsKKyAg
ICByZXR1cm4gcmVzdWx0LmpvaW4oJycpOworICB9LAorCisgIGVzY2FwZV9mb3Jfc2luZ2xlX3F1
b3RlOiBmdW5jdGlvbihzdHIpIHsKKyAgICBmdW5jdGlvbiB0cmFuc2Zvcm0oY2gpIHsKKyAgICAg
IGlmIChjaCA9PSAiXFwiKQorICAgICAgICByZXR1cm4gIlxcXFwiOworICAgICAgaWYgKGNoID09
ICIvIikKKyAgICAgICAgcmV0dXJuICJcXC8iOworICAgICAgaWYgKGNoID09ICInIikKKyAgICAg
ICAgcmV0dXJuICJcXCciOworICAgICAgcmV0dXJuIGNoOworICAgIH0KKyAgICByZXR1cm4gdGhp
cy50cmFuc2Zvcm1fZWFjaF9jaGFyYWN0ZXIoc3RyLCB0cmFuc2Zvcm0pOworICB9LAorCisgIGVz
Y2FwZV9mb3JfaHRtbDogZnVuY3Rpb24oc3RyKSB7CisgICAgZnVuY3Rpb24gdHJhbnNmb3JtKGNo
KSB7CisgICAgICBpZiAoY2ggPT0gIjwiKQorICAgICAgICByZXR1cm4gIiZsdDsiOworICAgICAg
aWYgKGNoID09ICI+IikKKyAgICAgICAgcmV0dXJuICImZ3Q7IjsKKyAgICAgIGlmIChjaCA9PSAi
JiIpCisgICAgICAgIHJldHVybiAiJmFtcDsiOworICAgICAgaWYgKGNoID09ICJcbiIpCisgICAg
ICAgIHJldHVybiAiPGJyIC8+IgorICAgICAgaWYgKGNoID09ICJcIiIpCisgICAgICAgIHJldHVy
biAiJnF1b3Q7IjsKKyAgICAgIHJldHVybiBjaDsKKyAgICB9CisgICAgcmV0dXJuIHRoaXMudHJh
bnNmb3JtX2VhY2hfY2hhcmFjdGVyKHN0ciwgdHJhbnNmb3JtKTsKKyAgfSwKKworICBpbl9zdHJp
bmc6IGZ1bmN0aW9uKGNvZGUpIHsKKyAgICByZXR1cm4gIiciICsgdGhpcy5lc2NhcGVfZm9yX3Np
bmdsZV9xdW90ZShjb2RlKSArICInIjsKKyAgfSwKKworICBpbl9zY3JpcHRfdGFnOiBmdW5jdGlv
bihjb2RlKSB7CisgICAgcmV0dXJuICI8c2NyaXB0PiIgKyBjb2RlICsgIjwvc2NyIiArICJpcHQ+
IjsKKyAgfSwKKworICBpbl9kb2N1bWVudF93cml0ZTogZnVuY3Rpb24oY29kZSkgeworICAgIHJl
dHVybiAiZG9jdW1lbnQud3JpdGUoIiArIHRoaXMuaW5fc3RyaW5nKHRoaXMuaW5fc2NyaXB0X3Rh
Zyhjb2RlKSkgKyAiKSI7CisgIH0sCisKKyAgaW5famF2YXNjcmlwdF91cmw6IGZ1bmN0aW9uKGNv
ZGUpIHsKKyAgICByZXR1cm4gdGhpcy5pbl9zdHJpbmcoImphdmFzY3JpcHQ6dm9pZCgiICsgY29k
ZSArICIpIik7CisgIH0sCisKKyAgaW5famF2YXNjcmlwdF9kb2N1bWVudDogZnVuY3Rpb24oY29k
ZSkgeworICAgIHJldHVybiB0aGlzLmluX3N0cmluZygiamF2YXNjcmlwdDoiICsKKyAgICAgICAg
ICAgICAgIHRoaXMuaW5fc3RyaW5nKHRoaXMuaW5fc2NyaXB0X3RhZyhjb2RlKSkpOworICB9Cit9
OworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNl
cy9vcGVuLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNv
dXJjZXMvb3Blbi13aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44ZDNlMTlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9yZXNvdXJjZXMvb3Blbi13aW5kb3cuaHRtbApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmdsb2JhbEZsYWcgPSB0cnVlOworICAgIH0gCisKKyAgICB2YXIg
d2luZG93VVJMID0gJyc7CisgICAgdmFyIG9wZW5lZFdpbmRvdzsKKyAgICBmdW5jdGlvbiBvcGVu
V2luZG93KCkKKyAgICB7CisgICAgICAgIG9wZW5lZFdpbmRvdyA9IHdpbmRvdy5vcGVuKHdpbmRv
d1VSTCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxidXR0b24gb25jbGlj
az0ib3BlbldpbmRvdygpIj5PcGVuIFdpbmRvdzwvYnV0dG9uPgorPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDVjYTE0NGMuLjYwYzQ1MTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xOTYsNiArMTk2LDkgQEAgaHR0cC90ZXN0cy9zZWN1cml0
eS9qYXZhc2NyaXB0VVJML3hzcy1BTExPV0VELWZyb20tamF2YXNjcmlwdC11cmwtd2luZG93LW9w
ZW4uaHQKIGh0dHAvdGVzdHMvc2VjdXJpdHkvamF2YXNjcmlwdFVSTC94c3MtQUxMT1dFRC10by1q
YXZhc2NyaXB0LXVybC13aW5kb3ctb3Blbi5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2phdmFz
Y3JpcHRVUkwveHNzLURFTklFRC1mcm9tLWphdmFzY3JpcHQtdXJsLWluLWZvcmVpZ24tZG9tYWlu
LXdpbmRvdy1vcGVuLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvamF2YXNjcmlwdFVSTC94c3Mt
REVOSUVELXRvLWphdmFzY3JpcHQtdXJsLWluLWZvcmVpZ24tZG9tYWluLXdpbmRvdy1vcGVuLmh0
bWwKK2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELXNldC1vcGVuZXIu
aHRtbAoraHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQtbmF2aWdhdGUt
b3BlbmVyLWRvY3VtZW50LXdyaXRlLmh0bWwKK2h0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFu
ay94c3MtREVOSUVELW5hdmlnYXRlLW9wZW5lci1qYXZhc2NyaXB0LXVybC5odG1sCiAKICMgRFJU
IGlzIG5vdCBmdWxseSBpbXBsZW1lbnRlZCBpbiBib29tZXIgPHJkYXI6Ly9wcm9ibGVtLzUxMjgy
NjE+CiBmYXN0L2RvbS9XaW5kb3cvc2V0dGluZy1wcm9wZXJ0aWVzLW9uLWNsb3NlZC13aW5kb3cu
aHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAzODE3OTI4Li42ZDZjNzQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDA4LTAxLTA3ICBBZGFtIEJh
cnRoICA8aGs5NTY1QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vpbmln
CisKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjU3NDQ3PgorCisgICAgICAgIFdoZW4g
YSBmcmFtZSBpcyBjcmVhdGVkIHdpdGggdGhlIFVSTCAiYWJvdXQ6YmxhbmsiIG9yICIiLCBpdCBz
aG91bGQKKyAgICAgICAgaW5oZXJpdCBpdHMgU2VjdXJpdHlPcmlnaW4gZnJvbSBpdHMgb3BlbmVy
LiAgSG93ZXZlciwgb25jZSBpdCBoYXMKKyAgICAgICAgZGVjaWRlZCBvbiB0aGF0IFNlY3VyaXR5
T3JpZ2luLCBpdCBzaG91bGQgbm90IGNoYW5nZSBpdHMgbWluZC4KKyAgICAgICAgUHJpb3IgdG8g
dGhpcyBwYXRjaCwgc2V2ZXJhbCBldmVudHMgY291bGQgaW5kdWNlIHRoZSBmcmFtZSB0byBjaGFu
Z2UKKyAgICAgICAgaXRzIFNlY3VyaXR5T3JpZ2luLCBwZXJtaXR0aW5nIGFuIGF0dGFja2VyIHRv
IGluamVjdCBzY3JpcHQgaW50byBhbgorICAgICAgICBhcmJpdHJhcnkgU2VjdXJpdHlPcmlnaW4u
CisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBzZXZlcmFsIGNoYW5nZXM6CisKKyAgICAgICAg
MSkgRG9jdW1lbnRzIHJlZnVzZSB0byBjaGFuZ2UgZnJvbSBvbmUgU2VjdXJpdHlPcmlnaW4gdG8g
YW5vdGhlcgorICAgICAgICAgICB1bmxlc3MgZXhwbGljaXRseSBpbnN0cnVjdGVkIHRvIGRvIHNv
LgorCisgICAgICAgIDIpIE5hdmlnYXRpbmcgdG8gYSBKYXZhU2NyaXB0IFVSTCB0aGF0IHByb2R1
Y2VzIGEgdmFsdWUKKyAgICAgICAgICAgcHJlc2VydmVzIHRoZSBjdXJyZW50IFNlY3VyaXR5T3Jp
Z2luIGV4cGxpY2l0bHkgaW5zdGVhZCBvZgorICAgICAgICAgICByZWx5aW5nIG9uIHRoZSBVUkwg
dG8gcHJlc2VydmUgdGhlIG9yaWdpbiAod2hpY2ggZmFpbHMgZm9yCisgICAgICAgICAgIGFib3V0
OmJsYW5rIFVSTHMgYW5kIFNlY3VyaXR5T3JpZ2lucyB3aXRoIGRvY3VtZW50LmRvbWFpbiBzZXQp
LgorCisgICAgICAgICAgIElkZWFsbHksIHdlIHNob3VsZCBub3QgcHJlc2VydmUgdGhlIFVSTCBh
dCBhbGwuICBJbnN0ZWFkLCB0aGUKKyAgICAgICAgICAgZnJhbWUncyBVUkwgc2hvdWxkIGJlIHRo
ZSBKYXZhU2NyaXB0IFVSTCwgYXMgaW4gRmlyZWZveCwgYnV0IHRoaXMKKyAgICAgICAgICAgd291
bGQgcmVxdWlyZSBjaGFuZ2VzIHRoYXQgYXJlIHRvbyByaXNreSBmb3IgdGhpcyBwYXRjaC4gIEkn
bGwKKyAgICAgICAgICAgZmlsZSB0aGlzIGFzIGEgc2VwYXJhdGUgaXNzdWUuCisKKyAgICAgICAg
MykgVmFyaW91cyBtZXRob2RzIG9mIG5hdmlnYXRpbmcgdG8gSmF2YVNjcmlwdCBVUkxzIHdlcmUg
bm90CisgICAgICAgICAgIHByb3Blcmx5IGhhbmRsaW5nIEphdmFTY3JpcHQgdGhhdCByZXR1cm5l
ZCBhIHZhbHVlIChhbmQgc2hvdWxkCisgICAgICAgICAgIHRoZXJlZm9yZSByZXBsYWNlIHRoZSBj
dXJyZW50IGRvY3VtZW50KS4gIFRoaXMgcGF0Y2ggdW5pZmllcworICAgICAgICAgICB0aG9zZSBj
b2RlIHBhdGhzIHdpdGggdGhlIHBhdGggdGhhdCB3b3Jrcy4KKworICAgICAgICAgICBUaGVyZSBh
cmUgc3RpbGwgYSBoYW5kZnVsIG9mIGJ1Z3MgcmVsYXRpbmcgdG8gdGhlIGhhbmRsaW5nIG9mCisg
ICAgICAgICAgIEphdmFTY3JpcHQgVVJMcywgYnV0IEknbGwgZmlsZSB0aG9zZSBhcyBzZXBhcmF0
ZSBpc3N1ZXMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFu
ay94c3MtREVOSUVELW5hdmlnYXRlLW9wZW5lci1kb2N1bWVudC13cml0ZS5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1uYXZpZ2F0
ZS1vcGVuZXItamF2YXNjcmlwdC11cmwuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9z
ZWN1cml0eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQtc2V0LW9wZW5lci5odG1sCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmluaXRTZWN1
cml0eU9yaWdpbik6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6c2V0U2VjdXJpdHlPcmlnaW4pOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2hhbmdlTG9jYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXF1ZXN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OmJlZ2luKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TZWN1cml0eU9yaWdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bjo6c2V0Rm9yVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVG
b3JGcmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vU2VjdXJpdHlPcmlnaW4uaDoKKwogMjAwOC0w
MS0wNyAgQWRlbGUgUGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgRm9yZ290
IHRvIGNoZWNrIGluIHRoZXNlIGNoYW5nZXMgaW4gbXkgbGFzdCBjaGVja2luLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDE3OGVhYTguLjJmMDc1MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM3MTYsNiArMzcxNiw5IEBAIGJv
b2wgRG9jdW1lbnQ6OnVzZVNlY3VyZUtleWJvYXJkRW50cnlXaGVuQWN0aXZlKCkgY29uc3QKIAog
dm9pZCBEb2N1bWVudDo6aW5pdFNlY3VyaXR5T3JpZ2luKCkKIHsKKyAgICBpZiAobV9zZWN1cml0
eU9yaWdpbiAmJiAhbV9zZWN1cml0eU9yaWdpbi0+aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
ICAvLyBtX3NlY3VyaXR5T3JpZ2luIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuCisKICAg
ICBtX3NlY3VyaXR5T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZvckZyYW1lKG1fZnJh
bWUpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAppbmRleCAxZWRlNDNlLi43OGYwYzA0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTg0OSw2ICs4
NDksMTEgQEAgcHVibGljOgogICAgIHZvaWQgaW5pdFNlY3VyaXR5T3JpZ2luKCk7CiAgICAgU2Vj
dXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zZWN1cml0eU9y
aWdpbi5nZXQoKTsgfQogCisgICAgLy8gRXhwbGljaXRseSBvdmVycmlkZSB0aGUgc2VjdXJpdHkg
b3JpZ2luIGZvciB0aGlzIGRvY3VtZW50LgorICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0
byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdpbiBvZiBhIGRvY3VtZW50CisgICAgLy8gICAgICAg
dGhhdCBhbHJlYWR5IGNvbnRhaW5zIGNvbnRlbnQuCisgICAgdm9pZCBzZXRTZWN1cml0eU9yaWdp
bihTZWN1cml0eU9yaWdpbiogbykgeyBtX3NlY3VyaXR5T3JpZ2luID0gbzsgfQorCiAgICAgYm9v
bCBwcm9jZXNzaW5nTG9hZEV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzaW5nTG9hZEV2
ZW50OyB9CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
YzVlNTUzOC4uMDcyMTA5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzc0LDE4ICszNzQs
NiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjaGFuZ2VMb2NhdGlvbihjb25zdCBTdHJpbmcmIHVybCwg
Y29uc3QgU3RyaW5nJiByZWZlcnJlciwgYm9vbAogCiB2b2lkIEZyYW1lTG9hZGVyOjpjaGFuZ2VM
b2NhdGlvbihjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgbG9j
a0hpc3RvcnksIGJvb2wgdXNlckdlc3R1cmUpCiB7Ci0gICAgaWYgKHVybC5kZXByZWNhdGVkU3Ry
aW5nKCkuZmluZCgiamF2YXNjcmlwdDoiLCAwLCBmYWxzZSkgPT0gMCkgewotICAgICAgICBTdHJp
bmcgc2NyaXB0ID0gS1VSTDo6ZGVjb2RlX3N0cmluZyh1cmwuZGVwcmVjYXRlZFN0cmluZygpLm1p
ZChzdHJsZW4oImphdmFzY3JpcHQ6IikpKTsKLSAgICAgICAgSlNWYWx1ZSogcmVzdWx0ID0gZXhl
Y3V0ZVNjcmlwdChzY3JpcHQsIHVzZXJHZXN0dXJlKTsKLSAgICAgICAgU3RyaW5nIHNjcmlwdFJl
c3VsdDsKLSAgICAgICAgaWYgKGdldFN0cmluZyhyZXN1bHQsIHNjcmlwdFJlc3VsdCkpIHsKLSAg
ICAgICAgICAgIGJlZ2luKG1fVVJMKTsKLSAgICAgICAgICAgIHdyaXRlKHNjcmlwdFJlc3VsdCk7
Ci0gICAgICAgICAgICBlbmQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQot
CiAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgcG9saWN5ID0gKG1fY2FjaGVQb2xpY3kg
PT0gQ2FjaGVQb2xpY3lSZWxvYWQpIHx8IChtX2NhY2hlUG9saWN5ID09IENhY2hlUG9saWN5UmVm
cmVzaCkKICAgICAgICAgPyBSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSA6IFVzZVByb3RvY29sQ2Fj
aGVQb2xpY3k7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QodXJsLCByZWZlcnJlciwgcG9s
aWN5KTsKQEAgLTM5NSwxNiArMzgzLDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoYW5nZUxvY2F0
aW9uKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgYm9vbCBsCiAKIHZv
aWQgRnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgU3RyaW5nJiBfdGFyZ2V0LCBFdmVudCogdHJpZ2dlcmluZ0V2ZW50LCBib29sIGxv
Y2tIaXN0b3J5LCBib29sIHVzZXJHZXN0dXJlKQogeworICAgIGlmIChleGVjdXRlSWZKYXZhU2Ny
aXB0VVJMKHJlcXVlc3QudXJsKCksIHVzZXJHZXN0dXJlKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgU3RyaW5nIHRhcmdldCA9IF90YXJnZXQ7CiAgICAgaWYgKHRhcmdldC5pc0VtcHR5KCkgJiYg
bV9mcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgdGFyZ2V0ID0gbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+YmFzZVRhcmdldCgpOwogCi0gICAgY29uc3QgS1VSTCYgdXJsID0gcmVxdWVzdC51cmwoKTsK
LSAgICBpZiAodXJsLmRlcHJlY2F0ZWRTdHJpbmcoKS5zdGFydHNXaXRoKCJqYXZhc2NyaXB0OiIs
IGZhbHNlKSkgewotICAgICAgICBleGVjdXRlU2NyaXB0KEtVUkw6OmRlY29kZV9zdHJpbmcodXJs
LmRlcHJlY2F0ZWRTdHJpbmcoKS5taWQoc3RybGVuKCJqYXZhc2NyaXB0OiIpKSksIHRydWUpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZVJlcXVl
c3QocmVxdWVzdCwgdGFyZ2V0KTsKIAogICAgIGlmIChmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1
ZXN0KCkuaHR0cFJlZmVycmVyKCkuaXNFbXB0eSgpKQpAQCAtNDQyLDcgKzQyNyw3IEBAIGJvb2wg
RnJhbWVMb2FkZXI6OnJlcXVlc3RGcmFtZShIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxl
bWVudCwgY29uc3QgU3RyaW5nCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICghc2Ny
aXB0VVJMLmlzRW1wdHkoKSkKLSAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5yZXBsYWNlQ29udGVu
dHNXaXRoU2NyaXB0UmVzdWx0KHNjcmlwdFVSTCk7CisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+
ZXhlY3V0ZUlmSmF2YVNjcmlwdFVSTChzY3JpcHRVUkwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9
CkBAIC01MTgsNyArNTAzLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybShjb25zdCBj
aGFyKiBhY3Rpb24sIGNvbnN0IFN0cmluZyYgdXJsLCBQYXNzUmVmUHRyPEYKICAgICBEZXByZWNh
dGVkU3RyaW5nIHVybFN0cmluZyA9IHUuZGVwcmVjYXRlZFN0cmluZygpOwogICAgIGlmICh1cmxT
dHJpbmcuc3RhcnRzV2l0aCgiamF2YXNjcmlwdDoiLCBmYWxzZSkpIHsKICAgICAgICAgbV9pc0V4
ZWN1dGluZ0phdmFTY3JpcHRGb3JtQWN0aW9uID0gdHJ1ZTsKLSAgICAgICAgZXhlY3V0ZVNjcmlw
dChLVVJMOjpkZWNvZGVfc3RyaW5nKHVybFN0cmluZy5taWQoc3RybGVuKCJqYXZhc2NyaXB0OiIp
KSkpOworICAgICAgICBleGVjdXRlSWZKYXZhU2NyaXB0VVJMKHUpOwogICAgICAgICBtX2lzRXhl
Y3V0aW5nSmF2YVNjcmlwdEZvcm1BY3Rpb24gPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTcyNywxNSArNzEyLDI3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmRpZEV4cGxpY2l0T3Bl
bigpCiAgICAgICAgIG1fVVJMID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCk7CiB9CiAKLXZv
aWQgRnJhbWVMb2FkZXI6OnJlcGxhY2VDb250ZW50c1dpdGhTY3JpcHRSZXN1bHQoY29uc3QgS1VS
TCYgdXJsKQorYm9vbCBGcmFtZUxvYWRlcjo6ZXhlY3V0ZUlmSmF2YVNjcmlwdFVSTChjb25zdCBL
VVJMJiB1cmwsIGJvb2wgdXNlckdlc3R1cmUpCiB7Ci0gICAgSlNWYWx1ZSogcmVzdWx0ID0gZXhl
Y3V0ZVNjcmlwdChLVVJMOjpkZWNvZGVfc3RyaW5nKHVybC5kZXByZWNhdGVkU3RyaW5nKCkubWlk
KHN0cmxlbigiamF2YXNjcmlwdDoiKSkpKTsKKyAgICBpZiAoIXVybC5kZXByZWNhdGVkU3RyaW5n
KCkuc3RhcnRzV2l0aCgiamF2YXNjcmlwdDoiLCBmYWxzZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIFN0cmluZyBzY3JpcHQgPSBLVVJMOjpkZWNvZGVfc3RyaW5nKHVybC5kZXByZWNh
dGVkU3RyaW5nKCkubWlkKHN0cmxlbigiamF2YXNjcmlwdDoiKSkpOworICAgIEpTVmFsdWUqIHJl
c3VsdCA9IGV4ZWN1dGVTY3JpcHQoc2NyaXB0LCB1c2VyR2VzdHVyZSk7CisKICAgICBTdHJpbmcg
c2NyaXB0UmVzdWx0OwogICAgIGlmICghZ2V0U3RyaW5nKHJlc3VsdCwgc2NyaXB0UmVzdWx0KSkK
LSAgICAgICAgcmV0dXJuOwotICAgIGJlZ2luKCk7CisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgU2VjdXJpdHlPcmlnaW4qIGN1cnJlbnRTZWN1cml0eU9yaWdpbiA9IDA7CisgICAgaWYgKG1f
ZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgIGN1cnJlbnRTZWN1cml0eU9yaWdpbiA9IG1fZnJh
bWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCk7CisKKyAgICBiZWdpbihtX1VSTCwgdHJ1
ZSwgY3VycmVudFNlY3VyaXR5T3JpZ2luKTsKICAgICB3cml0ZShzY3JpcHRSZXN1bHQpOwogICAg
IGVuZCgpOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIEpTVmFsdWUqIEZyYW1lTG9hZGVyOjpl
eGVjdXRlU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUp
CkBAIC04NzQsOCArODcxLDEyIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmJlZ2luKCkKICAgICBiZWdp
bihLVVJMKCkpOwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjpiZWdpbihjb25zdCBLVVJMJiB1cmws
IGJvb2wgZGlzcGF0Y2gpCit2b2lkIEZyYW1lTG9hZGVyOjpiZWdpbihjb25zdCBLVVJMJiB1cmws
IGJvb2wgZGlzcGF0Y2gsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7CisgICAgLy8gV2UgbmVl
ZCB0byB0YWtlIGEgcmVmZXJlbmNlIHRvIHRoZSBzZWN1cml0eSBvcmlnaW4gYmVjYXVzZSB8Y2xl
YXJ8CisgICAgLy8gbWlnaHQgZGVzdHJveSB0aGUgZG9jdW1lbnQgdGhhdCBvd25zIGl0LgorICAg
IFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gZm9yY2VkU2VjdXJpdHlPcmlnaW4gPSBvcmlnaW47CisK
ICAgICBib29sIHJlc2V0U2NyaXB0aW5nID0gIShtX2lzRGlzcGxheWluZ0luaXRpYWxFbXB0eURv
Y3VtZW50ICYmIG1fZnJhbWUtPmRvY3VtZW50KCkgJiYgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+aXNTZWN1cmVUcmFuc2l0aW9uVG8odXJsKSk7CiAgICAgY2xlYXIocmVz
ZXRTY3JpcHRpbmcsIHJlc2V0U2NyaXB0aW5nKTsKICAgICBpZiAoZGlzcGF0Y2gpCkBAIC05MDcs
NiArOTA4LDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6YmVnaW4oY29uc3QgS1VSTCYgdXJsLCBib29s
IGRpc3BhdGNoKQogICAgIGRvY3VtZW50LT5zZXRCYXNlVVJMKGJhc2V1cmwuZGVwcmVjYXRlZFN0
cmluZygpKTsKICAgICBpZiAobV9kZWNvZGVyKQogICAgICAgICBkb2N1bWVudC0+c2V0RGVjb2Rl
cihtX2RlY29kZXIuZ2V0KCkpOworICAgIGlmIChmb3JjZWRTZWN1cml0eU9yaWdpbikKKyAgICAg
ICAgZG9jdW1lbnQtPnNldFNlY3VyaXR5T3JpZ2luKGZvcmNlZFNlY3VyaXR5T3JpZ2luLmdldCgp
KTsKIAogICAgIHVwZGF0ZVBvbGljeUJhc2VVUkwoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXgg
Mzk1ZTc2My4uN2I1ZjE5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC03NSw2ICs3NSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKICAgICBjbGFzcyBS
ZXNvdXJjZVJlcXVlc3Q7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKyAgICBjbGFzcyBT
ZWN1cml0eU9yaWdpbjsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAgICAgY2xhc3MgU3Vic3Rp
dHV0ZURhdGE7CiAgICAgY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKQEAgLTMwOSw3ICszMTAs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEtVUkwgaGlzdG9yeVVSTChpbnQgZGlz
dGFuY2UpOwogCiAgICAgICAgIHZvaWQgYmVnaW4oKTsKLSAgICAgICAgdm9pZCBiZWdpbihjb25z
dCBLVVJMJiwgYm9vbCBkaXNwYXRjaFdpbmRvd09iamVjdEF2YWlsYWJsZSA9IHRydWUpOworICAg
ICAgICB2b2lkIGJlZ2luKGNvbnN0IEtVUkwmLCBib29sIGRpc3BhdGNoV2luZG93T2JqZWN0QXZh
aWxhYmxlID0gdHJ1ZSwgU2VjdXJpdHlPcmlnaW4qIGZvcmNlZFNlY3VyaXR5T3JpZ2luID0gMCk7
CiAKICAgICAgICAgdm9pZCB3cml0ZShjb25zdCBjaGFyKiBzdHIsIGludCBsZW4gPSAtMSwgYm9v
bCBmbHVzaCA9IGZhbHNlKTsKICAgICAgICAgdm9pZCB3cml0ZShjb25zdCBTdHJpbmcmKTsKQEAg
LTMxOSw2ICszMjAsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RW5j
b2RpbmcoY29uc3QgU3RyaW5nJiBlbmNvZGluZywgYm9vbCB1c2VyQ2hvc2VuKTsKICAgICAgICAg
U3RyaW5nIGVuY29kaW5nKCkgY29uc3Q7CiAKKyAgICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHVy
bCBpcyBhIEphdmFTY3JpcHQgVVJMLgorICAgICAgICBib29sIGV4ZWN1dGVJZkphdmFTY3JpcHRV
UkwoY29uc3QgS1VSTCYgdXJsLCBib29sIHVzZXJHZXN0dXJlID0gZmFsc2UpOworCiAgICAgICAg
IEtKUzo6SlNWYWx1ZSogZXhlY3V0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHVybCwgaW50IGJhc2VM
aW5lLCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgICAgIEtKUzo6SlNWYWx1ZSogZXhlY3V0
ZVNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCwgYm9vbCBmb3JjZVVzZXJHZXN0dXJlID0gZmFs
c2UpOwogCkBAIC00NzYsOCArNDgwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIHVwZGF0ZVBvbGljeUJhc2VVUkwoKTsKICAgICAgICAgdm9pZCBzZXRQb2xpY3lCYXNlVVJM
KGNvbnN0IFN0cmluZyYpOwogCi0gICAgICAgIHZvaWQgcmVwbGFjZUNvbnRlbnRzV2l0aFNjcmlw
dFJlc3VsdChjb25zdCBLVVJMJik7Ci0KICAgICAgICAgLy8gQWxzbyBub3QgY29vbC4KICAgICAg
ICAgdm9pZCBzdG9wTG9hZGluZ1N1YmZyYW1lcygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL1NlY3VyaXR5T3JpZ2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vU2VjdXJpdHlPcmln
aW4uY3BwCmluZGV4IDg1MzVjMTYuLjE1Mzc5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2VjdXJpdHlPcmln
aW4uY3BwCkBAIC0zOSw2NiArMzksNTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZWN1
cml0eU9yaWdpbjo6U2VjdXJpdHlPcmlnaW4oKQorU2VjdXJpdHlPcmlnaW46OlNlY3VyaXR5T3Jp
Z2luKGNvbnN0IEtVUkwmIHVybCkKICAgICA6IG1fcG9ydCgwKQogICAgICwgbV9wb3J0U2V0KGZh
bHNlKQogICAgICwgbV9ub0FjY2VzcyhmYWxzZSkKICAgICAsIG1fZG9tYWluV2FzU2V0SW5ET00o
ZmFsc2UpCiB7Ci19CisgICAgaWYgKHVybC5pc0VtcHR5KCkpCisgICAgICByZXR1cm47CiAKLXZv
aWQgU2VjdXJpdHlPcmlnaW46OmNsZWFyKCkKLXsKLSAgICBtX3Byb3RvY29sID0gU3RyaW5nKCk7
Ci0gICAgbV9ob3N0ID0gU3RyaW5nKCk7Ci0gICAgbV9wb3J0ID0gMDsKLSAgICBtX3BvcnRTZXQg
PSBmYWxzZTsKLSAgICBtX25vQWNjZXNzID0gZmFsc2U7Ci0gICAgbV9kb21haW5XYXNTZXRJbkRP
TSA9IGZhbHNlOwotfQorICAgIG1fcHJvdG9jb2wgPSB1cmwucHJvdG9jb2woKS5sb3dlcigpOwog
Ci1ib29sIFNlY3VyaXR5T3JpZ2luOjppc0VtcHR5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9w
cm90b2NvbC5pc0VtcHR5KCk7Ci19CisgICAgLy8gVGhlc2UgcHJvdG9jb2xzIGRvIG5vdCByZXBy
ZXNlbnQgcHJpbmNpcGFscy4KKyAgICBpZiAobV9wcm90b2NvbCA9PSAiYWJvdXQiIHx8IG1fcHJv
dG9jb2wgPT0gImphdmFzY3JpcHQiKQorICAgICAgICBtX3Byb3RvY29sID0gU3RyaW5nKCk7CiAK
LXZvaWQgU2VjdXJpdHlPcmlnaW46OnNldEZvclVSTChjb25zdCBLVVJMJiB1cmwpCi17Ci0gICAg
Y2xlYXIoKTsKKyAgICBpZiAobV9wcm90b2NvbC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsK
IAotICAgIGlmICh1cmwuaXNFbXB0eSgpKQotICAgICAgcmV0dXJuOworICAgIC8vIGRhdGE6IFVS
THMgYXJlIG5vdCBhbGxvd2VkIGFjY2VzcyB0byBhbnl0aGluZyBvdGhlciB0aGFuIHRoZW1zZWx2
ZXMuCisgICAgaWYgKG1fcHJvdG9jb2wgPT0gImRhdGEiKQorICAgICAgICBtX25vQWNjZXNzID0g
dHJ1ZTsKIAotICAgIG1fcHJvdG9jb2wgPSB1cmwucHJvdG9jb2woKS5sb3dlcigpOwogICAgIG1f
aG9zdCA9IHVybC5ob3N0KCkubG93ZXIoKTsKICAgICBtX3BvcnQgPSB1cmwucG9ydCgpOwogCiAg
ICAgaWYgKG1fcG9ydCkKICAgICAgICAgbV9wb3J0U2V0ID0gdHJ1ZTsKK30KIAotICAgIC8vIGRh
dGE6IFVSTHMgYXJlIG5vdCBhbGxvd2VkIGFjY2VzcyB0byBhbnl0aGluZyBvdGhlciB0aGFuIHRo
ZW1zZWx2ZXMuCi0gICAgaWYgKG1fcHJvdG9jb2wgPT0gImRhdGEiKQotICAgICAgICBtX25vQWNj
ZXNzID0gdHJ1ZTsKK2Jvb2wgU2VjdXJpdHlPcmlnaW46OmlzRW1wdHkoKSBjb25zdAoreworICAg
IHJldHVybiBtX3Byb3RvY29sLmlzRW1wdHkoKTsKIH0KIAogUGFzc1JlZlB0cjxTZWN1cml0eU9y
aWdpbj4gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZvckZyYW1lKEZyYW1lKiBmcmFtZSkKIHsKLSAg
ICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbiA9IG5ldyBTZWN1cml0eU9yaWdpbigpOwot
CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIG9yaWdpbjsKKyAgICAgICAgcmV0dXJu
IG5ldyBTZWN1cml0eU9yaWdpbihLVVJMKCkpOwogCiAgICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9
IGZyYW1lLT5sb2FkZXIoKTsKLSAgICBjb25zdCBLVVJMJiBzZWN1cml0eVBvbGljeVVSTCA9IGxv
YWRlci0+dXJsKCk7Ci0KLSAgICBvcmlnaW4tPnNldEZvclVSTChzZWN1cml0eVBvbGljeVVSTCk7
CiAKLSAgICBpZiAoIW9yaWdpbi0+aXNFbXB0eSgpICYmIG9yaWdpbi0+bV9wcm90b2NvbCAhPSAi
YWJvdXQiKQorICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gb3JpZ2luID0gbmV3IFNlY3VyaXR5
T3JpZ2luKGxvYWRlci0+dXJsKCkpOworICAgIGlmICghb3JpZ2luLT5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBvcmlnaW47CiAKLSAgICAvLyBJbiB0aGUgY2FzZSBvZiBhYm91dDpibGFuayBv
ciBqYXZhc2NyaXB0OiBVUkxzICh3aGljaCBjcmVhdGUgCi0gICAgLy8gZG9jdW1lbnRzIHVzaW5n
IHRoZSAiYWJvdXQiIHByb3RvY29sKSBkbyB3ZSB3YW50IHRvIHVzZSB0aGUKLSAgICAvLyBwYXJl
bnQgb3Igb3BlbmVycyBvcmlnaW4uCisgICAgLy8gSWYgd2UgZG8gbm90IG9idGFpbiBhIHByaW5j
aXBhbCBmcm9tIHRoZSBVUkwsIHRoZW4gd2UgdHJ5IHRvIGZpbmQgYQorICAgIC8vIHByaW5jaXBh
bCB2aWEgdGhlIGZyYW1lIGhpZXJhcmNoeS4KIAogICAgIEZyYW1lKiBvcGVuZXJGcmFtZSA9IGZy
YW1lLT50cmVlKCktPnBhcmVudCgpOwogICAgIGlmICghb3BlbmVyRnJhbWUpIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vU2VjdXJpdHlPcmlnaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0v
U2VjdXJpdHlPcmlnaW4uaAppbmRleCAxODkyNDQ0Li5hZjQ5OGVmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL1NlY3VyaXR5T3JpZ2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TZWN1
cml0eU9yaWdpbi5oCkBAIC01MCwxNiArNTAsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIGNhbkFjY2Vzcyhjb25zdCBTZWN1cml0eU9yaWdpbiopIGNvbnN0OwogICAgICAg
ICBib29sIGlzU2VjdXJlVHJhbnNpdGlvblRvKGNvbnN0IEtVUkwmKSBjb25zdDsKIAorICAgICAg
ICBib29sIGlzRW1wdHkoKSBjb25zdDsKICAgICAgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7
CiAgICAgICAgIAogICAgICAgICBTZWN1cml0eU9yaWdpbkRhdGEgc2VjdXJpdHlPcmlnaW5EYXRh
KCkgY29uc3Q7CiAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIFNlY3VyaXR5T3JpZ2lu
KCk7Ci0gICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0OwotCi0gICAgICAgIHZvaWQgY2xlYXIo
KTsKLSAgICAgICAgdm9pZCBzZXRGb3JVUkwoY29uc3QgS1VSTCYgdXJsKTsKKyAgICAgICAgU2Vj
dXJpdHlPcmlnaW4oY29uc3QgS1VSTCYgdXJsKTsKIAogICAgICAgICBTdHJpbmcgbV9wcm90b2Nv
bDsKICAgICAgICAgU3RyaW5nIG1faG9zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24169</attachid>
            <date>2008-10-07 19:13:40 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Build fix.</desc>
            <filename>-Build-fix..patch</filename>
            <type>text/plain</type>
            <size>1115</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGFkMWE2MDNmZjA0NzNiNDNkY2E0NjkyYmRiODU5N2Q0ZGJiOWY0NApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZDZjNzQ0Li41NjNmZTY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDExIEBACisyMDA4LTAxLTA3ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CisKKyAgICAgICAgQnVpbGQgZml4LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvU2ltcGxlRm9udERhdGFRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6On5T
aW1wbGVGb250RGF0YSk6CisKIDIwMDgtMDEtMDcgIEFkYW0gQmFydGggIDxoazk1NjVAZ21haWwu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCmluZGV4IDBiN2JhYWEuLjZk
NzhiMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9u
dERhdGFRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250
RGF0YVF0LmNwcApAQCAtMjQsMTIgKzI0LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Rm9udERhdGE6OkZvbnREYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnQsIGJvb2wgY3Vz
dG9tRm9udCwgYm9vbCBsb2FkaW5nKQorU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnQsIGJvb2wgY3VzdG9tRm9udCwgYm9vbCBsb2FkaW5n
KQogICAgIDogbV9mb250KGZvbnQpLCBtX2lzQ3VzdG9tRm9udChjdXN0b21Gb250KSwgbV9pc0xv
YWRpbmcobG9hZGluZykKIHsKIH0KIAotRm9udERhdGE6On5Gb250RGF0YSgpCitTaW1wbGVGb250
RGF0YTo6flNpbXBsZUZvbnREYXRhKCkKIHsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24170</attachid>
            <date>2008-10-07 19:13:42 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>Reviewed by Mark.</desc>
            <filename>Reviewed-by-Mark..patch</filename>
            <type>text/plain</type>
            <size>5607</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">YjVmN2E4MGNmMjNmYmM5ODJjNjVjNzk3YTNjMTMzMjU0ODY1NTM1YwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg5
MDkwMTcuLmJjODhlOTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAwOC0wMS0wNyAg
Tmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE1hcmsuCisKKyAgICAgICAgRW5hYmxlIFNWR19GT05UUyBieSBkZWZhdWx0LgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWc6CisKIDIwMDgt
MDEtMDcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlciBz
dGFtcGVkIGJ5IERhdmlkIEtpbHplci4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnIGIvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKaW5kZXggMzE2NTE5Ny4uYzA5NjU5YSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUu
eGNjb25maWcKKysrIGIvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENv
cmUueGNjb25maWcKQEAgLTUsNyArNSw3IEBAIEVYUE9SVEVEX1NZTUJPTFNfRklMRV9pMzg2ID0g
SmF2YVNjcmlwdENvcmUuZXhwOwogRVhQT1JURURfU1lNQk9MU19GSUxFX3BwYyA9IEphdmFTY3Jp
cHRDb3JlLmV4cDsKIEVYUE9SVEVEX1NZTUJPTFNfRklMRV9wcGM2NCA9ICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5MUDY0
LmV4cDsKIEVYUE9SVEVEX1NZTUJPTFNfRklMRV94ODZfNjQgPSAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuTFA2NC5leHA7
Ci1GRUFUVVJFX0RFRklORVMgPSBFTkFCTEVfREFUQUJBU0UgRU5BQkxFX0lDT05EQVRBQkFTRSBF
TkFCTEVfU1ZHIEVOQUJMRV9TVkdfQVNfSU1BR0UgRU5BQkxFX1NWR19VU0UgRU5BQkxFX1hQQVRI
IEVOQUJMRV9YU0xUOworRkVBVFVSRV9ERUZJTkVTID0gRU5BQkxFX0RBVEFCQVNFIEVOQUJMRV9J
Q09OREFUQUJBU0UgRU5BQkxFX1NWRyBFTkFCTEVfU1ZHX0ZPTlRTIEVOQUJMRV9TVkdfQVNfSU1B
R0UgRU5BQkxFX1NWR19VU0UgRU5BQkxFX1hQQVRIIEVOQUJMRV9YU0xUOwogT1RIRVJfTERGTEFH
UyA9IC1sb2JqYyAtc3ViX2xpYnJhcnkgbGlib2JqYyAtV2wsLVksMzsKIEdDQ19QUkVGSVhfSEVB
REVSID0gSmF2YVNjcmlwdENvcmVQcmVmaXguaDsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJHtC
VUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlIiAkKEhFQURF
Ul9TRUFSQ0hfUEFUSFMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA1NjNmZTY2Li42ZmI5MTdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDA4LTAx
LTA3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyay4KKworICAgICAgICBFbmFibGUgU1ZHX0ZPTlRTIGJ5IGRlZmF1bHQu
CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnOgorICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL2J1aWxkLWdlbmVyYXRlZC1maWxlcy5zaDoKKwogMjAwOC0wMS0wNyAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeC4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZyBiL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZwppbmRleCAwNzliNTc3Li4xMTI2ODll
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKKysr
IGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCkBAIC01LDcgKzUsNyBA
QCBFWFBPUlRFRF9TWU1CT0xTX0ZJTEVfaTM4NiA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcgogRVhQT1JURURfU1lNQk9MU19GSUxFX3BwYyA9ICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcmUuZXhwOwog
RVhQT1JURURfU1lNQk9MU19GSUxFX3BwYzY0ID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvV2ViQ29yZS5MUDY0LmV4cDsKIEVYUE9SVEVEX1NZTUJPTFNfRklM
RV94ODZfNjQgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9X
ZWJDb3JlLkxQNjQuZXhwOwotRkVBVFVSRV9ERUZJTkVTID0gRU5BQkxFX0RBVEFCQVNFIEVOQUJM
RV9JQ09OREFUQUJBU0UgRU5BQkxFX1NWRyBFTkFCTEVfU1ZHX0FTX0lNQUdFIEVOQUJMRV9TVkdf
VVNFIEVOQUJMRV9YUEFUSCBFTkFCTEVfWFNMVCBFTkFCTEVfVklERU87CitGRUFUVVJFX0RFRklO
RVMgPSBFTkFCTEVfREFUQUJBU0UgRU5BQkxFX0lDT05EQVRBQkFTRSBFTkFCTEVfU1ZHIEVOQUJM
RV9TVkdfRk9OVFMgRU5BQkxFX1NWR19BU19JTUFHRSBFTkFCTEVfU1ZHX1VTRSBFTkFCTEVfWFBB
VEggRU5BQkxFX1hTTFQgRU5BQkxFX1ZJREVPOwogR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3Jl
UHJlZml4Lmg7CiBHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVT
KSAkKEZFQVRVUkVfREVGSU5FUykgJChHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TKTsKIEZS
QU1FV09SS19TRUFSQ0hfUEFUSFMgPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9D
YXJib24uZnJhbWV3b3JrL0ZyYW1ld29ya3MgJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3JrcyAkKEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9idWlsZC1n
ZW5lcmF0ZWQtZmlsZXMuc2ggYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2J1aWxkLWdlbmVyYXRl
ZC1maWxlcy5zaAppbmRleCAyMDBkYzQyLi43YjI4NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL2J1aWxkLWdlbmVyYXRlZC1maWxlcy5zaAorKysgYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL2J1aWxkLWdlbmVyYXRlZC1maWxlcy5zaApAQCAtNjUsNSArNjUsNSBAQCBta2Rp
ciAtcCAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzIgogY2QgIiR7QlVJTFRf
UFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcyIKIAogZXhwb3J0IFdlYkNvcmU9IiR7WFNSQ1JP
T1R9IgotZXhwb3J0IEZFQVRVUkVfREVGSU5FUz0iRU5BQkxFX0RBVEFCQVNFIEVOQUJMRV9JQ09O
REFUQUJBU0UgRU5BQkxFX1hQQVRIIEVOQUJMRV9TVkcgRU5BQkxFX1NWR19BU19JTUFHRSBFTkFC
TEVfU1ZHX1VTRSIKK2V4cG9ydCBGRUFUVVJFX0RFRklORVM9IkVOQUJMRV9EQVRBQkFTRSBFTkFC
TEVfSUNPTkRBVEFCQVNFIEVOQUJMRV9YUEFUSCBFTkFCTEVfU1ZHIEVOQUJMRV9TVkdfRk9OVFMg
RU5BQkxFX1NWR19BU19JTUFHRSBFTkFCTEVfU1ZHX1VTRSIKIG1ha2UgLWYgIiRXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UiIC1qICR7TlVNQ1BVU30gfHwgZXhpdCAxCmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDI2YTcxMTcu
LmVmYWEyMDAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDgtMDEtMDcgIE5pa29sYXMgWmltbWVy
bWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrLgor
CisgICAgICAgIEVuYWJsZSBTVkdfRk9OVFMgYnkgZGVmYXVsdC4KKworICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKwogMjAwOC0wMS0wNyAgQWRlbGUgUGV0ZXJzb24g
IDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGksIEFkYW0sIGFu
ZCBNaXR6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcgYi9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCBk
OGYzMTA2Li4xZjI2ZGFlIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dl
YktpdC54Y2NvbmZpZworKysgYi9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2Nv
bmZpZwpAQCAtNSw3ICs1LDcgQEAgRVhQT1JURURfU1lNQk9MU19GSUxFX2kzODYgPSBtYWMvV2Vi
S2l0LmV4cDsKIEVYUE9SVEVEX1NZTUJPTFNfRklMRV9wcGMgPSBtYWMvV2ViS2l0LmV4cDsKIEVY
UE9SVEVEX1NZTUJPTFNfRklMRV9wcGM2NCA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQvV2ViS2l0LkxQNjQuZXhwOwogRVhQT1JURURfU1lNQk9MU19GSUxFX3g4
Nl82NCA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvV2ViS2l0
LkxQNjQuZXhwOwotRkVBVFVSRV9ERUZJTkVTID0gRU5BQkxFX0RBVEFCQVNFIEVOQUJMRV9JQ09O
REFUQUJBU0UgRU5BQkxFX1NWRyBFTkFCTEVfU1ZHX0FTX0lNQUdFIEVOQUJMRV9TVkdfVVNFIEVO
QUJMRV9YUEFUSCBFTkFCTEVfWFNMVDsKK0ZFQVRVUkVfREVGSU5FUyA9IEVOQUJMRV9EQVRBQkFT
RSBFTkFCTEVfSUNPTkRBVEFCQVNFIEVOQUJMRV9TVkcgRU5BQkxFX1NWR19GT05UUyBFTkFCTEVf
U1ZHX0FTX0lNQUdFIEVOQUJMRV9TVkdfVVNFIEVOQUJMRV9YUEFUSCBFTkFCTEVfWFNMVDsKIEZS
QU1FV09SS19TRUFSQ0hfUEFUSFMgPSAkKFVNQlJFTExBX0ZSQU1FV09SS1NfRElSKSAkKFNZU1RF
TV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9G
cmFtZXdvcmtzICQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdv
cmsvRnJhbWV3b3JrcyAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9RdWFydHouZnJh
bWV3b3JrL0ZyYW1ld29ya3MgJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVGcmFtZXdvcmtz
ICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyk7CiBHQ0NfUFJFRklYX0hFQURFUiA9IG1hYy9XZWJL
aXRQcmVmaXguaDsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoRkVBVFVSRV9ERUZJTkVTKSBGUkFNRVdPUktfTkFNRT1XZWJLaXQgJChHQ0NfUFJFUFJP
Q0VTU09SX0RFRklOSVRJT05TKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24171</attachid>
            <date>2008-10-07 19:13:44 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Build fix.  Need to wrap these classes in #if ENABLE(VIDEO)</desc>
            <filename>-Build-fix.-Need-to-wrap-these-classes-in-if-ENABLE-VIDEO-.patch</filename>
            <type>text/plain</type>
            <size>1610</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">N2Q0ZTg1NzMzNDEzMzA0ZGQ4NGQ1MGQxNGZiN2ZlNmIxZjY1NzEwZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZmI5MTdlLi5mNmJjNjhj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEwIEBACisyMDA4LTAxLTA3ICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxlQGFwcGxl
LmNvbT4KKworICAgICAgICBCdWlsZCBmaXguICBOZWVkIHRvIHdyYXAgdGhlc2UgY2xhc3NlcyBp
biAjaWYgRU5BQkxFKFZJREVPKQorCisgICAgICAgICogcmVuZGVyaW5nL01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuaDoK
KwogMjAwOC0wMS0wNyAgTmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHAKaW5kZXggYjIzNWRmYy4uZjJmOTBhMiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMjcsNiArMjcsOSBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFTykKKwogI2luY2x1ZGUgIk1lZGlh
Q29udHJvbEVsZW1lbnRzLmgiCiAKICNpbmNsdWRlICJFdmVudC5oIgpAQCAtMjIxLDMgKzIyNCw0
IEBAIHZvaWQgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
CiB9IC8vbmFtZXNwYWNlIFdlYkNvcmUKKyNlbmRpZiAvLyBlbmFibGUodmlkZW8pClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFD
b250cm9sRWxlbWVudHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRz
LmgKaW5kZXggYTgwZjEzNC4uMmRlYWE0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
TWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5oCkBAIC0yOSw2ICsyOSw4IEBACiAjaWZuZGVmIE1lZGlhQ29udHJvbEVsZW1l
bnRzX2gKICNkZWZpbmUgTWVkaWFDb250cm9sRWxlbWVudHNfaAogCisjaWYgRU5BQkxFKFZJREVP
KQorCiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgpAQCAtMTIyLDUgKzEyNCw1IEBA
IHB1YmxpYzoKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogfSAvL25hbWVzcGFj
ZSBXZWJDb3JlCi0KKyNlbmRpZiAvLyBlbmFibGUodmlkZW8pCiAjZW5kaWYgLy8gTWVkaWFDb250
cm9sRWxlbWVudHNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24172</attachid>
            <date>2008-10-07 19:13:45 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>2008-01-07  Jon Honeycutt  &lt;jhoneycutt@apple.com&gt;</desc>
            <filename>2008-01-07-Jon-Honeycutt-jhoneycutt-apple.com-.patch</filename>
            <type>text/plain</type>
            <size>5076</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">YzU3MWZjNzUwNjlkZmNlZWJiNTlkN2VkNWI0OGY2NDUzM2NkNTZjZApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNmJjNjhjLi4zNmEzNDAy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDA4LTAxLTA3ICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQuCisKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzU2NzM0ODk+IFNhZmFyaSBkb2VzIG5vdCByZW5kZXIgd2luZG93bGVzcyBwbHVn
aW5zIGluIGFuCisgICAgICAgIGlmcmFtZSB3aGVuIG9wYWNpdHkgPCAxLjAKKworICAgICAgICBQ
bHVnaW5zIGluIHRyYW5zcGFyZW5jeSBsYXllcnMgaGFuZGxlIHRoZWlyIG93biB3b3JsZCB0cmFu
c2Zvcm1zLCBzbworICAgICAgICBvbmx5IGFwcGx5IHRoZSBob3Jpem9udGFsL3ZlcnRpY2FsIHRy
YW5zZm9ybSBpZiB3ZSBhcmUgbm90IGluIGEKKyAgICAgICAgdHJhbnNwYXJlbmN5IGxheWVyLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6IEFkZCBhIFdp
bmRvd3MtcGxhdGZvcm0tb25seQorICAgICAgICBpblRyYW5zcGFyZW5jeUxheWVyKCkgZnVuY3Rp
b24KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Z2V0V2luZG93c0NvbnRleHQpOiBVc2UgaW5U
cmFuc3BhcmVuY3lMYXllcigpCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6Omlu
VHJhbnNwYXJlbmN5TGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpy
ZWxlYXNlV2luZG93c0NvbnRleHQpOiBVc2UKKyAgICAgICAgaW5UcmFuc3BhcmVuY3lMYXllcigp
CisgICAgICAgICogcGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5WaWV3V2luOjpwYWludCk6IFdoZW4gcmV0cmlldmluZyB0aGUgSERDLCB1c2Ug
dGhlIHJlY3QKKyAgICAgICAgcmVsYXRpdmUgdG8gdGhlIHdpbmRvdy4gUGFzcyBtX2lzVHJhbnNw
YXJlbnQgdG8KKyAgICAgICAgZ2V0L3JlbGVhc2VXaW5kb3dzQ29udGV4dCgpLiBPbmx5IHNldCB0
aGUgd29ybGQgdHJhbnNmb3JtIGlmIHdlIGFyZSBub3QKKyAgICAgICAgaW4gYSB0cmFuc3BhcmVu
Y3kgbGF5ZXIuCisKIDIwMDgtMDEtMDcgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUuY29t
PgogCiAgICAgICAgIEJ1aWxkIGZpeC4gIE5lZWQgdG8gd3JhcCB0aGVzZSBjbGFzc2VzIGluICNp
ZiBFTkFCTEUoVklERU8pCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaAppbmRleCAwNmQ2M2Y2Li4yNWE2ZWZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTIyMSw2ICsyMjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChIREMpOyAv
LyBGSVhNRTogVG8gYmUgcmVtb3ZlZC4KKyAgICAgICAgYm9vbCBpblRyYW5zcGFyZW5jeUxheWVy
KCkgY29uc3Q7CiAgICAgICAgIEhEQyBnZXRXaW5kb3dzQ29udGV4dChjb25zdCBJbnRSZWN0Jiwg
Ym9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUpOyAvLyBUaGUgcGFzc2VkIGluIHJlY3QgaXMg
dXNlZCB0byBjcmVhdGUgYSBiaXRtYXAgZm9yIGNvbXBvc2l0aW5nIGluc2lkZSB0cmFuc3BhcmVu
Y3kgbGF5ZXJzLgogICAgICAgICB2b2lkIHJlbGVhc2VXaW5kb3dzQ29udGV4dChIREMsIGNvbnN0
IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSk7ICAgIC8vIFRoZSBwYXNz
ZWQgaW4gSERDIHNob3VsZCBiZSB0aGUgb25lIGhhbmRlZCBiYWNrIGJ5IGdldFdpbmRvd3NDb250
ZXh0LgogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9HcmFwaGljc0Nv
bnRleHRXaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNw
cAppbmRleCA1N2ViN2VhLi40NzhmYjdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9HcmFwaGljc0NvbnRleHRXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0dyYXBo
aWNzQ29udGV4dFdpbi5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgR3JhcGhpY3NDb250ZXh0OjpHcmFw
aGljc0NvbnRleHQoSERDIGhkYykKIAogSERDIEdyYXBoaWNzQ29udGV4dDo6Z2V0V2luZG93c0Nv
bnRleHQoY29uc3QgSW50UmVjdCYgZHN0UmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCkKIHsK
LSAgICBpZiAobV9kYXRhLT5tX3RyYW5zcGFyZW5jeUNvdW50KSB7CisgICAgaWYgKGluVHJhbnNw
YXJlbmN5TGF5ZXIoKSkgewogICAgICAgICBpZiAoZHN0UmVjdC5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICByZXR1cm4gMDsKIApAQCAtMTM0LDkgKzEzNCwxMSBAQCBIREMgR3JhcGhpY3NDb250ZXh0
OjpnZXRXaW5kb3dzQ29udGV4dChjb25zdCBJbnRSZWN0JiBkc3RSZWN0LCBib29sIHN1cHBvcnRB
bHBoYQogICAgIHJldHVybiBtX2RhdGEtPm1faGRjOwogfQogCitib29sIEdyYXBoaWNzQ29udGV4
dDo6aW5UcmFuc3BhcmVuY3lMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS0+bV90cmFuc3Bh
cmVuY3lDb3VudDsgfQorCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cmVsZWFzZVdpbmRvd3NDb250
ZXh0KEhEQyBoZGMsIGNvbnN0IEludFJlY3QmIGRzdFJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxl
bmQpCiB7Ci0gICAgaWYgKGhkYyAmJiBtX2RhdGEtPm1fdHJhbnNwYXJlbmN5Q291bnQpIHsKKyAg
ICBpZiAoaGRjICYmIGluVHJhbnNwYXJlbmN5TGF5ZXIoKSkgewogICAgICAgICBpZiAoZHN0UmVj
dC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHAgYi9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdp
blZpZXdXaW4uY3BwCmluZGV4IDgxMjcyMjguLjllZWNjMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGx1Z2lucy93aW4vUGx1Z2luVmlld1dpbi5jcHAKKysrIGIvV2ViQ29yZS9wbHVnaW5zL3dpbi9Q
bHVnaW5WaWV3V2luLmNwcApAQCAtNDcyLDI0ICs0NzIsMjMgQEAgdm9pZCBQbHVnaW5WaWV3V2lu
OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAg
ICAgaWYgKG1faXNXaW5kb3dlZCB8fCBjb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEhEQyBoZGMgPSBjb250ZXh0LT5nZXRXaW5kb3dzQ29udGV4dChm
cmFtZUdlb21ldHJ5KCkpOwotCi0gICAgLy8gRklYTUU6IFRoaXMgaXMgY29tcGxldGVseSB3cm9u
ZyBhbmQgd2lsbCBicmVhayBpbiB0aGUgcHJlc2VuY2Ugb2Ygb3BhY2l0eSwgU1ZHIHRyYW5zZm9y
bXMKLSAgICAvLyBhbmQgQ1NTIHRyYW5zZm9ybXMuCi0gICAgLy8gVGhlIHBsdWdpbiBleHBlY3Rz
IHRoYXQgdGhlIHBhc3NlZCBpbiBEQyBoYXMgd2luZG93IGNvb3JkaW5hdGVzLgotICAgIC8vIChU
aGlzIHByb2JhYmx5IGJyZWFrcyBmdW5reSBTVkcgdHJhbnNmb3JtIHN0dWZmKQotICAgIFhGT1JN
IHRyYW5zZm9ybTsKLSAgICBHZXRXb3JsZFRyYW5zZm9ybShoZGMsICZ0cmFuc2Zvcm0pOwotICAg
IHRyYW5zZm9ybS5lRHggPSAwOwotICAgIHRyYW5zZm9ybS5lRHkgPSAwOwotICAgIFNldFdvcmxk
VHJhbnNmb3JtKGhkYywgJnRyYW5zZm9ybSk7Ci0KKyAgICBBU1NFUlQocGFyZW50KCktPmlzRnJh
bWVWaWV3KCkpOworICAgIEludFJlY3QgcmVjdEluV2luZG93ID0gc3RhdGljX2Nhc3Q8RnJhbWVW
aWV3Kj4ocGFyZW50KCkpLT5jb250ZW50c1RvV2luZG93KGZyYW1lR2VvbWV0cnkoKSk7CisgICAg
SERDIGhkYyA9IGNvbnRleHQtPmdldFdpbmRvd3NDb250ZXh0KHJlY3RJbldpbmRvdywgbV9pc1Ry
YW5zcGFyZW50KTsKICAgICBOUEV2ZW50IG5wRXZlbnQ7CiAKKyAgICBpZiAoIWNvbnRleHQtPmlu
VHJhbnNwYXJlbmN5TGF5ZXIoKSkgeworICAgICAgICAvLyBUaGUgcGx1Z2luIGV4cGVjdHMgdGhh
dCB0aGUgcGFzc2VkIGluIERDIGhhcyB3aW5kb3cgY29vcmRpbmF0ZXMuCisgICAgICAgIFhGT1JN
IHRyYW5zZm9ybTsKKyAgICAgICAgR2V0V29ybGRUcmFuc2Zvcm0oaGRjLCAmdHJhbnNmb3JtKTsK
KyAgICAgICAgdHJhbnNmb3JtLmVEeCA9IDA7CisgICAgICAgIHRyYW5zZm9ybS5lRHkgPSAwOwor
ICAgICAgICBTZXRXb3JsZFRyYW5zZm9ybShoZGMsICZ0cmFuc2Zvcm0pOworICAgIH0KKwogICAg
IG1fbnBXaW5kb3cudHlwZSA9IE5QV2luZG93VHlwZURyYXdhYmxlOwogICAgIG1fbnBXaW5kb3cu
d2luZG93ID0gaGRjOwogCi0gICAgQVNTRVJUKHBhcmVudCgpLT5pc0ZyYW1lVmlldygpKTsKICAg
ICBJbnRQb2ludCBwID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4ocGFyZW50KCkpLT5jb250ZW50
c1RvV2luZG93KGZyYW1lR2VvbWV0cnkoKS5sb2NhdGlvbigpKTsKICAgICAKICAgICBXSU5ET1dQ
T1Mgd2luZG93cG9zOwpAQCAtNTE3LDcgKzUxNiw3IEBAIHZvaWQgUGx1Z2luVmlld1dpbjo6cGFp
bnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQogCiAgICAg
ZGlzcGF0Y2hOUEV2ZW50KG5wRXZlbnQpOwogCi0gICAgY29udGV4dC0+cmVsZWFzZVdpbmRvd3ND
b250ZXh0KGhkYywgZnJhbWVHZW9tZXRyeSgpKTsKKyAgICBjb250ZXh0LT5yZWxlYXNlV2luZG93
c0NvbnRleHQoaGRjLCBmcmFtZUdlb21ldHJ5KCksIG1faXNUcmFuc3BhcmVudCk7CiB9CiAKIHZv
aWQgUGx1Z2luVmlld1dpbjo6aGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KiBldmVu
dCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24173</attachid>
            <date>2008-10-07 19:13:47 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Add missing newline.</desc>
            <filename>-Add-missing-newline..patch</filename>
            <type>text/plain</type>
            <size>858</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NzI3NTY1Njc5YzBiZDA4OTUxY2E1MjE2ODBiODIyNTAyMTEzMWJiMApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNmEzNDAyLi5hODYxN2E2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDkgQEAKKzIwMDgtMDEtMDcgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBtaXNzaW5nIG5ld2xpbmUuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorCiAyMDA4LTAxLTA3ICBKb24gSG9uZXljdXR0
ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9X
ZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggZjJmOTBhMi4u
OTE3NzU4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVu
dHMuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApA
QCAtMjI0LDQgKzIyNCw0IEBAIHZvaWQgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCiB9IC8vbmFtZXNwYWNlIFdlYkNvcmUKLSNlbmRpZiAvLyBlbmFibGUo
dmlkZW8pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorI2VuZGlmIC8vIGVuYWJsZSh2aWRl
bykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24174</attachid>
            <date>2008-10-07 19:13:50 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Build fix.</desc>
            <filename>-Build-fix..patch</filename>
            <type>text/plain</type>
            <size>1619</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZmEyNTlhZTljOGRlZWM5ZWVmNTRiNmMxOTE4ZTk0MjgzNjcwYWEyMgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA3MDZmOWYxLi5i
OGI5Njc2IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2lu
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDkgQEAKKzIwMDgtMDEtMDcgIFN0ZXZlIEZhbGtlbmJ1cmcg
IDxzZmFsa2VuQGFwcGxlLmNvbT4KKworICAgICAgICBCdWlsZCBmaXguCisKKyAgICAgICAgKiBX
ZWJLaXQudmNwcm9qL0ludGVyZmFjZXNHZW5lcmF0ZWQudmNwcm9qOgorCiAyMDA4LTAxLTA3ICBE
YW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
ZSBIeWF0dC4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9JbnRlcmZhY2Vz
R2VuZXJhdGVkLnZjcHJvaiBiL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9JbnRlcmZhY2VzR2Vu
ZXJhdGVkLnZjcHJvagppbmRleCA0ODQ5NDg1Li42NTk1MGI1IDEwMDY0NAotLS0gYS9XZWJLaXQv
d2luL1dlYktpdC52Y3Byb2ovSW50ZXJmYWNlc0dlbmVyYXRlZC52Y3Byb2oKKysrIGIvV2ViS2l0
L3dpbi9XZWJLaXQudmNwcm9qL0ludGVyZmFjZXNHZW5lcmF0ZWQudmNwcm9qCkBAIC0yMyw4ICsy
Myw4IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCiAJCQkJQnVpbGRDb21t
YW5kTGluZT0ic2V0IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3aW5cYmluOyVQQVRIJSYjeDBEOyYj
eDBBO2Jhc2ggYnVpbGQtZ2VuZXJhdGVkLWZpbGVzLnNoICZxdW90OyQoV2ViS2l0T3V0cHV0RGly
KSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJkZWwgL3MgL3Eg
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXG9ialxXZWJLaXRcRE9NSW50ZXJmYWNlcyZxdW90OyYj
eDBEOyYjeDBBO3NldCBQQVRIPSVTeXN0ZW1Ecml2ZSVcY3lnd2luXGJpbjslUEFUSCUmI3gwRDsm
I3gwQTtiYXNoIGJ1aWxkLWdlbmVyYXRlZC1maWxlcy5zaCAmcXVvdDskKFdlYktpdE91dHB1dERp
cikmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImRlbCAvcyAvcSAm
cXVvdDskKFdlYktpdE91dHB1dERpcilcb2JqXFdlYktpdFxET01JbnRlcmZhY2VzJnF1b3Q7JiN4
MEQ7JiN4MEE7Ig0KKwkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImRlbCAvcyAvcSAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcb2JqXFdlYktpdFxEZXJpdmVkU291cmNlcyZxdW90OyYjeDBEOyYjeDBB
O3NldCBQQVRIPSVTeXN0ZW1Ecml2ZSVcY3lnd2luXGJpbjslUEFUSCUmI3gwRDsmI3gwQTtiYXNo
IGJ1aWxkLWdlbmVyYXRlZC1maWxlcy5zaCAmcXVvdDskKFdlYktpdE91dHB1dERpcikmcXVvdDsm
I3gwRDsmI3gwQTsiDQorCQkJCUNsZWFuQ29tbWFuZExpbmU9ImRlbCAvcyAvcSAmcXVvdDskKFdl
YktpdE91dHB1dERpcilcb2JqXFdlYktpdFxEZXJpdmVkU291cmNlcyZxdW90OyYjeDBEOyYjeDBB
OyINCiAJCQkJT3V0cHV0PSIiDQogCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQogCQkJ
CUluY2x1ZGVTZWFyY2hQYXRoPSIiDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24175</attachid>
            <date>2008-10-07 19:13:51 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Build fix.</desc>
            <filename>-Build-fix..patch</filename>
            <type>text/plain</type>
            <size>1008</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZWFiNDdjNTE5ZWQ3MjhlOThhMzI0MmQ1OGRmZDUzNDE0ZjNkOTVlNgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhODYxN2E2Li5iYTdmYjlh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEwIEBACisyMDA4LTAxLTA3ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CisKKyAgICAgICAgQnVpbGQgZml4LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR2x5cGhQYWdlVHJlZU5vZGVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaFBhZ2VU
cmVlTm9kZTo6cHJ1bmVUcmVlQ3VzdG9tRm9udERhdGEpOgorCiAyMDA4LTAxLTA3ICBBZGVsZSBQ
ZXRlcnNvbiAgPGFkZWxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgbWlzc2luZyBuZXdsaW5l
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HbHlwaFBhZ2VUcmVl
Tm9kZVF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR2x5cGhQYWdlVHJlZU5v
ZGVRdC5jcHAKaW5kZXggMGY4OTYzZC4uMWZkMTc5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HbHlwaFBhZ2VUcmVlTm9kZVF0LmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0dseXBoUGFnZVRyZWVOb2RlUXQuY3BwCkBAIC0yOCw3ICsyOCw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBHbHlwaFBhZ2VUcmVlTm9kZTo6cHJ1
bmVUcmVlQ3VzdG9tRm9udERhdGEoY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnREYXRhKQordm9p
ZCBHbHlwaFBhZ2VUcmVlTm9kZTo6cHJ1bmVUcmVlQ3VzdG9tRm9udERhdGEoY29uc3QgRm9udERh
dGEqIGZvbnREYXRhKQogewogICAgIFFGb250RGF0YWJhc2U6OnJlbW92ZUFwcGxpY2F0aW9uRm9u
dChmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkuaGFuZGxlKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24176</attachid>
            <date>2008-10-07 19:13:53 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>Fix painting of SVG &lt;image&gt; when the image must be scaled to retain aspect ratio</desc>
            <filename>Fix-painting-of-SVG-image-when-the-image-must-be-scaled-to-retain-aspect-ratio.patch</filename>
            <type>text/plain</type>
            <size>14661</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">MTRhMDUwMmZlYzkzZDk4YzcxMmY0NDFlY2VkYzNiZDUyNzExNzZjMApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM5YjRlOGQu
LjE5NDM2MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOC0wMS0wNyAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5pa28uCisKKyAgICAg
ICAgQWRkIHRlc3QgY2FzZSBmb3IgPGltYWdlPiB3aXRoIGEgdHJhbnNmb3JtYXRpb24gdG8gcmV0
YWluIGFzcGVjdCByYXRpbworCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vaW1h
Z2Utd2l0aC1hc3BlY3QtcmF0aW8tc3RyZXRjaC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC1hc3BlY3QtcmF0aW8t
c3RyZXRjaC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL2ltYWdlLXdpdGgtYXNwZWN0LXJhdGlvLXN0cmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2ltYWdlLXdpdGgtYXNwZWN0LXJhdGlvLXN0cmV0Y2gu
c3ZnOiBBZGRlZC4KKyAgICAgICAgCisgICAgICAgIEZpeGVkIGV4cGVjdGVkIG91dHB1dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0zMC10LWV4
cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEv
YW5pbWF0ZS1lbGVtLTMwLXQtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9z
dmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTM2LXQtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMzYtdC1leHBl
Y3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRl
LWVsZW0tMzktdC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0zOS10LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL2NhcnRvLm5ldC9zZWxlY3Rpb25saXN0LWV4cGVjdGVkLmNoZWNrc3Vt
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY2FydG8ubmV0L3NlbGVjdGlvbmxpc3QtZXhw
ZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BvaW50ZXItZXZl
bnRzLWltYWdlLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL3BvaW50ZXItZXZlbnRzLWltYWdlLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LWltYWdlLW9wYWNpdHktZXhwZWN0ZWQuY2hlY2tzdW06
CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1pbWFnZS1vcGFjaXR5LWV4
cGVjdGVkLnBuZzoKKwogMjAwOC0wMS0wNyAgQWRhbSBCYXJ0aCAgPGhrOTU2NUBnbWFpbC5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTMwLXQtZXhwZWN0
ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2Fu
aW1hdGUtZWxlbS0zMC10LWV4cGVjdGVkLmNoZWNrc3VtCmluZGV4IGM5ZGIyMzcuLjk0NzU0MGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5p
bWF0ZS1lbGVtLTMwLXQtZXhwZWN0ZWQuY2hlY2tzdW0KKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMzAtdC1leHBlY3RlZC5jaGVja3N1
bQpAQCAtMSArMSBAQAotZTE3ODNhZjUzMGIzNTY5Nzc0OTc4Mzc3MjJhOTVhMGUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis4M2VkNWE4ZjZhZTI4MzEwZDk0ZDE5N2QxZTgyZWNlZgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTMwLXQtZXhwZWN0ZWQucG5nIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMzAtdC1l
eHBlY3RlZC5wbmcKaW5kZXggOTdjMjliNC4uZjhkZWI4NSAxMDA2NDQKQmluYXJ5IGZpbGVzIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMzAt
dC1leHBlY3RlZC5wbmcgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9hbmltYXRlLWVsZW0tMzAtdC1leHBlY3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0zNi10
LWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9hbmltYXRlLWVsZW0tMzYtdC1leHBlY3RlZC5jaGVja3N1bQppbmRleCA1MzRmYmRkLi4z
N2M1ODM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkct
MS4xL2FuaW1hdGUtZWxlbS0zNi10LWV4cGVjdGVkLmNoZWNrc3VtCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTM2LXQtZXhwZWN0ZWQu
Y2hlY2tzdW0KQEAgLTEgKzEgQEAKLTUyNTMwYzQ5NmZjNTU1MDA5NWZlNWViNDI4NTk1ZGY4Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorMTljYTdhMjk5ZWNlMDg3ZDNkOTc4MmY2NDE2NTIy
NDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0zNi10LWV4cGVjdGVkLnBu
ZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVt
LTM2LXQtZXhwZWN0ZWQucG5nCmluZGV4IGYwM2VmNmQuLjA5OGRhODggMTAwNjQ0CkJpbmFyeSBm
aWxlcyBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1l
bGVtLTM2LXQtZXhwZWN0ZWQucG5nIGFuZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
VzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTM2LXQtZXhwZWN0ZWQucG5nIGRpZmZlcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVs
ZW0tMzktdC1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
VzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTM5LXQtZXhwZWN0ZWQuY2hlY2tzdW0KaW5kZXggYzVj
YTA0Ny4uOGRkYWFmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9X
M0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMzktdC1leHBlY3RlZC5jaGVja3N1bQorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0zOS10LWV4
cGVjdGVkLmNoZWNrc3VtCkBAIC0xICsxIEBACi0wOTM4OGZlZTA2NWIxZWQyYmVhMjc2MmY3ZWQ3
ZGNiOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzhhNjMyNDJhMzJmYmQ1MTZiMGQ3ZDcx
MjRlZmEzNTQ4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMzktdC1leHBl
Y3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1h
dGUtZWxlbS0zOS10LWV4cGVjdGVkLnBuZwppbmRleCA5NTJmN2U4Li4zNjcyODZkIDEwMDY0NApC
aW5hcnkgZmlsZXMgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2Fu
aW1hdGUtZWxlbS0zOS10LWV4cGVjdGVkLnBuZyBhbmQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0zOS10LWV4cGVjdGVkLnBuZyBkaWZmZXIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY2FydG8ubmV0L3NlbGVj
dGlvbmxpc3QtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2NhcnRvLm5ldC9zZWxlY3Rpb25saXN0LWV4cGVjdGVkLmNoZWNrc3VtCmluZGV4IGYxZTlhNmIu
LjVhZTlkMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY2FydG8u
bmV0L3NlbGVjdGlvbmxpc3QtZXhwZWN0ZWQuY2hlY2tzdW0KKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jYXJ0by5uZXQvc2VsZWN0aW9ubGlzdC1leHBlY3RlZC5jaGVja3N1bQpA
QCAtMSArMSBAQAotNDY4MWRiZTdhZmJiODY0Yjk5MzBkYTYyNDRmMTVlMzEKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCisyMzRmZTM1NjY3MjU1ODVkNjY3M2FmNjVkNDMxZTU1NQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY2FydG8ubmV0L3NlbGVjdGlvbmxpc3QtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jYXJ0by5uZXQvc2VsZWN0aW9ubGlzdC1leHBlY3RlZC5wbmcKaW5k
ZXggYmU4ODhlOS4uNmU5MDkwOCAxMDA2NDQKQmluYXJ5IGZpbGVzIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jYXJ0by5uZXQvc2VsZWN0aW9ubGlzdC1leHBlY3RlZC5wbmcgYW5kIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jYXJ0by5uZXQvc2VsZWN0aW9ubGlzdC1leHBl
Y3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9pbWFnZS13aXRoLWFzcGVjdC1yYXRpby1zdHJldGNoLWV4cGVjdGVkLmNoZWNrc3Vt
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC1hc3BlY3Qt
cmF0aW8tc3RyZXRjaC1leHBlY3RlZC5jaGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4zYTRmMWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC1hc3BlY3QtcmF0aW8tc3RyZXRjaC1leHBlY3Rl
ZC5jaGVja3N1bQpAQCAtMCwwICsxIEBACisxNjMxMDU4ODQ2N2NmYzIwZDU1MTYzNWFiYzU5Yjc4
NApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2ltYWdlLXdpdGgtYXNwZWN0LXJhdGlvLXN0cmV0Y2gtZXhw
ZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vaW1hZ2Utd2l0
aC1hc3BlY3QtcmF0aW8tc3RyZXRjaC1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uM2RiMjYzNApCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ltYWdlLXdpdGgtYXNwZWN0LXJhdGlvLXN0
cmV0Y2gtZXhwZWN0ZWQucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC1hc3BlY3QtcmF0aW8tc3RyZXRjaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9pbWFnZS13aXRoLWFz
cGVjdC1yYXRpby1zdHJldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5mMmMxYTY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vaW1hZ2Utd2l0aC1hc3BlY3QtcmF0aW8tc3RyZXRjaC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwtNTApIHNpemUgMTI1eDIwMAorICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsLTUwKSBzaXplIDEyNXgyMDAgW3RyYW5zZm9ybT17
bT0oKDAuNTAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwwLjAwKX1dCisgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgwLC01MCkgc2l6ZSA1MHgyMDAgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oLTEwMC4wMCwtMTUwLjAwKX1dCisgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgNTB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMTUwLjAwTDIwMC4wMCwxNTAuMDBMMjAwLjAw
LDI1MC4wMEwxMDAuMDAsMjUwLjAwIl0KKyAgICAgICAgUmVuZGVySW1hZ2Uge2ltYWdlfSBhdCAo
MCwwKSBzaXplIDEwMHgyMDAKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1LDAp
IHNpemUgMTAweDEwMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgt
NTAuMDAsLTEwMC4wMCl9XQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNTAsMCkgc2l6
ZSA1MHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTE1
MC4wMCwxMDAuMDBMMjUwLjAwLDEwMC4wMEwyNTAuMDAsMjAwLjAwTDE1MC4wMCwyMDAuMDAiXQor
ICAgICAgICBSZW5kZXJJbWFnZSB7aW1hZ2V9IGF0ICgwLDApIHNpemUgMjAweDEwMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMt
aW1hZ2UtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS1leHBlY3RlZC5jaGVja3N1bQppbmRleCA4ZjdlOGY5
Li42YjM4MTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3Rv
bS9wb2ludGVyLWV2ZW50cy1pbWFnZS1leHBlY3RlZC5jaGVja3N1bQorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFnZS1leHBlY3RlZC5j
aGVja3N1bQpAQCAtMSArMSBAQAotZmE2MGFmNjdiNGNkOTQ4MmJkMjEwMTI1ZDcxNmExZTkKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiszNTQ4NjBlNDRlNjUwZWRlNDdlNmZiOTVkYzkyYjUw
OQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLWltYWdlLWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLWltYWdl
LWV4cGVjdGVkLnBuZwppbmRleCBhZGYzZTE0Li43YzVlNmM3IDEwMDY0NApCaW5hcnkgZmlsZXMg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1pbWFn
ZS1leHBlY3RlZC5wbmcgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20v
cG9pbnRlci1ldmVudHMtaW1hZ2UtZXhwZWN0ZWQucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1pbWFnZS1vcGFjaXR5LWV4cGVj
dGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1p
bWFnZS1vcGFjaXR5LWV4cGVjdGVkLmNoZWNrc3VtCmluZGV4IDgyODVhMmYuLjI5NDI1ODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtaW1hZ2Ut
b3BhY2l0eS1leHBlY3RlZC5jaGVja3N1bQorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS90ZXh0LWltYWdlLW9wYWNpdHktZXhwZWN0ZWQuY2hlY2tzdW0KQEAgLTEgKzEg
QEAKLWU3ZmY5MDA3ZTc3ZWYwYmUzZjM2ZTM2NmM0NWM0N2ZjClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorYjg1YTIwZWFhZGQxZTQ0MWVjOWRjODc1YjEzMmVkZWIKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS90ZXh0LWltYWdlLW9wYWNpdHktZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1pbWFnZS1vcGFjaXR5LWV4cGVjdGVkLnBuZwppbmRleCAw
NWVlM2RmLi4wYjFhNDM2IDEwMDY0NApCaW5hcnkgZmlsZXMgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS90ZXh0LWltYWdlLW9wYWNpdHktZXhwZWN0ZWQucG5nIGFuZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtaW1hZ2Utb3BhY2l0eS1leHBl
Y3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ltYWdl
LXdpdGgtYXNwZWN0LXJhdGlvLXN0cmV0Y2guc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9p
bWFnZS13aXRoLWFzcGVjdC1yYXRpby1zdHJldGNoLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5iZjE2YjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9pbWFnZS13aXRoLWFzcGVjdC1yYXRpby1zdHJldGNoLnN2ZwpAQCAtMCwwICsxLDE3
IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSI+CisgICAgPCEtLSBU
aGlzIHRlc3QgZW5zdXJlcyB0aGF0IHdlIHBhaW50IGltYWdlcyB0byB0aGUgY29ycmVjdCBsb2Nh
dGlvbiB3aGVuCisgICAgICAgICBpdCBoYXMgYmVlbiB0cmFuc2Zvcm1lZCB0byByZXRhaW4gYXNw
ZWN0IHJhdGlvLgorICAgICAgICAgCisgICAgICAgICBJdCBzaG91bGQgcHJvZHVjZSBhIHNpbmds
ZSAxMDB4MTAwIGdyZWVuIHNxdWFyZS4KKyAgICAgLS0+CisgICAgPGcgdHJhbnNmb3JtPSJzY2Fs
ZSgwLjUsIDEpIj4KKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMCwgLTE1MCki
PgorICAgICAgICAgICAgPHJlY3QgeD0iMTAwIiB5PSIxNTAiIHdpZHRoPSIxMDAiIGhlaWdodD0i
MTAwIiBmaWxsPSJyZWQiLz4KKyAgICAgICAgICAgIDxpbWFnZSB4PSIxMDAiIHk9IjEwMCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSIyMDAiIHhsaW5rOmhyZWY9Ii4uLy4uL2NzczIuMS9zdXBwb3J0L3N3
YXRjaC1ncmVlbi5wbmciIC8+CisgICAgICAgIDwvZz4KKyAgICAgICAgPGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoLTUwLCAtMTAwKSI+CisgICAgICAgICAgICA8cmVjdCB4PSIxNTAiIHk9IjEwMCIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJlZCIvPgorICAgICAgICAgICAgPGltYWdl
IHg9IjEwMCIgeT0iMTAwIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjEwMCIgeGxpbms6aHJlZj0iLi4v
Li4vY3NzMi4xL3N1cHBvcnQvc3dhdGNoLWdyZWVuLnBuZyIgLz4KKyAgICAgICAgPC9nPgorICAg
IDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiYTdmYjlhLi4yNjExZmZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDA4LTAxLTA3
ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tmlrby4KKworICAgICAgICBGaXggcGFpbnRpbmcgb2YgU1ZHIDxpbWFnZT4gd2hlbiB0aGUgaW1h
Z2UgbXVzdCBiZSBzY2FsZWQgdG8gcmV0YWluIGFzcGVjdCByYXRpbworCisgICAgICAgIFRlc3Q6
IHN2Zy9jdXN0b20vaW1hZ2Utd2l0aC1hc3BlY3QtcmF0aW8tc3RyZXRjaC5zdmcKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJTVkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdJbWFnZTo6YWRqdXN0UmVjdHNGb3JBc3BlY3RSYXRpbyk6CisKIDIwMDgtMDEtMDcgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbWFnZS5jcHAgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdJbWFnZS5jcHAKaW5kZXggNDk4NmJiZS4uNWY5Njg5NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR0ltYWdlLmNwcApAQCAtNjIsMTIgKzYyLDEyIEBAIHZvaWQgUmVu
ZGVyU1ZHSW1hZ2U6OmFkanVzdFJlY3RzRm9yQXNwZWN0UmF0aW8oRmxvYXRSZWN0JiBkZXN0UmVj
dCwgRmxvYXRSZWN0JiBzCiAgICAgICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JRDoKICAgICAgICAgICAgICAgICBj
YXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZ
TUlEOgogICAgICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Ci0gICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0
LnNldFkob3JpZ0Rlc3RIZWlnaHQgLyAyLjBmIC0gZGVzdFJlY3QuaGVpZ2h0KCkgLyAyLjBmKTsK
KyAgICAgICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBvcmlnRGVz
dEhlaWdodCAvIDIuMGYgLSBkZXN0UmVjdC5oZWlnaHQoKSAvIDIuMGYpOwogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOgogICAgICAgICAgICAgICAgIGNh
c2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlN
QVg6CiAgICAgICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJF
U0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWDoKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJlY3Qu
c2V0WShvcmlnRGVzdEhlaWdodCAtIGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZGVzdFJlY3Quc2V0WShkZXN0UmVjdC55KCkgKyBvcmlnRGVzdEhlaWdodCAtIGRlc3RS
ZWN0LmhlaWdodCgpKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KQEAgLTc3LDEyICs3NywxMiBAQCB2b2lkIFJlbmRlclNWR0ltYWdlOjphZGp1
c3RSZWN0c0ZvckFzcGVjdFJhdGlvKEZsb2F0UmVjdCYgZGVzdFJlY3QsIEZsb2F0UmVjdCYgcwog
ICAgICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JRFlNSU46CiAgICAgICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDoKICAgICAgICAgICAg
ICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X1hNSURZTUFYOgotICAgICAgICAgICAgICAgICAgICBkZXN0UmVjdC5zZXRYKG9yaWdEZXN0V2lk
dGggLyAyLjBmIC0gZGVzdFJlY3Qud2lkdGgoKSAvIDIuMGYpOworICAgICAgICAgICAgICAgICAg
ICBkZXN0UmVjdC5zZXRYKGRlc3RSZWN0LngoKSArIG9yaWdEZXN0V2lkdGggLyAyLjBmIC0gZGVz
dFJlY3Qud2lkdGgoKSAvIDIuMGYpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNQVhZTUlOOgogICAgICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6CiAgICAgICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFY
WU1BWDoKLSAgICAgICAgICAgICAgICAgICAgZGVzdFJlY3Quc2V0WChvcmlnRGVzdFdpZHRoIC0g
ZGVzdFJlY3Qud2lkdGgoKSk7CisgICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0LnNldFgoZGVz
dFJlY3QueCgpICsgb3JpZ0Rlc3RXaWR0aCAtIGRlc3RSZWN0LndpZHRoKCkpOwogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtOTYsMTIgKzk2
LDEyIEBAIHZvaWQgUmVuZGVyU1ZHSW1hZ2U6OmFkanVzdFJlY3RzRm9yQXNwZWN0UmF0aW8oRmxv
YXRSZWN0JiBkZXN0UmVjdCwgRmxvYXRSZWN0JiBzCiAgICAgICAgICAgICAgICAgY2FzZSBTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JRDoKICAg
ICAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSURZTUlEOgogICAgICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6Ci0gICAgICAgICAgICAg
ICAgICAgIHNyY1JlY3Quc2V0WShpbWFnZSgpLT5oZWlnaHQoKSAvIDIuMGYgLSBzcmNSZWN0Lmhl
aWdodCgpIC8gMi4wZik7CisgICAgICAgICAgICAgICAgICAgIHNyY1JlY3Quc2V0WShkZXN0UmVj
dC55KCkgKyBpbWFnZSgpLT5oZWlnaHQoKSAvIDIuMGYgLSBzcmNSZWN0LmhlaWdodCgpIC8gMi4w
Zik7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6CiAg
ICAgICAgICAgICAgICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVB
U1BFQ1RSQVRJT19YTUlEWU1BWDoKICAgICAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW86OlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgotICAgICAgICAgICAg
ICAgICAgICBzcmNSZWN0LnNldFkoaW1hZ2UoKS0+aGVpZ2h0KCkgLSBzcmNSZWN0LmhlaWdodCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRZKGRlc3RSZWN0LnkoKSArIGltYWdl
KCktPmhlaWdodCgpIC0gc3JjUmVjdC5oZWlnaHQoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0xMTMsMTIgKzExMywxMiBAQCB2b2lk
IFJlbmRlclNWR0ltYWdlOjphZGp1c3RSZWN0c0ZvckFzcGVjdFJhdGlvKEZsb2F0UmVjdCYgZGVz
dFJlY3QsIEZsb2F0UmVjdCYgcwogICAgICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU46CiAgICAgICAgICAgICAg
ICAgY2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUlEWU1JRDoKICAgICAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgotICAgICAgICAgICAgICAgICAgICBzcmNS
ZWN0LnNldFgoaW1hZ2UoKS0+d2lkdGgoKSAvIDIuMGYgLSBzcmNSZWN0LndpZHRoKCkgLyAyLjBm
KTsKKyAgICAgICAgICAgICAgICAgICAgc3JjUmVjdC5zZXRYKGRlc3RSZWN0LngoKSArIGltYWdl
KCktPndpZHRoKCkgLyAyLjBmIC0gc3JjUmVjdC53aWR0aCgpIC8gMi4wZik7CiAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbzo6U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU46CiAgICAgICAgICAgICAgICAg
Y2FzZSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFY
WU1JRDoKICAgICAgICAgICAgICAgICBjYXNlIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OlNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgotICAgICAgICAgICAgICAgICAgICBzcmNSZWN0
LnNldFgoaW1hZ2UoKS0+d2lkdGgoKSAtIHNyY1JlY3Qud2lkdGgoKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNyY1JlY3Quc2V0WChkZXN0UmVjdC54KCkgKyBpbWFnZSgpLT53aWR0aCgpIC0gc3Jj
UmVjdC53aWR0aCgpKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24177</attachid>
            <date>2008-10-07 19:13:54 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Temporary results until I fix:</desc>
            <filename>-Temporary-results-until-I-fix-.patch</filename>
            <type>text/plain</type>
            <size>940</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">YmYwMmZmN2U0MGE2OWFmMTZkNzM5ZWEzZTk3ZDc4NGQ0ZGU4NGQ4ZgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE5NDM2MTUu
LjlmM2Q0ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMCBAQAorMjAwOC0wMS0wNyAgQWRlbGUgUGV0ZXJz
b24gIDxhZGVsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGVtcG9yYXJ5IHJlc3VsdHMgdW50aWwg
SSBmaXg6CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Njc0NjY3PiBmYXN0L2Zvcm1zL3NsaWRl
ci1tb3VzZS1ldmVudHMuaHRtbCBpcyBicm9rZW4gYnkgbWVkaWEgY29udHJvbCBjaGVja2luIDI5
MjU3CisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NsaWRlci1tb3VzZS1ldmVudHMtZXhwZWN0ZWQu
dHh0OgorCiAyMDA4LTAxLTA3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTmlrby4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2xpZGVyLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NsaWRlci1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDRhNDk4ODkuLjhjZjQx
ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2xpZGVyLW1vdXNlLWV2ZW50
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zbGlkZXItbW91c2Ut
ZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMiw1ICsyLDQgQEAgVGhpcyB0ZXN0cyB0aGF0IHNsaWRl
ciBjb250cm9scyBnZXQgbW91c2UgZG93biwgaW5wdXQsIGFuZCBtb3VzZXVwIGV2ZW50cy4KIAog
bW91c2Vkb3duCiBpbnB1dAotbW91c2V1cAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24178</attachid>
            <date>2008-10-07 19:13:56 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        * platform/win/Skipped:</desc>
            <filename>-platform-win-Skipped-.patch</filename>
            <type>text/plain</type>
            <size>900</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">N2U3MWZhYzg4MmY0MGJlODk3YzM5YzVlOTNmODg0ZDRhNWYzNjFmNApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlmM2Q0ZDAu
LmRiNmQ5MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4IEBACisyMDA4LTAxLTA3ICBBbGljZSBMaXUgIDxh
bGljZS5saXVAYXBwbGUuY29tPgorCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6Cisg
ICAgICAgIHJlbW92aW5nIGZpeGVkIHRlc3QKKwogMjAwOC0wMS0wNyAgQWRlbGUgUGV0ZXJzb24g
IDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgVGVtcG9yYXJ5IHJlc3VsdHMgdW50aWwgSSBm
aXg6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDYwYzQ1MTkuLjgwZTYzMTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0zMzksOSArMzM5LDYgQEAgc3ZnL2N1c3RvbS9ub24t
b3BhcXVlLWZpbHRlcnMuc3ZnCiBzdmcvY3VzdG9tL3RleHQtZmlsdGVyLnN2Zwogc3ZnL2N1c3Rv
bS92aXNpYmlsaXR5LW92ZXJyaWRlLWZpbHRlci5zdmcKIAotIyBSZXN1bHRzIGFyZSB3aWxkbHkg
d3JvbmcgPHJkYXI6Ly81NTYzNzQ2Pgotc3ZnL2Nzcy9nbHlwaC1vcmllbnRhdGlvbi1yb3VuZGlu
Zy10ZXN0LnhodG1sCi0KICMgVGhpcyB0ZXN0IGludGVybWl0dGVudGx5IGNyYXNoZXMgPHJkYXI6
Ly81NjIxOTc5PgogZWRpdGluZy9zZWxlY3Rpb24vNTI0MTE0OC5odG1sCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24179</attachid>
            <date>2008-10-07 19:13:57 -0700</date>
            <delta_ts>2008-10-07 19:18:52 -0700</delta_ts>
            <desc>        Build fix.</desc>
            <filename>-Build-fix..patch</filename>
            <type>text/plain</type>
            <size>4355</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NjgxNDg3NzNhNTU3MmUwZjJkZmZiMjYwNjZjOTBkODY2ODRmYTNhNApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNjExZmZhLi5hOWZmY2E0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEwIEBACisyMDA4LTAxLTA3ICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBh
cHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgZml4LgorCisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS5zbG46CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS5zdWJtaXQu
c2xuOgorCiAyMDA4LTAxLTA3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTmlrby4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS5zbG4gYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUuc2xuCmluZGV4
IDY2OWYwNTcuLmNmZTViODQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS5zbG4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnNsbgpAQCAtNCwx
MCArNCwxMyBAQCBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQg
VmVyc2lvbiA5LjAwCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJD
OTQyfSIpID0gIldlYkNvcmUiLCAiV2ViQ29yZS52Y3Byb2oiLCAiezFDMTYzMzdCLUFDRjMtNEQw
My1BQTkwLTg1MUM1QjVFQURBNn0iDQogCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNp
ZXMpID0gcG9zdFByb2plY3QNCiAJCXswQTMyNDM1Mi1CM0I2LTQ5NkMtOUU1Qi00QzdFOTIzRTYy
OEJ9ID0gezBBMzI0MzUyLUIzQjYtNDk2Qy05RTVCLTRDN0U5MjNFNjI4Qn0NCisJCXtFNDk4Q0E5
RC0zQkQyLTRENTItOEUzNy1DOERDNzY1MjYzMjV9ID0ge0U0OThDQTlELTNCRDItNEQ1Mi04RTM3
LUM4REM3NjUyNjMyNX0NCiAJRW5kUHJvamVjdFNlY3Rpb24NCiBFbmRQcm9qZWN0DQogUHJvamVj
dCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJXZWJDb3JlR2Vu
ZXJhdGVkIiwgIldlYkNvcmVHZW5lcmF0ZWQudmNwcm9qIiwgInswQTMyNDM1Mi1CM0I2LTQ5NkMt
OUU1Qi00QzdFOTIzRTYyOEJ9Ig0KIEVuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0
QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIlFUTW92aWVXaW4iLCAiUVRNb3ZpZVdpbi52
Y3Byb2oiLCAie0U0OThDQTlELTNCRDItNEQ1Mi04RTM3LUM4REM3NjUyNjMyNX0iDQorRW5kUHJv
amVjdA0KIEdsb2JhbA0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRm
b3JtcykgPSBwcmVTb2x1dGlvbg0KIAkJRGVidWdfSW50ZXJuYWx8V2luMzIgPSBEZWJ1Z19JbnRl
cm5hbHxXaW4zMg0KQEAgLTI3LDYgKzMwLDEyIEBAIEdsb2JhbAogCQl7MEEzMjQzNTItQjNCNi00
OTZDLTlFNUItNEM3RTkyM0U2MjhCfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4z
Mg0KIAkJezBBMzI0MzUyLUIzQjYtNDk2Qy05RTVCLTRDN0U5MjNFNjI4Qn0uUmVsZWFzZXxXaW4z
Mi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7MEEzMjQzNTItQjNCNi00OTZDLTlFNUIt
NEM3RTkyM0U2MjhCfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7
RTQ5OENBOUQtM0JEMi00RDUyLThFMzctQzhEQzc2NTI2MzI1fS5EZWJ1Z19JbnRlcm5hbHxXaW4z
Mi5BY3RpdmVDZmcgPSBEZWJ1Z19JbnRlcm5hbHxXaW4zMg0KKwkJe0U0OThDQTlELTNCRDItNEQ1
Mi04RTM3LUM4REM3NjUyNjMyNX0uRGVidWdfSW50ZXJuYWx8V2luMzIuQnVpbGQuMCA9IERlYnVn
X0ludGVybmFsfFdpbjMyDQorCQl7RTQ5OENBOUQtM0JEMi00RDUyLThFMzctQzhEQzc2NTI2MzI1
fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0U0OThDQTlELTNCRDIt
NEQ1Mi04RTM3LUM4REM3NjUyNjMyNX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMy
DQorCQl7RTQ5OENBOUQtM0JEMi00RDUyLThFMzctQzhEQzc2NTI2MzI1fS5SZWxlYXNlfFdpbjMy
LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtFNDk4Q0E5RC0zQkQyLTRENTItOEUzNy1D
OERDNzY1MjYzMjV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJRW5k
R2xvYmFsU2VjdGlvbg0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVT
b2x1dGlvbg0KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnN1Ym1pdC5zbG4gYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUuc3VibWl0LnNsbgppbmRleCA2NjlmMDU3Li5jZmU1Yjg0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUuc3VibWl0LnNsbgorKysgYi9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUuc3VibWl0LnNsbgpAQCAtNCwxMCArNCwxMyBAQCBNaWNy
b3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiA5LjAwCiBQ
cm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIldlYkNv
cmUiLCAiV2ViQ29yZS52Y3Byb2oiLCAiezFDMTYzMzdCLUFDRjMtNEQwMy1BQTkwLTg1MUM1QjVF
QURBNn0iDQogCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2pl
Y3QNCiAJCXswQTMyNDM1Mi1CM0I2LTQ5NkMtOUU1Qi00QzdFOTIzRTYyOEJ9ID0gezBBMzI0MzUy
LUIzQjYtNDk2Qy05RTVCLTRDN0U5MjNFNjI4Qn0NCisJCXtFNDk4Q0E5RC0zQkQyLTRENTItOEUz
Ny1DOERDNzY1MjYzMjV9ID0ge0U0OThDQTlELTNCRDItNEQ1Mi04RTM3LUM4REM3NjUyNjMyNX0N
CiAJRW5kUHJvamVjdFNlY3Rpb24NCiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThC
NEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJXZWJDb3JlR2VuZXJhdGVkIiwgIldlYkNv
cmVHZW5lcmF0ZWQudmNwcm9qIiwgInswQTMyNDM1Mi1CM0I2LTQ5NkMtOUU1Qi00QzdFOTIzRTYy
OEJ9Ig0KIEVuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBB
MEM5MUJDOTQyfSIpID0gIlFUTW92aWVXaW4iLCAiUVRNb3ZpZVdpbi52Y3Byb2oiLCAie0U0OThD
QTlELTNCRDItNEQ1Mi04RTM3LUM4REM3NjUyNjMyNX0iDQorRW5kUHJvamVjdA0KIEdsb2JhbA0K
IAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1
dGlvbg0KIAkJRGVidWdfSW50ZXJuYWx8V2luMzIgPSBEZWJ1Z19JbnRlcm5hbHxXaW4zMg0KQEAg
LTI3LDYgKzMwLDEyIEBAIEdsb2JhbAogCQl7MEEzMjQzNTItQjNCNi00OTZDLTlFNUItNEM3RTky
M0U2MjhCfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezBBMzI0MzUy
LUIzQjYtNDk2Qy05RTVCLTRDN0U5MjNFNjI4Qn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBS
ZWxlYXNlfFdpbjMyDQogCQl7MEEzMjQzNTItQjNCNi00OTZDLTlFNUItNEM3RTkyM0U2MjhCfS5S
ZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTQ5OENBOUQtM0JEMi00
RDUyLThFMzctQzhEQzc2NTI2MzI1fS5EZWJ1Z19JbnRlcm5hbHxXaW4zMi5BY3RpdmVDZmcgPSBE
ZWJ1Z19JbnRlcm5hbHxXaW4zMg0KKwkJe0U0OThDQTlELTNCRDItNEQ1Mi04RTM3LUM4REM3NjUy
NjMyNX0uRGVidWdfSW50ZXJuYWx8V2luMzIuQnVpbGQuMCA9IERlYnVnX0ludGVybmFsfFdpbjMy
DQorCQl7RTQ5OENBOUQtM0JEMi00RDUyLThFMzctQzhEQzc2NTI2MzI1fS5EZWJ1Z3xXaW4zMi5B
Y3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0U0OThDQTlELTNCRDItNEQ1Mi04RTM3LUM4REM3
NjUyNjMyNX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7RTQ5OENBOUQt
M0JEMi00RDUyLThFMzctQzhEQzc2NTI2MzI1fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJl
bGVhc2V8V2luMzINCisJCXtFNDk4Q0E5RC0zQkQyLTRENTItOEUzNy1DOERDNzY1MjYzMjV9LlJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJRW5kR2xvYmFsU2VjdGlvbg0K
IAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KIAkJSGlk
ZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24180</attachid>
            <date>2008-10-07 19:18:52 -0700</date>
            <delta_ts>2008-10-08 02:02:51 -0700</delta_ts>
            <desc>Full fix (no layout test regressions)</desc>
            <filename>full.patch</filename>
            <type>text/plain</type>
            <size>7652</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzYjA2OGU1Li5jZDliZjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDgtMTAt
MDYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLCBOaWtvbGFzIFppbW1lcm1hbm4gYW5kIERhdmUgSHlhdHQuCisgICAgICAg
IAorICAgICAgICBzdmdFbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsdWUgPSAiZm9vIiBkb2Vzbid0
IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
NjUxCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS5zdmc6IEFkZGVkLgor
CiAyMDA4LTEwLTA0ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS1leHBlY3RlZC5j
aGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTRmMWY3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY2xhc3Mt
YmFzZVZhbHVlLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKKzE2MzEwNTg4NDY3Y2Zj
MjBkNTUxNjM1YWJjNTliNzg0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY2xhc3MtYmFzZVZhbHVlLWV4
cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NsYXNzLWJh
c2VWYWx1ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
M2RiMjYzNApCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS1leHBlY3RlZC5wbmcgZGlmZmVyCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jbGFzcy1iYXNlVmFs
dWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY2xh
c3MtYmFzZVZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4wZDI4N2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vY2xhc3MtYmFzZVZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2
Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkg
c2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCJdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2NsYXNzLWJhc2VWYWx1ZS5zdmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMDI2NDQ3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vY2xhc3MtYmFzZVZhbHVlLnN2ZwpAQCAtMCwwICsxLDEwIEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+CisgICAgLmZhaWwge2ZpbGw6IHJlZDt9CisgICAgLnBhc3Mge2ZpbGw6IGdyZWVuO30K
KyAgPC9zdHlsZT4KKyAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGlkPSJ0ZXN0IiBj
bGFzcz0iZmFpbCIvPgorICA8c2NyaXB0PgorCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
JykuY2xhc3NOYW1lLmJhc2VWYWwgPSAncGFzcyc7CisgIDwvc2NyaXB0PgorPC9zdmc+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJjZWIw
MDIuLmRjY2Y0MzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDgtMTAtMDIgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLCBOaWtvbGFz
IFppbW1lcm1hbm4gYW5kIERhdmUgSHlhdHQuCisKKyAgICAgICAgc3ZnRWxlbWVudC5jbGFzc05h
bWUuYmFzZVZhbHVlID0gImZvbyIgZG9lcyBub3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NTEKKworICAgICAgICAqIGRvbS9TdHlsZWRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmli
dXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSk6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKwogMjAwOC0xMC0wNyAgQWxwIFRva2VyICA8YWxw
QG51YW50aS5jb20+CiAKICAgICAgICAgR1RLKyBidWlsZCBmaXggZm9yIG9sZGVyIGF1dG9tYWtl
IHZlcnNpb25zICgxLjcpLiBEaXNjdXNzZWQgaW4gYnVnCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4
IDFkMTM2NDAuLmYxYTFiYTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQu
Y3BwCisrKyBiL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0yMTAsNiArMjEwLDI1
IEBAIGJvb2wgU3R5bGVkRWxlbWVudDo6bWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSwgTWFwcGVkQXR0cmlidXRlRW50CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQg
U3R5bGVkRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYg
bmV3Q2xhc3NTdHJpbmcpCit7CisgICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSBuZXdDbGFz
c1N0cmluZy5jaGFyYWN0ZXJzKCk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gbmV3Q2xhc3NTdHJp
bmcubGVuZ3RoKCk7CisgICAgdW5zaWduZWQgaTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgaWYgKCFpc0NsYXNzV2hpdGVzcGFjZShjaGFyYWN0ZXJzW2ldKSkK
KyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBzZXRIYXNDbGFzcyhpIDwgbGVuZ3RoKTsK
KyAgICBpZiAobmFtZWRBdHRyTWFwKSB7CisgICAgICAgIGlmIChpIDwgbGVuZ3RoKQorICAgICAg
ICAgICAgbWFwcGVkQXR0cmlidXRlcygpLT5zZXRDbGFzcyhuZXdDbGFzc1N0cmluZyk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIG1hcHBlZEF0dHJpYnV0ZXMoKS0+Y2xlYXJDbGFzcygpOwor
ICAgIH0KKyAgICBzZXRDaGFuZ2VkKCk7Cit9CisKIHZvaWQgU3R5bGVkRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogewogICAgIGlmIChhdHRyLT5u
YW1lKCkgPT0gaWRBdHRyKSB7CkBAIC0yMjQsMjUgKzI0Myw5IEBAIHZvaWQgU3R5bGVkRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogICAgICAgICAg
ICAgICAgIG5hbWVkQXR0ck1hcC0+c2V0SUQoYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIH0KICAg
ICAgICAgc2V0Q2hhbmdlZCgpOwotICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGNsYXNz
QXR0cikgewotICAgICAgICAvLyBjbGFzcwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZh
bHVlID0gYXR0ci0+dmFsdWUoKTsKLSAgICAgICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSB2
YWx1ZS5jaGFyYWN0ZXJzKCk7Ci0gICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IHZhbHVlLmxlbmd0
aCgpOwotICAgICAgICB1bnNpZ25lZCBpOwotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3Ro
OyArK2kpIHsKLSAgICAgICAgICAgIGlmICghaXNDbGFzc1doaXRlc3BhY2UoY2hhcmFjdGVyc1tp
XSkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgc2V0SGFzQ2xh
c3MoaSA8IGxlbmd0aCk7Ci0gICAgICAgIGlmIChuYW1lZEF0dHJNYXApIHsKLSAgICAgICAgICAg
IGlmIChpIDwgbGVuZ3RoKQotICAgICAgICAgICAgICAgIG1hcHBlZEF0dHJpYnV0ZXMoKS0+c2V0
Q2xhc3ModmFsdWUpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG1hcHBlZEF0
dHJpYnV0ZXMoKS0+Y2xlYXJDbGFzcygpOwotICAgICAgICB9Ci0gICAgICAgIHNldENoYW5nZWQo
KTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBzdHlsZUF0dHIpIHsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBjbGFzc0F0dHIpCisgICAgICAgIGNsYXNzQXR0cmlidXRl
Q2hhbmdlZChhdHRyLT52YWx1ZSgpKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gc3R5
bGVBdHRyKSB7CiAgICAgICAgIGlmIChhdHRyLT5pc051bGwoKSkKICAgICAgICAgICAgIGRlc3Ry
b3lJbmxpbmVTdHlsZURlY2woKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vU3R5bGVkRWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCmluZGV4IGVm
ZGQ0ZDIuLmYyMmE1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAor
KysgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKQEAgLTgxLDYgKzgxLDExIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXMoY29uc3QgRWxl
bWVudCopOwogCiBwcm90ZWN0ZWQ6CisgICAgLy8gY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKCkgZXhp
c3RzIHRvIHNoYXJlIGNvZGUgYmV0d2VlbgorICAgIC8vIHBhcnNlTWFwcGVkQXR0cmlidXRlIChj
YWxsZWQgdmlhIHNldEF0dHJpYnV0ZSgpKSBhbmQKKyAgICAvLyBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
IChjYWxsZWQgd2hlbiBlbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsdWUgaXMgc2V0KQorICAgIHZv
aWQgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3Q2xhc3NTdHJp
bmcpOworCiAgICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBtX2lubGluZVN0
eWxlRGVjbDsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQu
Y3BwIGIvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggZGFlMjRlNy4uYmFh
NDM2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKKysrIGIv
V2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKQEAgLTE1OSwxNyArMTU5LDI1IEBAIGJv
b2wgU1ZHU3R5bGVkRWxlbWVudDo6bWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
TmFtZSwgTWFwcGVkQXR0cmlidXRlCiAKIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogeworICAgIGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lID0gYXR0ci0+bmFtZSgpOwogICAgIC8vIE5PVEU6IEFueSBzdWJjbGFz
cyB3aGljaCBvdmVycmlkZXMgcGFyc2VNYXBwZWRBdHRyaWJ1dGUgZm9yIGEgcHJvcGVydHkgaGFu
ZGxlZCBieQogICAgIC8vIGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lIHdpbGwgYWxz
byBoYXZlIHRvIG92ZXJyaWRlIG1hcFRvRW50cnkgdG8gZGlzYWJsZSB0aGUgZGVmYXVsdCBlU1ZH
IG1hcHBpbmcKLSAgICBpbnQgcHJvcElkID0gU1ZHU3R5bGVkRWxlbWVudDo6Y3NzUHJvcGVydHlJ
ZEZvclNWR0F0dHJpYnV0ZU5hbWUoYXR0ci0+bmFtZSgpKTsKKyAgICBpbnQgcHJvcElkID0gU1ZH
U3R5bGVkRWxlbWVudDo6Y3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUoYXR0ck5hbWUp
OwogICAgIGlmIChwcm9wSWQgPiAwKSB7CiAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIHBy
b3BJZCwgYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIHNldENoYW5nZWQoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICAKLSAgICAvLyBpZCBhbmQgY2xhc3MgYXJlIGhhbmRsZWQgYnkgU3R5
bGVkRWxlbWVudAotICAgIFNWR0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwor
ICAgIC8vIFNWRyBhbmltYXRpb24gaGFzIGN1cnJlbnRseSByZXF1aXJlcyBzcGVjaWFsIHN0b3Jh
Z2Ugb2YgdmFsdWVzIHNvIHdlIHNldAorICAgIC8vIHRoZSBjbGFzc05hbWUgaGVyZS4gIHN2Z0F0
dHJpYnV0ZUNoYW5nZWQgYWN0dWFsbHkgY2F1c2VzIHRoZSByZXN1bHRpbmcKKyAgICAvLyBzdHls
ZSB1cGRhdGVzIChpbnN0ZWFkIG9mIFN0eWxlZEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KS4gV2UgZG9uJ3QKKyAgICAvLyB0ZWxsIFN0eWxlZEVsZW1lbnQgYWJvdXQgdGhlIGNoYW5nZSB0
byBhdm9pZCBwYXJzaW5nIHRoZSBjbGFzcyBsaXN0IHR3aWNlCisgICAgaWYgKGF0dHJOYW1lLm1h
dGNoZXMoSFRNTE5hbWVzOjpjbGFzc0F0dHIpKQorICAgICAgICBzZXRDbGFzc05hbWUoYXR0ci0+
dmFsdWUoKSk7CisgICAgZWxzZQorICAgICAgICAvLyBpZCBpcyBoYW5kbGVkIGJ5IFN0eWxlZEVs
ZW1lbnQgd2hpY2ggU1ZHRWxlbWVudCBpbmhlcml0cyBmcm9tCisgICAgICAgIFNWR0VsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQogCiBib29sIFNWR1N0eWxlZEVsZW1lbnQ6
OmlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCkBAIC0xODYs
NiArMTk0LDkgQEAgdm9pZCBTVkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogewogICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogCisgICAgaWYgKGF0dHJOYW1lLm1hdGNoZXMoSFRNTE5h
bWVzOjpjbGFzc0F0dHIpKQorICAgICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY2xhc3NOYW1l
KCkpOworCiAgICAgLy8gSWYgd2UncmUgdGhlIGNoaWxkIG9mIGEgcmVzb3VyY2UgZWxlbWVudCwg
YmUgc3VyZSB0byBpbnZhbGlkYXRlIGl0LgogICAgIGludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2Vz
dG9yQ2hhaW4oKTsKIAo=
</data>
<flag name="review"
          id="10993"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>