<?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>107618</bug_id>
          
          <creation_ts>2013-01-22 20:34:02 -0800</creation_ts>
          <short_desc>Fix painting phases for composited scrolling</short_desc>
          <delta_ts>2022-12-30 20:59:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=249457</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>111768</dependson>
          <blocked>107952</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>vollick</reporter>
          <assigned_to>vollick</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>813729</commentid>
    <comment_count>0</comment_count>
    <who name="">vollick</who>
    <bug_when>2013-01-22 20:34:02 -0800</bug_when>
    <thetext>The scrolling contents graphics layer that is created for composited scrolling has its painting phase set to GraphicsLayerPaintForeground. A consequence of this is that focus ring rects are incorrectly painted into it and leave behind lines that scroll with the content.

The aim of this patch is to split the GraphicsLayerPaintForeground phase into two: GraphicsLayerPaintForeground and GraphicsLayerPaintOutline. Whichever layer was set to paint the GraphicsLayerPaintForeground phase, will also be set to paint the GraphicsLayerPaintOutline phase. In the case of composited scrolling, only the GraphicsLayerPaintForeground phase would be shifted to the scrolling contents layer. Whichever layer had been painting the GraphicsLayerPaintOutline phase would continue to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813734</commentid>
    <comment_count>1</comment_count>
      <attachid>184118</attachid>
    <who name="">vollick</who>
    <bug_when>2013-01-22 20:39:10 -0800</bug_when>
    <thetext>Created attachment 184118
WIP. Not ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813830</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-22 22:13:53 -0800</bug_when>
    <thetext>What about borders?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814284</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-23 09:52:29 -0800</bug_when>
    <thetext>Removing &quot;not ready for review&quot; from bug title. It&apos;s not meaningful to have that in a bug title, bugs are not reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815630</commentid>
    <comment_count>4</comment_count>
      <attachid>184533</attachid>
    <who name="">vollick</who>
    <bug_when>2013-01-24 11:08:01 -0800</bug_when>
    <thetext>Created attachment 184533
Patch

(In reply to comment #2)
  &gt; What about borders?

Borders appear to be drawn in the background phase. The scrolling contents layer
didn&apos;t seem to pick those up since it painted other phases, the
RenderLayerBacking&apos;s graphicsLayer() ended up painting these. With this change,
that layer would get the outlines and focus rects, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815719</commentid>
    <comment_count>5</comment_count>
      <attachid>184533</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 12:20:12 -0800</bug_when>
    <thetext>Comment on attachment 184533
Patch

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

New failing tests:
platform/chromium/virtual/gpu/compositedscrolling/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
platform/chromium/virtual/softwarecompositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816450</commentid>
    <comment_count>6</comment_count>
      <attachid>184533</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-25 03:19:35 -0800</bug_when>
    <thetext>Comment on attachment 184533
Patch

Attachment 184533 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16097732

New failing tests:
compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816608</commentid>
    <comment_count>7</comment_count>
      <attachid>184756</attachid>
    <who name="">vollick</who>
    <bug_when>2013-01-25 08:21:45 -0800</bug_when>
    <thetext>Created attachment 184756
Updated expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821015</commentid>
    <comment_count>8</comment_count>
      <attachid>185664</attachid>
    <who name="">vollick</who>
    <bug_when>2013-01-30 20:14:15 -0800</bug_when>
    <thetext>Created attachment 185664
Patch

With composited scrolling, the scrolling contents layer paints the foreground and the main graphics layer paints the background. This causes a few problems:

 1) If we create a foreground layer, we end up with two layers painting the foreground phase.

 2) Focus rings / outlines paint into the foreground layer, so they end up moving around with the scrolling contents.

 3) Neg z-order descendants paint in the the main graphics layer and will therefore not scroll.

My solution for 1) is not to create a special, foreground layer when we&apos;re using composited scrolling. I don&apos;t think we need this extra layer in this case. Simon, please let me know if this is wrong, but here is my reasoning. We really shouldn&apos;t be using composited scrolling when we have out-of-flow positioned descendants. Things will render differently if we do (and we never automatically opt-in if this is the case). So it seems to make sense to paint all descendants into the same layer since they&apos;ll be scrolling together anyhow.

To deal with 2) and 3), I&apos;ve modified RenderLayer::paintLayerContents to customize the &quot;compositing background&quot; and &quot;compositing foreground&quot; phases if the layer is using composited scrolling. This approach seemed simpler than adding new entries to the paint phase enums.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821113</commentid>
    <comment_count>9</comment_count>
      <attachid>185664</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 22:59:39 -0800</bug_when>
    <thetext>Comment on attachment 185664
Patch

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

New failing tests:
platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container.html
compositing/overflow/composited-scrolling-creates-a-stacking-container.html
platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821251</commentid>
    <comment_count>10</comment_count>
      <attachid>185664</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-31 01:40:58 -0800</bug_when>
    <thetext>Comment on attachment 185664
Patch

Attachment 185664 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16271118

New failing tests:
compositing/overflow/composited-scrolling-creates-a-stacking-container.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821390</commentid>
    <comment_count>11</comment_count>
      <attachid>185664</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-31 04:45:09 -0800</bug_when>
    <thetext>Comment on attachment 185664
Patch

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

New failing tests:
compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html
compositing/overflow/composited-scrolling-creates-a-stacking-container.html
compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821849</commentid>
    <comment_count>12</comment_count>
      <attachid>185841</attachid>
    <who name="">vollick</who>
    <bug_when>2013-01-31 12:41:11 -0800</bug_when>
    <thetext>Created attachment 185841
Updating test expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834299</commentid>
    <comment_count>13</comment_count>
      <attachid>188625</attachid>
    <who name="">vollick</who>
    <bug_when>2013-02-15 13:00:55 -0800</bug_when>
    <thetext>Created attachment 188625
Patch

The last patch incorrectly did away with the foreground layer when using
composited scrolling. This patch makes minor adjustments to ensure that the
foreground layer behaves properly with composited scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846659</commentid>
    <comment_count>14</comment_count>
      <attachid>188625</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-04 11:17:43 -0800</bug_when>
    <thetext>Comment on attachment 188625
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:3770
&gt; -        // Now walk the sorted list of children with negative z-indices.
&gt; -        paintList(negZOrderList(), context, localPaintingInfo, localPaintFlags);
&gt; +        if (!usesCompositedScrolling()) {
&gt; +            // Now walk the sorted list of children with negative z-indices.
&gt; +            paintList(negZOrderList(), context, localPaintingInfo, localPaintFlags);
&gt; +        }
&gt; +
&gt; +        // When using composited scrolling, outlines paint into the background.
&gt; +        if (usesCompositedScrolling() &amp;&amp; shouldPaintOutline &amp;&amp; !outlineRect.isEmpty()) {
&gt; +            // Paint our own outline
&gt; +            PaintInfo paintInfo(context, pixelSnappedIntRect(outlineRect.rect()), PaintPhaseSelfOutline, paintBehavior, paintingRootForRenderer, localPaintingInfo.region);
&gt; +            clipToRect(localPaintingInfo.rootLayer, context, localPaintingInfo.paintDirtyRect, outlineRect, DoNotIncludeSelfForBorderRadius);
&gt; +            renderer()-&gt;paint(paintInfo, paintOffset);
&gt; +            restoreClip(context, localPaintingInfo.paintDirtyRect, outlineRect);
&gt; +        }
&gt;      }
&gt;      
&gt;      if (localPaintFlags &amp; PaintLayerPaintingCompositingForegroundPhase) {
&gt; +        if (usesCompositedScrolling()) {
&gt; +            // Now walk the sorted list of children with negative z-indices.
&gt; +            paintList(negZOrderList(), context, localPaintingInfo, localPaintFlags);
&gt; +        }

Seems wrong to do it like this. RenderLayer shouldn&apos;t really care about what compositing layers exist; the behavior should be expressible via paint phases.

&gt; LayoutTests/ChangeLog:32
&gt; +        * compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html: Added.
&gt; +        * compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html: Added.
&gt; +        * platform/chromium/TestExpectations:
&gt; +        * platform/mac-wk2/TestExpectations:

I&apos;d like to see a test with layerTeeAsText output here.

&gt; LayoutTests/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html:3
&gt; +&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
&gt; +   &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
&gt; +&lt;html lang=&quot;en&quot;&gt;

Please use an HTML5-style DOCTYPE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848820</commentid>
    <comment_count>15</comment_count>
      <attachid>191745</attachid>
    <who name="">vollick</who>
    <bug_when>2013-03-06 06:50:44 -0800</bug_when>
    <thetext>Created attachment 191745
Patch

(In reply to comment #14)
&gt; (From update of attachment 188625 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=188625&amp;action=review
&gt;
&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:3770
&gt; &gt; -        // Now walk the sorted list of children with negative z-indices.
&gt; &gt; -        paintList(negZOrderList(), context, localPaintingInfo, localPaintFlags);
&gt; &gt; +        if (!usesCompositedScrolling()) {
&gt; &gt; +            // Now walk the sorted list of children with negative z-indices.
&gt; &gt; +            paintList(negZOrderList(), context, localPaintingInfo, localPaintFlags);
&gt; &gt; +        }
&gt; &gt; +
&gt; &gt; +        // When using composited scrolling, outlines paint into the background.
&gt; &gt; +        if (usesCompositedScrolling() &amp;&amp; shouldPaintOutline &amp;&amp; !outlineRect.isEmpty()) {
&gt; &gt; +            // Paint our own outline
&gt; &gt; +            PaintInfo paintInfo(context, pixelSnappedIntRect(outlineRect.rect()), PaintPhaseSelfOutline, paintBehavior, paintingRootForRenderer, localPaintingInfo.region);
&gt; &gt; +            clipToRect(localPaintingInfo.rootLayer, context, localPaintingInfo.paintDirtyRect, outlineRect, DoNotIncludeSelfForBorderRadius);
&gt; &gt; +            renderer()-&gt;paint(paintInfo, paintOffset);
&gt; &gt; +            restoreClip(context, localPaintingInfo.paintDirtyRect, outlineRect);
&gt; &gt; +        }
&gt; &gt;      }
&gt; &gt;
&gt; &gt;      if (localPaintFlags &amp; PaintLayerPaintingCompositingForegroundPhase) {
&gt; &gt; +        if (usesCompositedScrolling()) {
&gt; &gt; +            // Now walk the sorted list of children with negative z-indices.
&gt; &gt; +            paintList(negZOrderList(), context, localPaintingInfo, localPaintFlags);
&gt; &gt; +        }
&gt;
&gt; Seems wrong to do it like this. RenderLayer shouldn&apos;t really care about what compositing layers exist; the behavior should be expressible via paint phases.
Done.
&gt;
&gt; &gt; LayoutTests/ChangeLog:32
&gt; &gt; +        * compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html: Added.
&gt; &gt; +        * compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html: Added.
&gt; &gt; +        * platform/chromium/TestExpectations:
&gt; &gt; +        * platform/mac-wk2/TestExpectations:
&gt;
&gt; I&apos;d like to see a test with layerTeeAsText output here.
Thanks, this turned out to be very helpful. In order to build a layerTreeAsText-based test, I was forced to update the paintingPhase of the graphics layers rather than doing last minute paint phase hacks in RenderLayerBacking::paintIntoLayer. This simplified logic everywhere and allows for a new kind of text-based testing.
&gt;
&gt; &gt; LayoutTests/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html:3
&gt; &gt; +&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
&gt; &gt; +   &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
&gt; &gt; +&lt;html lang=&quot;en&quot;&gt;
&gt;
&gt; Please use an HTML5-style DOCTYPE.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848825</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 06:58:50 -0800</bug_when>
    <thetext>Attachment 191745 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt&apos;, u&apos;LayoutTests/compositing/overflow/composited-scrolling-paint-phases.html&apos;, u&apos;LayoutTests/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html&apos;, u&apos;LayoutTests/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&apos;, u&apos;LayoutTests/platform/mac-wk2/TestExpectations&apos;, u&apos;LayoutTests/platform/mac/TestExpectations&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/page/Frame.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayer.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayer.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayerClient.h&apos;, u&apos;Source/WebCore/rendering/RenderLayer.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayer.h&apos;, u&apos;Source/WebCore/rendering/RenderLayerBacking.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.cpp&apos;, u&apos;Source/WebCore/testing/Internals.cpp&apos;, u&apos;Source/WebCore/testing/Internals.h&apos;, u&apos;Source/WebCore/testing/Internals.idl&apos;]&quot; exit_code: 1
Source/WebCore/testing/Internals.h:224:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/testing/Internals.h:225:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849239</commentid>
    <comment_count>17</comment_count>
      <attachid>191745</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 13:19:25 -0800</bug_when>
    <thetext>Comment on attachment 191745
Patch

Attachment 191745 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17068086

New failing tests:
compositing/overflow/composited-scrolling-paint-phases.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849268</commentid>
    <comment_count>18</comment_count>
    <who name="">vollick</who>
    <bug_when>2013-03-06 13:44:58 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Attachment 191745 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt&apos;, u&apos;LayoutTests/compositing/overflow/composited-scrolling-paint-phases.html&apos;, u&apos;LayoutTests/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html&apos;, u&apos;LayoutTests/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&apos;, u&apos;LayoutTests/platform/mac-wk2/TestExpectations&apos;, u&apos;LayoutTests/platform/mac/TestExpectations&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/page/Frame.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayer.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayer.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayerClient.h&apos;, u&apos;Source/WebCore/rendering/RenderLayer.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayer.h&apos;, u&apos;Source/WebCore/rendering/RenderLayerBacking.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.cpp&apos;, u&apos;Source/WebCore/testing/Internals.cpp&apos;, u&apos;Source/WebCore/testing/Internals.h&apos;, u&apos;Source/WebCore/testing/Internals.idl&apos;]&quot; exit_code: 1
&gt; Source/WebCore/testing/Internals.h:224:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
&gt; Source/WebCore/testing/Internals.h:225:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
&gt; Total errors found: 2 in 20 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

The new enumerator follows the precedent set in Internals.h. I believe the reason for the non-standard casing of enum members is to match the constants defined in Internals.idl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849281</commentid>
    <comment_count>19</comment_count>
      <attachid>191745</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-06 14:10:08 -0800</bug_when>
    <thetext>Comment on attachment 191745
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:3662
&gt; +    bool shouldPaintOutline = isSelfPaintingLayer &amp;&amp; !isPaintingOverlayScrollbars
&gt; +        &amp;&amp; ((isPaintingScrollingContent &amp;&amp; isPaintingCompositedBackground)
&gt; +        || (!isPaintingScrollingContent &amp;&amp; isPaintingCompositedForeground));

I think this deserves a comment. It also means that focus rings will end up layering differently with composited scrolling, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849294</commentid>
    <comment_count>20</comment_count>
      <attachid>191745</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 14:21:44 -0800</bug_when>
    <thetext>Comment on attachment 191745
Patch

Attachment 191745 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17084037

New failing tests:
compositing/overflow/composited-scrolling-paint-phases.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849707</commentid>
    <comment_count>21</comment_count>
      <attachid>191913</attachid>
    <who name="">vollick</who>
    <bug_when>2013-03-06 21:28:04 -0800</bug_when>
    <thetext>Created attachment 191913
Patch

(In reply to comment #19)
&gt; (From update of attachment 191745 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191745&amp;action=review
&gt;
&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:3662
&gt; &gt; +    bool shouldPaintOutline = isSelfPaintingLayer &amp;&amp; !isPaintingOverlayScrollbars
&gt; &gt; +        &amp;&amp; ((isPaintingScrollingContent &amp;&amp; isPaintingCompositedBackground)
&gt; &gt; +        || (!isPaintingScrollingContent &amp;&amp; isPaintingCompositedForeground));
&gt;
&gt; I think this deserves a comment. It also means that focus rings will end up layering differently with composited scrolling, right?

Added a comment.

I think that the focus rings will get painted into the same layer that they would have if we weren&apos;t using comp-scrolling, but you&apos;re right -- this will cause a paint inversion with the focus rings wrt to the foreground. But since the foreground is getting painted into a scrolling layer that is composited above the RLB&apos;s primary graphics layer, if a platform decides that it wants to draw the focus rings inside the clip, *and* have them appear above the scrolled content, I&apos;m not sure that can be easily accommodated without adding an additional graphics layer. There&apos;s a good chance I&apos;m misunderstanding the RLB&apos;s layer tree, though, so please correct me if I&apos;ve got that wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849710</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 21:32:06 -0800</bug_when>
    <thetext>Attachment 191913 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt&apos;, u&apos;LayoutTests/compositing/overflow/composited-scrolling-paint-phases.html&apos;, u&apos;LayoutTests/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html&apos;, u&apos;LayoutTests/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&apos;, u&apos;LayoutTests/platform/mac-wk2/TestExpectations&apos;, u&apos;LayoutTests/platform/mac/TestExpectations&apos;, u&apos;LayoutTests/platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/page/Frame.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayer.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayer.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsLayerClient.h&apos;, u&apos;Source/WebCore/rendering/RenderLayer.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayer.h&apos;, u&apos;Source/WebCore/rendering/RenderLayerBacking.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.cpp&apos;, u&apos;Source/WebCore/testing/Internals.cpp&apos;, u&apos;Source/WebCore/testing/Internals.h&apos;, u&apos;Source/WebCore/testing/Internals.idl&apos;]&quot; exit_code: 1
Source/WebCore/testing/Internals.h:225:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/testing/Internals.h:226:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850016</commentid>
    <comment_count>23</comment_count>
      <attachid>191913</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 06:03:04 -0800</bug_when>
    <thetext>Comment on attachment 191913
Patch

Clearing flags on attachment: 191913

Committed r145067: &lt;http://trac.webkit.org/changeset/145067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850017</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 06:03:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850403</commentid>
    <comment_count>25</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-03-07 13:00:34 -0800</bug_when>
    <thetext>This caused failures reported here:

https://bugs.webkit.org/show_bug.cgi?id=111768</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184118</attachid>
            <date>2013-01-22 20:39:10 -0800</date>
            <delta_ts>2013-01-24 11:07:57 -0800</delta_ts>
            <desc>WIP. Not ready for review.</desc>
            <filename>bug-107618-20130122233604.patch</filename>
            <type>text/plain</type>
            <size>7137</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMxZjVhNDJiZWJhNmYw
NTYzNDUxYjZmZjE4NzNjNTQyMjMwYTk4OC4uNTI0NmMzYTgzNDNmYWU3YjUwZWQ4NDQ2YjZkOTdi
MzY4OWE0MTk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAxLTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvIG5vdCBwYWludCBv
dXRsaW5lIGludG8gdGhlIHNjcm9sbGluZyBjb250ZW50cyBsYXllciAtIE5vdCB5ZXQgcmVhZHkg
Zm9yIHJldmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNzYxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSBhaW0gb2YgdGhpcyBwYXRjaCBpcyB0byBzcGxpdCB0aGUgR3JhcGhpY3NMYXllclBh
aW50Rm9yZWdyb3VuZAorICAgICAgICBwaGFzZSBpbnRvIHR3bzogR3JhcGhpY3NMYXllclBhaW50
Rm9yZWdyb3VuZCBhbmQKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50T3V0bGluZS4gV2hpY2hl
dmVyIGxheWVyIHdhcyBzZXQgdG8gcGFpbnQgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWlu
dEZvcmVncm91bmQgcGhhc2UsIHdpbGwgYWxzbyBiZSBzZXQgdG8gcGFpbnQgdGhlCisgICAgICAg
IEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUgcGhhc2UuIEluIHRoZSBjYXNlIG9mIGNvbXBvc2l0
ZWQgc2Nyb2xsaW5nLAorICAgICAgICBvbmx5IHRoZSBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3Jv
dW5kIHBoYXNlIHdvdWxkIGJlIHNoaWZ0ZWQgdG8gdGhlCisgICAgICAgIHNjcm9sbGluZyBjb250
ZW50cyBsYXllci4gV2hpY2hldmVyIGxheWVyIGhhZCBiZWVuIHBhaW50aW5nIHRoZQorICAgICAg
ICBHcmFwaGljc0xheWVyUGFpbnRPdXRsaW5lIHBoYXNlIHdvdWxkIGNvbnRpbnVlIHRvIGRvIHNv
LgorCisgICAgICAgIFRPRE86IHdyaXRlIGEgbGF5b3V0IHRlc3QgdGhhdCB0dXJucyBvbiBhY2Nl
bGVyYXRlZCBvdmVyZmxvdworICAgICAgICBzY3JvbGxpbmcsIGhhcyBhIHRleHRhcmVhIHdpdGgg
c3VmZmljaWVudCB0ZXh0IHRvIG92ZXJmbG93LCBhbmQgdmlhCisgICAgICAgIGpzLCBmb2N1c2Vz
IHRoZSB0ZXh0IGFuZCBzY3JvbGxzIGRvd24uIE5vIGZvY3VzIHJpbmcgc2hvdWxkIGJlCisgICAg
ICAgIHZpc2libGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpw
YWludExheWVyQ29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxh
eWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5
ZXIpOgorCiAyMDEzLTAxLTIyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBXaGVuIHdlIGRvIHNldEF0dHJpYnV0ZSgiYm9yZGVyIiwgbnVsbCkgb24gYSB0YWJs
ZSB3ZSBzaG91bGQgY3JlYXRlIGEgYm9yZGVyIGxpa2UgZXZlcnkgb3RoZXIgYnJvd3NlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oCmluZGV4IDhiNmJmZmQxOTcxM2NhMmZjMjRkYTEwMjU4YTQ0YWJjNDJkZjE2ZmIuLjg5
OWI4ZTFhM2UwYTZjMzc2ZWY2YWE0ZWE4MGU5NDU1ZmE4YTEzY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKQEAg
LTQyLDcgKzQyLDggQEAgZW51bSBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZUZsYWdzIHsKICAg
ICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kID0gKDEgPDwgMSksCiAgICAgR3JhcGhpY3NM
YXllclBhaW50TWFzayA9ICgxIDw8IDIpLAogICAgIEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93
Q29udGVudHMgPSAoMSA8PCAzKSwKLSAgICBHcmFwaGljc0xheWVyUGFpbnRBbGxXaXRoT3ZlcmZs
b3dDbGlwID0gKEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQgfCBHcmFwaGljc0xheWVyUGFp
bnRGb3JlZ3JvdW5kIHwgR3JhcGhpY3NMYXllclBhaW50TWFzaykKKyAgICBHcmFwaGljc0xheWVy
UGFpbnRPdXRsaW5lID0gKDEgPDwgNCksCisgICAgR3JhcGhpY3NMYXllclBhaW50QWxsV2l0aE92
ZXJmbG93Q2xpcCA9IChHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kIHwgR3JhcGhpY3NMYXll
clBhaW50Rm9yZWdyb3VuZCB8IEdyYXBoaWNzTGF5ZXJQYWludE1hc2sgfCBHcmFwaGljc0xheWVy
UGFpbnRPdXRsaW5lKQogfTsKIHR5cGVkZWYgdW5zaWduZWQgR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDll
Mjk5MmEzN2EzOTJkYTlkZTE3MzE5NjE4MDNjZWQ1Y2JjYzg2NDYuLjEzOWFlZmE5YmNhMmU4MzU4
NmEyOGM5ODZmYjRmMjg0NWNmYTY4NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMzc1NCw3ICszNzU0LDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRM
YXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkK
ICAgICAgICAgICAgICAgICByZXN0b3JlQ2xpcChjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5w
YWludERpcnR5UmVjdCwgY2xpcFJlY3RUb0FwcGx5KTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQorICAgIH0KIAorICAgIGlmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdD
b21wb3NpdGluZ091dGxpbmVQaGFzZSkgewogICAgICAgICBpZiAoc2hvdWxkUGFpbnRPdXRsaW5l
ICYmICFvdXRsaW5lUmVjdC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIFBhaW50IG91ciBv
d24gb3V0bGluZQogICAgICAgICAgICAgUGFpbnRJbmZvIHBhaW50SW5mbyhjb250ZXh0LCBwaXhl
bFNuYXBwZWRJbnRSZWN0KG91dGxpbmVSZWN0LnJlY3QoKSksIFBhaW50UGhhc2VTZWxmT3V0bGlu
ZSwgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdSb290Rm9yUmVuZGVyZXIsIGxvY2FsUGFpbnRpbmdJ
bmZvLnJlZ2lvbik7CkBAIC0zNzYyLDcgKzM3NjQsMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFp
bnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWlu
dGkKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnBhaW50KHBhaW50SW5mbywgcGFpbnRPZmZzZXQp
OwogICAgICAgICAgICAgcmVzdG9yZUNsaXAoY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8ucGFp
bnREaXJ0eVJlY3QsIG91dGxpbmVSZWN0KTsKICAgICAgICAgfQotICAgIAorICAgIH0KKworICAg
IC8vIENvbXBsZXRlIHBhaW50aW5nIHRoZSBmb3JlZ3JvdW5kLgorICAgIGlmIChsb2NhbFBhaW50
RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSkgewog
ICAgICAgICAvLyBQYWludCBhbnkgY2hpbGQgbGF5ZXJzIHRoYXQgaGF2ZSBvdmVyZmxvdy4KICAg
ICAgICAgcGFpbnRMaXN0KG1fbm9ybWFsRmxvd0xpc3QuZ2V0KCksIGNvbnRleHQsIGxvY2FsUGFp
bnRpbmdJbmZvLCBsb2NhbFBhaW50RmxhZ3MpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaAppbmRleCA4NmU3NDIxZjJlZmRmZjhlNzU3NmJjM2RlOTI0ZTE5OTE1MmZh
N2Y1Li5mNDY1YjlhNTkwNjYxMGUzODQ1YzZkZWUyZWJiY2U0NGQzODhhZDk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNTMxLDcgKzUzMSw4IEBAIHB1YmxpYzoK
ICAgICAgICAgUGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA9IDEgPDwgOCwKICAg
ICAgICAgUGFpbnRMYXllclBhaW50aW5nUm9vdEJhY2tncm91bmRPbmx5ID0gMSA8PCA5LAogICAg
ICAgICBQYWludExheWVyUGFpbnRpbmdTa2lwUm9vdEJhY2tncm91bmQgPSAxIDw8IDEwLAotICAg
ICAgICBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0FsbFBoYXNlcyA9IChQYWludExheWVy
UGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSB8IFBhaW50TGF5ZXJQYWludGluZ0Nv
bXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdN
YXNrUGhhc2UpCisgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nT3V0bGluZVBo
YXNlID0gMSA8PCAxMSwKKyAgICAgICAgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdBbGxQ
aGFzZXMgPSAoUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UgfCBQ
YWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB8IFBhaW50TGF5ZXJQ
YWludGluZ0NvbXBvc2l0aW5nTWFza1BoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRp
bmdPdXRsaW5lUGhhc2UpCiAgICAgfTsKICAgICAKICAgICB0eXBlZGVmIHVuc2lnbmVkIFBhaW50
TGF5ZXJGbGFnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKaW5kZXggNmU1ZGU0MjEyN2ZjMjQ5ZDg4OTZjZTllNzM4MWMzZDliMDEwNjliYi4u
NzliOGMzZTMyOWViMzE2ZGRiMTZlMzYxYjU0ZWM2NDA4MWFiNmVlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTEwODgsNyArMTA4
OCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoYm9v
bCBuZWVkc0ZvcmVncm91bmRMYXllcikKICNlbmRpZgogICAgICAgICAgICAgbV9mb3JlZ3JvdW5k
TGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKGxheWVyTmFtZSk7CiAgICAgICAgICAgICBtX2Zv
cmVncm91bmRMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwotICAgICAgICAgICAgbV9mb3Jl
Z3JvdW5kTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3Vu
ZCk7CisgICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFw
aGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIHwgR3JhcGhpY3NMYXllclBhaW50T3V0bGluZSk7CiAg
ICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlm
IChtX2ZvcmVncm91bmRMYXllcikgewpAQCAtMTI0Nyw4ICsxMjQ3LDEwIEBAIEdyYXBoaWNzTGF5
ZXJQYWludGluZ1BoYXNlIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRpbmdQaGFzZUZvclByaW1h
cnlMYXllcigpIGNvCiAgICAgdW5zaWduZWQgcGhhc2UgPSAwOwogICAgIGlmICghbV9iYWNrZ3Jv
dW5kTGF5ZXIpCiAgICAgICAgIHBoYXNlIHw9IEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQ7
Ci0gICAgaWYgKCFtX2ZvcmVncm91bmRMYXllcikKKyAgICBpZiAoIW1fZm9yZWdyb3VuZExheWVy
KSB7CiAgICAgICAgIHBoYXNlIHw9IEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQ7CisgICAg
ICAgIHBoYXNlIHw9IEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmU7CisgICAgfQogICAgIGlmICgh
bV9tYXNrTGF5ZXIpCiAgICAgICAgIHBoYXNlIHw9IEdyYXBoaWNzTGF5ZXJQYWludE1hc2s7CiAK
QEAgLTE4MDYsNiArMTgwOCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9M
YXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwCiAgICAgICAgIHBh
aW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFj
a2dyb3VuZFBoYXNlOwogICAgIGlmIChwYWludGluZ1BoYXNlICYgR3JhcGhpY3NMYXllclBhaW50
Rm9yZWdyb3VuZCkKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXllcjo6UGFpbnRMYXll
clBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2U7CisgICAgaWYgKHBhaW50aW5nUGhh
c2UgJiBHcmFwaGljc0xheWVyUGFpbnRPdXRsaW5lKQorICAgICAgICBwYWludEZsYWdzIHw9IFJl
bmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ091dGxpbmVQaGFzZTsKICAg
ICBpZiAocGFpbnRpbmdQaGFzZSAmIEdyYXBoaWNzTGF5ZXJQYWludE1hc2spCiAgICAgICAgIHBh
aW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nTWFz
a1BoYXNlOwogICAgIGlmIChwYWludGluZ1BoYXNlICYgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZs
b3dDb250ZW50cykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184533</attachid>
            <date>2013-01-24 11:08:01 -0800</date>
            <delta_ts>2013-01-25 08:21:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107618-20130124140452.patch</filename>
            <type>text/plain</type>
            <size>11270</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk3YzdjNDI4NTlkN2Qy
ZDlkYTFhYjU5MTc1ZjQ4NDRmNTRjMTQxMS4uYTViOGZiNzBkOTU3YTAxOTVmYjQxY2IyY2Y3N2Ux
YmZhYjdiZWI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAxLTI0ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvIG5vdCBwYWludCBv
dXRsaW5lIGludG8gdGhlIHNjcm9sbGluZyBjb250ZW50cyBsYXllcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFpbSBvZiB0aGlzIHBhdGNoIGlz
IHRvIHNwbGl0IHRoZSBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAgIHBoYXNl
IGludG8gdHdvOiBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIGFuZAorICAgICAgICBHcmFw
aGljc0xheWVyUGFpbnRPdXRsaW5lLiBXaGljaGV2ZXIgbGF5ZXIgd2FzIHNldCB0byBwYWludCB0
aGUKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCBwaGFzZSwgd2lsbCBhbHNv
IGJlIHNldCB0byBwYWludCB0aGUKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50T3V0bGluZSBw
aGFzZS4gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxpbmcsCisgICAgICAgIG9ubHkg
dGhlIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgcGhhc2Ugd291bGQgYmUgc2hpZnRlZCB0
byB0aGUKKyAgICAgICAgc2Nyb2xsaW5nIGNvbnRlbnRzIGxheWVyLiBXaGljaGV2ZXIgbGF5ZXIg
aGFkIGJlZW4gcGFpbnRpbmcgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUg
cGhhc2Ugd2lsbCBjb250aW51ZSB0byBkbyBzby4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGlu
Zy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5n
LWNvbnRlbnRzLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXJDbGllbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUZvcmVncm91bmRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6
OnBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcik6CisKIDIwMTMtMDEtMjMgIEFiaGlzaGVrIEFy
eWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKaW5kZXggOGI2YmZmZDE5
NzEzY2EyZmMyNGRhMTAyNThhNDRhYmM0MmRmMTZmYi4uODk5YjhlMWEzZTBhNmMzNzZlZjZhYTRl
YTgwZTk0NTVmYThhMTNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtNDIsNyArNDIsOCBAQCBlbnVtIEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlRmxhZ3MgewogICAgIEdyYXBoaWNzTGF5ZXJQYWludEZv
cmVncm91bmQgPSAoMSA8PCAxKSwKICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrID0gKDEgPDwg
MiksCiAgICAgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50cyA9ICgxIDw8IDMpLAot
ICAgIEdyYXBoaWNzTGF5ZXJQYWludEFsbFdpdGhPdmVyZmxvd0NsaXAgPSAoR3JhcGhpY3NMYXll
clBhaW50QmFja2dyb3VuZCB8IEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgfCBHcmFwaGlj
c0xheWVyUGFpbnRNYXNrKQorICAgIEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUgPSAoMSA8PCA0
KSwKKyAgICBHcmFwaGljc0xheWVyUGFpbnRBbGxXaXRoT3ZlcmZsb3dDbGlwID0gKEdyYXBoaWNz
TGF5ZXJQYWludEJhY2tncm91bmQgfCBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIHwgR3Jh
cGhpY3NMYXllclBhaW50TWFzayB8IEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUpCiB9OwogdHlw
ZWRlZiB1bnNpZ25lZCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMTZlOWRlM2E1MzhkYzhjMWQ2MWRjNmNm
YTNkYTNlN2JlY2M5ODYyZS4uNjQwYTFkMWQyZTlmZmNmMGUxMGE1MTViMzM0ZDIwOTlmZDM0MGU1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNzU0LDcg
KzM3NTQsOSBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgICAgICAgICAgICAgIHJlc3Rv
cmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LCBjbGlwUmVj
dFRvQXBwbHkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgfQogCisgICAgaWYgKGxv
Y2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nT3V0bGluZVBoYXNl
KSB7CiAgICAgICAgIGlmIChzaG91bGRQYWludE91dGxpbmUgJiYgIW91dGxpbmVSZWN0LmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgLy8gUGFpbnQgb3VyIG93biBvdXRsaW5lCiAgICAgICAgICAg
ICBQYWludEluZm8gcGFpbnRJbmZvKGNvbnRleHQsIHBpeGVsU25hcHBlZEludFJlY3Qob3V0bGlu
ZVJlY3QucmVjdCgpKSwgUGFpbnRQaGFzZVNlbGZPdXRsaW5lLCBwYWludEJlaGF2aW9yLCBwYWlu
dGluZ1Jvb3RGb3JSZW5kZXJlciwgbG9jYWxQYWludGluZ0luZm8ucmVnaW9uKTsKQEAgLTM3NjIs
NyArMzc2NCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgICAgICAgICAgcmVuZGVy
ZXIoKS0+cGFpbnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgICAgICByZXN0b3Jl
Q2xpcChjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwgb3V0bGluZVJl
Y3QpOwogICAgICAgICB9Ci0gICAgCisgICAgfQorCisgICAgLy8gQ29tcGxldGUgcGFpbnRpbmcg
dGhlIGZvcmVncm91bmQuCisgICAgaWYgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWlu
dGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKSB7CiAgICAgICAgIC8vIFBhaW50IGFueSBj
aGlsZCBsYXllcnMgdGhhdCBoYXZlIG92ZXJmbG93LgogICAgICAgICBwYWludExpc3QobV9ub3Jt
YWxGbG93TGlzdC5nZXQoKSwgY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8sIGxvY2FsUGFpbnRG
bGFncyk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDNk
NmVhYTFlMmU1OTc5Y2IzYzRmZjcyMTM4YzU3NDgzMmU3MTc4MWEuLmQ5NjNjNTE4Njk5NWQ1MDg5
ZDA5NDZiY2Y1NzRmNjUzYjk3NWU4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCkBAIC01MzYsNyArNTM2LDggQEAgcHVibGljOgogICAgICAgICBQYWludExheWVyUGFp
bnRpbmdPdmVyZmxvd0NvbnRlbnRzID0gMSA8PCA4LAogICAgICAgICBQYWludExheWVyUGFpbnRp
bmdSb290QmFja2dyb3VuZE9ubHkgPSAxIDw8IDksCiAgICAgICAgIFBhaW50TGF5ZXJQYWludGlu
Z1NraXBSb290QmFja2dyb3VuZCA9IDEgPDwgMTAsCi0gICAgICAgIFBhaW50TGF5ZXJQYWludGlu
Z0NvbXBvc2l0aW5nQWxsUGhhc2VzID0gKFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFj
a2dyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhh
c2UgfCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFzZSkKKyAgICAgICAgUGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdPdXRsaW5lUGhhc2UgPSAxIDw8IDExLAorICAgICAg
ICBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0FsbFBoYXNlcyA9IChQYWludExheWVyUGFp
bnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSB8IFBhaW50TGF5ZXJQYWludGluZ0NvbXBv
c2l0aW5nRm9yZWdyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdNYXNr
UGhhc2UgfCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ091dGxpbmVQaGFzZSkKICAgICB9
OwogICAgIAogICAgIHR5cGVkZWYgdW5zaWduZWQgUGFpbnRMYXllckZsYWdzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA1NzZmODQz
ZmU3NDkxYTk2MjQ2N2NlMTRhZmZhMTI5MmFjMjcyMTZiLi4zOTRmZTNiN2RmYTQzMTAzMzZiMDQ0
Y2VmYzAwMTBkNzc0YzE3MzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExheWVy
KQogI2VuZGlmCiAgICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllciA9IGNyZWF0ZUdyYXBoaWNz
TGF5ZXIobGF5ZXJOYW1lKTsKICAgICAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXREcmF3
c0NvbnRlbnQodHJ1ZSk7Ci0gICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0UGFpbnRp
bmdQaGFzZShHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kKTsKKyAgICAgICAgICAgIG1fZm9y
ZWdyb3VuZExheWVyLT5zZXRQYWludGluZ1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91
bmQgfCBHcmFwaGljc0xheWVyUGFpbnRPdXRsaW5lKTsKICAgICAgICAgICAgIGxheWVyQ2hhbmdl
ZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7
CkBAIC0xMjQ3LDggKzEyNDcsMTAgQEAgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgUmVuZGVy
TGF5ZXJCYWNraW5nOjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKCkgY28KICAgICB1bnNp
Z25lZCBwaGFzZSA9IDA7CiAgICAgaWYgKCFtX2JhY2tncm91bmRMYXllcikKICAgICAgICAgcGhh
c2UgfD0gR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZDsKLSAgICBpZiAoIW1fZm9yZWdyb3Vu
ZExheWVyKQorICAgIGlmICghbV9mb3JlZ3JvdW5kTGF5ZXIpIHsKICAgICAgICAgcGhhc2UgfD0g
R3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZDsKKyAgICAgICAgcGhhc2UgfD0gR3JhcGhpY3NM
YXllclBhaW50T3V0bGluZTsKKyAgICB9CiAgICAgaWYgKCFtX21hc2tMYXllcikKICAgICAgICAg
cGhhc2UgfD0gR3JhcGhpY3NMYXllclBhaW50TWFzazsKIApAQCAtMTgwNiw2ICsxODA4LDggQEAg
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXll
cjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2U7CiAgICAgaWYg
KHBhaW50aW5nUGhhc2UgJiBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kKQogICAgICAgICBw
YWludEZsYWdzIHw9IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0Zv
cmVncm91bmRQaGFzZTsKKyAgICBpZiAocGFpbnRpbmdQaGFzZSAmIEdyYXBoaWNzTGF5ZXJQYWlu
dE91dGxpbmUpCisgICAgICAgIHBhaW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQ
YWludGluZ0NvbXBvc2l0aW5nT3V0bGluZVBoYXNlOwogICAgIGlmIChwYWludGluZ1BoYXNlICYg
R3JhcGhpY3NMYXllclBhaW50TWFzaykKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXll
cjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdNYXNrUGhhc2U7CiAgICAgaWYgKHBhaW50
aW5nUGhhc2UgJiBHcmFwaGljc0xheWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRzKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNl
MWI1YzFjYzYxMTc1MmQzOGZlN2Y1OWM4Njk2ZGY1ODA0YzFmNjYuLmZiZGQwNTdmNjcwMjI5MjMw
YmU4YzI3YzRjZTIwMDUyMTBiMmQ0NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMS0y
NCAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBEbyBub3Qg
cGFpbnQgb3V0bGluZSBpbnRvIHRoZSBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBhaW0gb2YgdGhpcyBw
YXRjaCBpcyB0byBzcGxpdCB0aGUgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZAorICAgICAg
ICBwaGFzZSBpbnRvIHR3bzogR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCBhbmQKKyAgICAg
ICAgR3JhcGhpY3NMYXllclBhaW50T3V0bGluZS4gV2hpY2hldmVyIGxheWVyIHdhcyBzZXQgdG8g
cGFpbnQgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgcGhhc2UsIHdp
bGwgYWxzbyBiZSBzZXQgdG8gcGFpbnQgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE91
dGxpbmUgcGhhc2UuIEluIHRoZSBjYXNlIG9mIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLAorICAgICAg
ICBvbmx5IHRoZSBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIHBoYXNlIHdvdWxkIGJlIHNo
aWZ0ZWQgdG8gdGhlCisgICAgICAgIHNjcm9sbGluZyBjb250ZW50cyBsYXllci4gV2hpY2hldmVy
IGxheWVyIGhhZCBiZWVuIHBhaW50aW5nIHRoZQorICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRP
dXRsaW5lIHBoYXNlIHdpbGwgY29udGludWUgdG8gZG8gc28uCisKKyAgICAgICAgKiBjb21wb3Np
dGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xs
aW5nLWNvbnRlbnRzLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTIzICBSYWZhZWwgV2VpbnN0ZWlu
ICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGVtcGxhdGUgZWxlbWVudCBzaG91
bGQgcGFyc2UgaW4gWEhUTUwganVzdCBhcyBpdCBkb2VzIGluIEhUTUwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8t
Y29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxp
bmctY29udGVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDliNjVjN2ZlZTgyNzNlODkyYjdhMzhiZWNk
NDZhYWJhNTZhN2I4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
b3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1j
b250ZW50cy5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8v
VzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCisgICAiaHR0cDovL3d3dy53My5v
cmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICA8bWV0
YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11
dGYtOCIvPgorICA8dGl0bGU+RG9uJ3QgZHJhdyBvdXRsaW5lcyBpbnRvIHNjcm9sbGluZyBjb250
ZW50cyBsYXllcjwvdGl0bGU+CisgIDwhLS0KKyAgICBJZiB0aGlzIHRlc3Qgc3VjY2VlZHMsIHlv
dSBzaG91bGQgbm90IHNlZSB0aGUgZm9jdXMgcmluZyBpbiB0aGUgc2Nyb2xsZWQKKyAgICBjb250
ZW50cy4KKyAgLS0+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1
dGYtOCI+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgd2luZG93LnRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCh0cnVlKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3Zl
cmZsb3dTY3JvbGxFbmFibGVkKHRydWUpOworCisgICAgZnVuY3Rpb24gZW5kVGVzdCgpCisgICAg
eworICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQnKTsK
KyAgICAgIHRleHRhcmVhLnNjcm9sbFRvcCA9IDgwOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7CisgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGV4dCcpOworICAgICAgdGV4dGFyZWEuZm9jdXMoKTsKKyAgICAg
IHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kID0gMDsKKyAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZGlz
cGxheSgpOworICAgICAgd2luZG93LnNldFRpbWVvdXQoZW5kVGVzdCwgMTAwKTsKKyAgICB9CisK
KyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDx0ZXh0YXJlYSByb3dzPSI2IiBj
b2xzPSI1MCIgaWQ9InRleHQiPgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt
LCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1
aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXBy
ZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0
IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHBy
b2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlk
IGVzdCBsYWJvcnVtLgorCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1
aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBl
eCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVu
ZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVs
bGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRl
bnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0
IGxhYm9ydW0uCisKKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9y
ZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBu
b3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVh
IGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJp
dCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBw
YXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwg
c3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFi
b3J1bS4KKyAgPC90ZXh0YXJlYT4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184756</attachid>
            <date>2013-01-25 08:21:45 -0800</date>
            <delta_ts>2013-01-30 20:14:11 -0800</delta_ts>
            <desc>Updated expectations.</desc>
            <filename>bug-107618-20130125111835.patch</filename>
            <type>text/plain</type>
            <size>13675</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk3YzdjNDI4NTlkN2Qy
ZDlkYTFhYjU5MTc1ZjQ4NDRmNTRjMTQxMS4uOGZhODI5MzE4OGI2ZDc5YzlmMDkwZjk4Njg5NTFi
NDUxMTliZDE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAxLTI1ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvIG5vdCBwYWludCBv
dXRsaW5lIGludG8gdGhlIHNjcm9sbGluZyBjb250ZW50cyBsYXllcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFpbSBvZiB0aGlzIHBhdGNoIGlz
IHRvIHNwbGl0IHRoZSBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAgIHBoYXNl
IGludG8gdHdvOiBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIGFuZAorICAgICAgICBHcmFw
aGljc0xheWVyUGFpbnRPdXRsaW5lLiBXaGljaGV2ZXIgbGF5ZXIgd2FzIHNldCB0byBwYWludCB0
aGUKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCBwaGFzZSwgd2lsbCBhbHNv
IGJlIHNldCB0byBwYWludCB0aGUKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50T3V0bGluZSBw
aGFzZS4gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxpbmcsCisgICAgICAgIG9ubHkg
dGhlIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgcGhhc2Ugd291bGQgYmUgc2hpZnRlZCB0
byB0aGUKKyAgICAgICAgc2Nyb2xsaW5nIGNvbnRlbnRzIGxheWVyLiBXaGljaGV2ZXIgbGF5ZXIg
aGFkIGJlZW4gcGFpbnRpbmcgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUg
cGhhc2Ugd2lsbCBjb250aW51ZSB0byBkbyBzby4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGlu
Zy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5n
LWNvbnRlbnRzLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXJDbGllbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZUZvcmVncm91bmRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6
OnBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcik6CisKIDIwMTMtMDEtMjMgIEFiaGlzaGVrIEFy
eWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKaW5kZXggOGI2YmZmZDE5
NzEzY2EyZmMyNGRhMTAyNThhNDRhYmM0MmRmMTZmYi4uODk5YjhlMWEzZTBhNmMzNzZlZjZhYTRl
YTgwZTk0NTVmYThhMTNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtNDIsNyArNDIsOCBAQCBlbnVtIEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlRmxhZ3MgewogICAgIEdyYXBoaWNzTGF5ZXJQYWludEZv
cmVncm91bmQgPSAoMSA8PCAxKSwKICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrID0gKDEgPDwg
MiksCiAgICAgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50cyA9ICgxIDw8IDMpLAot
ICAgIEdyYXBoaWNzTGF5ZXJQYWludEFsbFdpdGhPdmVyZmxvd0NsaXAgPSAoR3JhcGhpY3NMYXll
clBhaW50QmFja2dyb3VuZCB8IEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgfCBHcmFwaGlj
c0xheWVyUGFpbnRNYXNrKQorICAgIEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUgPSAoMSA8PCA0
KSwKKyAgICBHcmFwaGljc0xheWVyUGFpbnRBbGxXaXRoT3ZlcmZsb3dDbGlwID0gKEdyYXBoaWNz
TGF5ZXJQYWludEJhY2tncm91bmQgfCBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIHwgR3Jh
cGhpY3NMYXllclBhaW50TWFzayB8IEdyYXBoaWNzTGF5ZXJQYWludE91dGxpbmUpCiB9OwogdHlw
ZWRlZiB1bnNpZ25lZCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMTZlOWRlM2E1MzhkYzhjMWQ2MWRjNmNm
YTNkYTNlN2JlY2M5ODYyZS4uNjQwYTFkMWQyZTlmZmNmMGUxMGE1MTViMzM0ZDIwOTlmZDM0MGU1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNzU0LDcg
KzM3NTQsOSBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgICAgICAgICAgICAgIHJlc3Rv
cmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LCBjbGlwUmVj
dFRvQXBwbHkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgfQogCisgICAgaWYgKGxv
Y2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nT3V0bGluZVBoYXNl
KSB7CiAgICAgICAgIGlmIChzaG91bGRQYWludE91dGxpbmUgJiYgIW91dGxpbmVSZWN0LmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgLy8gUGFpbnQgb3VyIG93biBvdXRsaW5lCiAgICAgICAgICAg
ICBQYWludEluZm8gcGFpbnRJbmZvKGNvbnRleHQsIHBpeGVsU25hcHBlZEludFJlY3Qob3V0bGlu
ZVJlY3QucmVjdCgpKSwgUGFpbnRQaGFzZVNlbGZPdXRsaW5lLCBwYWludEJlaGF2aW9yLCBwYWlu
dGluZ1Jvb3RGb3JSZW5kZXJlciwgbG9jYWxQYWludGluZ0luZm8ucmVnaW9uKTsKQEAgLTM3NjIs
NyArMzc2NCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgICAgICAgICAgcmVuZGVy
ZXIoKS0+cGFpbnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgICAgICByZXN0b3Jl
Q2xpcChjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwgb3V0bGluZVJl
Y3QpOwogICAgICAgICB9Ci0gICAgCisgICAgfQorCisgICAgLy8gQ29tcGxldGUgcGFpbnRpbmcg
dGhlIGZvcmVncm91bmQuCisgICAgaWYgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWlu
dGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKSB7CiAgICAgICAgIC8vIFBhaW50IGFueSBj
aGlsZCBsYXllcnMgdGhhdCBoYXZlIG92ZXJmbG93LgogICAgICAgICBwYWludExpc3QobV9ub3Jt
YWxGbG93TGlzdC5nZXQoKSwgY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8sIGxvY2FsUGFpbnRG
bGFncyk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDNk
NmVhYTFlMmU1OTc5Y2IzYzRmZjcyMTM4YzU3NDgzMmU3MTc4MWEuLmQ5NjNjNTE4Njk5NWQ1MDg5
ZDA5NDZiY2Y1NzRmNjUzYjk3NWU4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCkBAIC01MzYsNyArNTM2LDggQEAgcHVibGljOgogICAgICAgICBQYWludExheWVyUGFp
bnRpbmdPdmVyZmxvd0NvbnRlbnRzID0gMSA8PCA4LAogICAgICAgICBQYWludExheWVyUGFpbnRp
bmdSb290QmFja2dyb3VuZE9ubHkgPSAxIDw8IDksCiAgICAgICAgIFBhaW50TGF5ZXJQYWludGlu
Z1NraXBSb290QmFja2dyb3VuZCA9IDEgPDwgMTAsCi0gICAgICAgIFBhaW50TGF5ZXJQYWludGlu
Z0NvbXBvc2l0aW5nQWxsUGhhc2VzID0gKFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFj
a2dyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhh
c2UgfCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFzZSkKKyAgICAgICAgUGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdPdXRsaW5lUGhhc2UgPSAxIDw8IDExLAorICAgICAg
ICBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0FsbFBoYXNlcyA9IChQYWludExheWVyUGFp
bnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSB8IFBhaW50TGF5ZXJQYWludGluZ0NvbXBv
c2l0aW5nRm9yZWdyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdNYXNr
UGhhc2UgfCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ091dGxpbmVQaGFzZSkKICAgICB9
OwogICAgIAogICAgIHR5cGVkZWYgdW5zaWduZWQgUGFpbnRMYXllckZsYWdzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA1NzZmODQz
ZmU3NDkxYTk2MjQ2N2NlMTRhZmZhMTI5MmFjMjcyMTZiLi4zOTRmZTNiN2RmYTQzMTAzMzZiMDQ0
Y2VmYzAwMTBkNzc0YzE3MzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExheWVy
KQogI2VuZGlmCiAgICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllciA9IGNyZWF0ZUdyYXBoaWNz
TGF5ZXIobGF5ZXJOYW1lKTsKICAgICAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXREcmF3
c0NvbnRlbnQodHJ1ZSk7Ci0gICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0UGFpbnRp
bmdQaGFzZShHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kKTsKKyAgICAgICAgICAgIG1fZm9y
ZWdyb3VuZExheWVyLT5zZXRQYWludGluZ1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91
bmQgfCBHcmFwaGljc0xheWVyUGFpbnRPdXRsaW5lKTsKICAgICAgICAgICAgIGxheWVyQ2hhbmdl
ZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7
CkBAIC0xMjQ3LDggKzEyNDcsMTAgQEAgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgUmVuZGVy
TGF5ZXJCYWNraW5nOjpwYWludGluZ1BoYXNlRm9yUHJpbWFyeUxheWVyKCkgY28KICAgICB1bnNp
Z25lZCBwaGFzZSA9IDA7CiAgICAgaWYgKCFtX2JhY2tncm91bmRMYXllcikKICAgICAgICAgcGhh
c2UgfD0gR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZDsKLSAgICBpZiAoIW1fZm9yZWdyb3Vu
ZExheWVyKQorICAgIGlmICghbV9mb3JlZ3JvdW5kTGF5ZXIpIHsKICAgICAgICAgcGhhc2UgfD0g
R3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZDsKKyAgICAgICAgcGhhc2UgfD0gR3JhcGhpY3NM
YXllclBhaW50T3V0bGluZTsKKyAgICB9CiAgICAgaWYgKCFtX21hc2tMYXllcikKICAgICAgICAg
cGhhc2UgfD0gR3JhcGhpY3NMYXllclBhaW50TWFzazsKIApAQCAtMTgwNiw2ICsxODA4LDggQEAg
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXll
cjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2U7CiAgICAgaWYg
KHBhaW50aW5nUGhhc2UgJiBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kKQogICAgICAgICBw
YWludEZsYWdzIHw9IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0Zv
cmVncm91bmRQaGFzZTsKKyAgICBpZiAocGFpbnRpbmdQaGFzZSAmIEdyYXBoaWNzTGF5ZXJQYWlu
dE91dGxpbmUpCisgICAgICAgIHBhaW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQ
YWludGluZ0NvbXBvc2l0aW5nT3V0bGluZVBoYXNlOwogICAgIGlmIChwYWludGluZ1BoYXNlICYg
R3JhcGhpY3NMYXllclBhaW50TWFzaykKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXll
cjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdNYXNrUGhhc2U7CiAgICAgaWYgKHBhaW50
aW5nUGhhc2UgJiBHcmFwaGljc0xheWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRzKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNl
MWI1YzFjYzYxMTc1MmQzOGZlN2Y1OWM4Njk2ZGY1ODA0YzFmNjYuLjk0YWNiMGEzZWI5NTU3NDY1
OWRiMDg5MTIxMGViN2M4NDFmY2NjODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMy0wMS0y
NSAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KKworICAgICAgICBEbyBub3Qg
cGFpbnQgb3V0bGluZSBpbnRvIHRoZSBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBhaW0gb2YgdGhpcyBw
YXRjaCBpcyB0byBzcGxpdCB0aGUgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZAorICAgICAg
ICBwaGFzZSBpbnRvIHR3bzogR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCBhbmQKKyAgICAg
ICAgR3JhcGhpY3NMYXllclBhaW50T3V0bGluZS4gV2hpY2hldmVyIGxheWVyIHdhcyBzZXQgdG8g
cGFpbnQgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgcGhhc2UsIHdp
bGwgYWxzbyBiZSBzZXQgdG8gcGFpbnQgdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE91
dGxpbmUgcGhhc2UuIEluIHRoZSBjYXNlIG9mIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLAorICAgICAg
ICBvbmx5IHRoZSBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kIHBoYXNlIHdvdWxkIGJlIHNo
aWZ0ZWQgdG8gdGhlCisgICAgICAgIHNjcm9sbGluZyBjb250ZW50cyBsYXllci4gV2hpY2hldmVy
IGxheWVyIGhhZCBiZWVuIHBhaW50aW5nIHRoZQorICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRP
dXRsaW5lIHBoYXNlIHdpbGwgY29udGludWUgdG8gZG8gc28uCisKKyAgICAgICAgKiBjb21wb3Np
dGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xs
aW5nLWNvbnRlbnRzLmh0bWw6IEFkZGVkLgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZs
b3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAx
My0wMS0yMyAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFRlbXBsYXRlIGVsZW1lbnQgc2hvdWxkIHBhcnNlIGluIFhIVE1MIGp1c3QgYXMgaXQgZG9l
cyBpbiBIVE1MCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9k
by1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGlu
ZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ5
YjY1YzdmZWU4MjczZTg5MmI3YTM4YmVjZDQ2YWFiYTU2YTdiOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWlu
dG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv
L0VOIgorICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbCBs
YW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKyAgPHRpdGxlPkRvbid0IGRyYXcgb3V0
bGluZXMgaW50byBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXI8L3RpdGxlPgorICA8IS0tCisgICAg
SWYgdGhpcyB0ZXN0IHN1Y2NlZWRzLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIGZvY3VzIHJpbmcg
aW4gdGhlIHNjcm9sbGVkCisgICAgY29udGVudHMuCisgIC0tPgorICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisKKyAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAg
IGZ1bmN0aW9uIGVuZFRlc3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXh0Jyk7CisgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSA4MDsK
KyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAg
ICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQnKTsKKyAgICAg
IHRleHRhcmVhLmZvY3VzKCk7CisgICAgICB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFydCA9IHRleHRh
cmVhLnNlbGVjdGlvbkVuZCA9IDA7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKyAgICAgIHdpbmRvdy5zZXRUaW1lb3V0
KGVuZFRlc3QsIDEwMCk7CisgICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBkb1Rlc3QsIGZhbHNlKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICA8dGV4dGFyZWEgcm93cz0iNiIgY29scz0iNTAiIGlkPSJ0ZXh0Ij4KKyAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVh
LiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxh
bWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlz
IGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNz
ZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQg
b2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNp
YSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKworICBMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0
IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28g
bGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0
ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNp
bGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2Nh
ZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRl
c2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorCisgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5p
bSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJv
cmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGly
dXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVt
IGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0
IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1
bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgIDwvdGV4dGFyZWE+Cis8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDZiYjQxYmEwOGIzY2YwYjU4YjhhZDFiMGMyMThhMTRhYTZkMDhkZjIuLmQ3OGYy
ZjQxZmRlNDI3OTNkNjlhZTU3NTJkNWVlYTg4ZTc3YjhhYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjgxNyw2ICsyODE3LDExIEBA
IGNyYnVnLmNvbS84ODU4OCBmYXN0L2xpc3RzL2lubGluZUJveFdyYXBwZXJOdWxsQ2hlY2suaHRt
bCBbIEZhaWx1cmUgUGFzcyBdCiBjcmJ1Zy5jb20vODg4OTQgaHR0cC90ZXN0cy9jYWNoZS9zdWJy
ZXNvdXJjZS1leHBpcmF0aW9uLTEuaHRtbCBbIFBhc3MgU2xvdyBdCiBjcmJ1Zy5jb20vODg4OTQg
aHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS1leHBpcmF0aW9uLTIuaHRtbCBbIFBhc3MgU2xv
dyBdCiAKKyMgVGhlIGZvbGxvd2luZyBhcmUgbWlzc2luZyBiYXNlbGluZXMuCit3ZWJraXQub3Jn
L2IvMTA3OTM1IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2NvbXBvc2l0ZWRzY3JvbGxp
bmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGlu
Zy1jb250ZW50cy5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IHBsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFp
bnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBNaXNz
aW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBh
aW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIFsgTWlz
c2luZyBdCisKICMgVjggbm93IGZvbGxvd3Mgc3BlYyBvbiB0b2lzb3N0cmluZywgdGVzdCBuZWVk
cyB0byBiZSBmaXhlZC4KIGNyYnVnLmNvbS84ODkzNiBmYXN0L2pzL2RhdGUtdG9pc29zdHJpbmcu
aHRtbCBbIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggOWRmNjFmZDU3ZjJmZWVmOGFjMzQwYjFiNzkyY2ZlMTJmMjM1MTkw
My4uZjMwYmQyOWMwMzY5Mzk4MGYzMzdmYTZmOWUxNzFiYzRmNjQzNTdiNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzAxLDYgKzMwMSw4
IEBAIHdlYmtpdC5vcmcvYi8xMDYxODcgcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvZml4ZWQv
bmVnYXRpdmUtc2Nyb2xsLW9mZnNldC5odG1sCiB3ZWJraXQub3JnL2IvMTA2MTg3IHBsYXRmb3Jt
L21hYy90aWxlZC1kcmF3aW5nL3N0aWNreS9zdGlja3ktaG9yaXpvbnRhbC5odG1sIFsgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTA2MTg3IHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL3N0aWNr
eS9zdGlja3ktdmVydGljYWwuaHRtbCBbIEZhaWx1cmUgXQogCit3ZWJraXQub3JnL2IvMTA3OTM1
IGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRl
ZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQorCiB3ZWJraXQub3JnL2IvMTA2
NDA1IGh0dHAvdGVzdHMvbG9hZGluZy9hdXRoZW50aWNhdGlvbi1hZnRlci1yZWRpcmVjdC1zdG9y
ZXMtd3JvbmctY3JlZGVudGlhbHMvYXV0aGVudGljYXRpb24tYWZ0ZXItcmVkaXJlY3Qtc3RvcmVz
LXdyb25nLWNyZWRlbnRpYWxzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDY0MDUg
aHR0cC90ZXN0cy9sb2FkaW5nL2Jhc2ljLWF1dGgtcmVzZW5kLXdyb25nLWNyZWRlbnRpYWxzLmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDY0MDUgaHR0cC90ZXN0cy9sb2FkaW5nL2Jh
c2ljLWNyZWRlbnRpYWxzLXNlbnQtYXV0b21hdGljYWxseS5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185664</attachid>
            <date>2013-01-30 20:14:15 -0800</date>
            <delta_ts>2013-01-31 12:41:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107618-20130130231059.patch</filename>
            <type>text/plain</type>
            <size>16939</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkYjljZDQxNWU5OGI0
NmEzYjRjOWQ2MWQyMmI3MjE0MGJmMWQ0Yi4uYWU1NzI5MDRlODNmMTdjNTBlOGJiNWQwNTZjMjlk
NGM3ZTgyZWZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAxLTMwICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBw
aGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Ny
b2xsaW5nIGNvbnRlbnRzIGxheWVyIHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5k
IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAg
ICAgICAgY2F1c2VzIGEgZmV3IHByb2JsZW1zOgorCisgICAgICAgICAxKSBJZiB3ZSBjcmVhdGUg
YSBmb3JlZ3JvdW5kIGxheWVyLCB3ZSBlbmQgdXAgd2l0aCB0d28gbGF5ZXJzIHBhaW50aW5nIAor
ICAgICAgICAgICAgdGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAyKSBGb2N1cyByaW5n
cyAvIG91dGxpbmVzIHBhaW50IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5k
CisgICAgICAgICAgICB1cCBtb3ZpbmcgYXJvdW5kIHdpdGggdGhlIHNjcm9sbGluZyBjb250ZW50
cy4KKyAgICAgICAgIDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0aGUg
bWFpbiBncmFwaGljcyBsYXllciBhbmQKKyAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBz
Y3JvbGwuCisKKyAgICAgICAgVG8gZGVhbCB3aXRoIDEpIHdlIGRvIG5vdCB0byBjcmVhdGUgYSBz
cGVjaWFsLCBmb3JlZ3JvdW5kIGxheWVyIHdoZW4gCisgICAgICAgIHdlJ3JlIHVzaW5nIGNvbXBv
c2l0ZWQgc2Nyb2xsaW5nLiAKKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBSZW5k
ZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzIGhhcyBiZWVuCisgICAgICAgIG1vZGlmaWVkIHNv
IHRoYXQgdGhlICJjb21wb3NpdGluZyBiYWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nCisgICAg
ICAgIGZvcmVncm91bmQiIHBoYXNlcyBiZWhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50bHkgd2hlbiB3
ZSdyZSB1c2luZworICAgICAgICBjb21wb3NpdGVkIHNjcm9sbGluZy4KKworICAgICAgICBUZXN0
czogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3Np
dGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9v
dmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250
ZW50cy1sYXllci5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgICAgQ3VzdG9taXplcyB0aGUgImNvbXBvc2l0aW5nIGJhY2tncm91bmQiIGFuZCAiY29tcG9z
aXRpbmcgZm9yZWdyb3VuZCIKKyAgICAgICAgICBwYWludCBwaGFzZXMgZm9yIGNvbXBvc2l0ZWQg
c2Nyb2xsaW5nLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpuZWVkc0NvbnRlbnRz
Q29tcG9zaXRpbmdMYXllcik6CisgICAgICAgICAgSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRy
dWUsIHdlIGNyZWF0ZSBhIHNwZWNpYWwsICdmb3JlZ3JvdW5kJworICAgICAgICAgIGxheWVyLiBU
aGUgZnVuY3Rpb24gbm93IHJldHVybnMgZmFsc2UgaWYgd2UncmUgdXNpbmcgY29tcG9zaXRlZAor
ICAgICAgICAgIHNjcm9sbGluZy4KKwogMjAxMy0wMS0zMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBiZWF1dGlmeSBmaWxl
IHNlbGVjdG9yIGRpYWxvZyB0byByZW5kZXIgYXMgdHdvIHJvd3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDRhNDk4MzcwYWQxZmJlZDkyMWU1NjAyYjBiYTMz
MmNmNjY2NTBkZjcuLjg1ODMyOGU1ZTA2YjY5ZDA0Zjg5ZTA3Y2MzZDYzMTI5ZTc1NWU4ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzc1MywxMSArMzc1
MywyNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgLy8gTm93IHdhbGsgdGhlIHNvcnRlZCBsaXN0IG9mIGNoaWxkcmVuIHdpdGgg
bmVnYXRpdmUgei1pbmRpY2VzLgotICAgICAgICBwYWludExpc3QobmVnWk9yZGVyTGlzdCgpLCBj
b250ZXh0LCBsb2NhbFBhaW50aW5nSW5mbywgbG9jYWxQYWludEZsYWdzKTsKKyAgICAgICAgaWYg
KCF1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKSB7CisgICAgICAgICAgICAvLyBOb3cgd2FsayB0
aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBuZWdhdGl2ZSB6LWluZGljZXMuCisgICAg
ICAgICAgICBwYWludExpc3QobmVnWk9yZGVyTGlzdCgpLCBjb250ZXh0LCBsb2NhbFBhaW50aW5n
SW5mbywgbG9jYWxQYWludEZsYWdzKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdoZW4gdXNp
bmcgY29tcG9zaXRlZCBzY3JvbGxpbmcsIG91dGxpbmVzIHBhaW50IGludG8gdGhlIGJhY2tncm91
bmQuCisgICAgICAgIGlmICh1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpICYmIHNob3VsZFBhaW50
T3V0bGluZSAmJiAhb3V0bGluZVJlY3QuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAvLyBQYWlu
dCBvdXIgb3duIG91dGxpbmUKKyAgICAgICAgICAgIFBhaW50SW5mbyBwYWludEluZm8oY29udGV4
dCwgcGl4ZWxTbmFwcGVkSW50UmVjdChvdXRsaW5lUmVjdC5yZWN0KCkpLCBQYWludFBoYXNlU2Vs
Zk91dGxpbmUsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyLCBsb2NhbFBh
aW50aW5nSW5mby5yZWdpb24pOworICAgICAgICAgICAgY2xpcFRvUmVjdChsb2NhbFBhaW50aW5n
SW5mby5yb290TGF5ZXIsIGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0
LCBvdXRsaW5lUmVjdCwgRG9Ob3RJbmNsdWRlU2VsZkZvckJvcmRlclJhZGl1cyk7CisgICAgICAg
ICAgICByZW5kZXJlcigpLT5wYWludChwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAg
ICAgIHJlc3RvcmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0
LCBvdXRsaW5lUmVjdCk7CisgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgaWYgKGxvY2FsUGFp
bnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKSB7
CisgICAgICAgIGlmICh1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKSB7CisgICAgICAgICAgICAv
LyBOb3cgd2FsayB0aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBuZWdhdGl2ZSB6LWlu
ZGljZXMuCisgICAgICAgICAgICBwYWludExpc3QobmVnWk9yZGVyTGlzdCgpLCBjb250ZXh0LCBs
b2NhbFBhaW50aW5nSW5mbywgbG9jYWxQYWludEZsYWdzKTsKKyAgICAgICAgfQorCiAgICAgICAg
IC8vIE5vdyBlc3RhYmxpc2ggdGhlIGFwcHJvcHJpYXRlIGNsaXAgYW5kIHBhaW50IG91ciBjaGls
ZCBSZW5kZXJPYmplY3RzLgogICAgICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50ICYmICFjbGlw
UmVjdFRvQXBwbHkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAvLyBCZWdpbiB0cmFuc3BhcmVu
Y3kgbGF5ZXJzIGxhemlseSBub3cgdGhhdCB3ZSBrbm93IHdlIGhhdmUgdG8gcGFpbnQgc29tZXRo
aW5nLgpAQCAtMzc4OSw3ICszODA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNv
bnRlbnRzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChzaG91bGRQYWludE91dGxpbmUgJiYg
IW91dGxpbmVSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBpZiAoIXVzZXNDb21wb3NpdGVkU2Ny
b2xsaW5nKCkgJiYgc2hvdWxkUGFpbnRPdXRsaW5lICYmICFvdXRsaW5lUmVjdC5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgIC8vIFBhaW50IG91ciBvd24gb3V0bGluZQogICAgICAgICAgICAgUGFp
bnRJbmZvIHBhaW50SW5mbyhjb250ZXh0LCBwaXhlbFNuYXBwZWRJbnRSZWN0KG91dGxpbmVSZWN0
LnJlY3QoKSksIFBhaW50UGhhc2VTZWxmT3V0bGluZSwgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdS
b290Rm9yUmVuZGVyZXIsIGxvY2FsUGFpbnRpbmdJbmZvLnJlZ2lvbik7CiAgICAgICAgICAgICBj
bGlwVG9SZWN0KGxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllciwgY29udGV4dCwgbG9jYWxQYWlu
dGluZ0luZm8ucGFpbnREaXJ0eVJlY3QsIG91dGxpbmVSZWN0LCBEb05vdEluY2x1ZGVTZWxmRm9y
Qm9yZGVyUmFkaXVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMThjNjQ1Y2RkNTNjN2IyZDdhZWQ1YTFlNDdjNDdiMjE3
MTk0N2JhOC4uOGQ0Mjc5YzgxYTA2MzQ3ZTdiMTQxMzRjODRiMzUyODFlNmMyYzgyMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
QEAgLTIxMTcsNyArMjExNyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5p
bmdBY2NlbGVyYXRlZFRyYW5zZm9ybUFuaW1hdGlvbihSZW5kZXJPYmplY3QqCiAvLyBvYmplY3Qu
CiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5
ZXIoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKSBjb25zdAogewotICAgIHJldHVybiBsYXllci0+
aGFzTmVnYXRpdmVaT3JkZXJMaXN0KCk7CisgICAgcmV0dXJuIGxheWVyLT5oYXNOZWdhdGl2ZVpP
cmRlckxpc3QoKSAmJiAhbGF5ZXItPm5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOwogfQogCiBi
b29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNTY3JvbGxMYXllcihSb290TGF5ZXJB
dHRhY2htZW50IGF0dGFjaG1lbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2I4YjRjMjVjOTRjNDA4MWE0NDNh
ODJjOWEyMDJiYWM4MGI5MDg2Mi4uMjYxYmI0MzY2ZDlkOWZkMzRlMWQzYzJiNTM3MTFhY2Y5Y2Rh
YmU5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAxLTMwICBJYW4gVm9sbGljayAgPHZv
bGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBwaGFzZXMgZm9yIGNv
bXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsaW5nIGNvbnRl
bnRzIGxheWVyIHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5kIHRoZSBtYWluIGdy
YXBoaWNzIGxheWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAgICAgICAgY2F1c2Vz
IGEgZmV3IHByb2JsZW1zOgorCisgICAgICAgICAxKSBJZiB3ZSBjcmVhdGUgYSBmb3JlZ3JvdW5k
IGxheWVyLCB3ZSBlbmQgdXAgd2l0aCB0d28gbGF5ZXJzIHBhaW50aW5nIAorICAgICAgICAgICAg
dGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAyKSBGb2N1cyByaW5ncyAvIG91dGxpbmVz
IHBhaW50IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5kCisgICAgICAgICAg
ICB1cCBtb3ZpbmcgYXJvdW5kIHdpdGggdGhlIHNjcm9sbGluZyBjb250ZW50cy4KKyAgICAgICAg
IDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0aGUgbWFpbiBncmFwaGlj
cyBsYXllciBhbmQKKyAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBzY3JvbGwuCisKKyAg
ICAgICAgVG8gZGVhbCB3aXRoIDEpIHdlIGRvIG5vdCB0byBjcmVhdGUgYSBzcGVjaWFsLCBmb3Jl
Z3JvdW5kIGxheWVyIHdoZW4gCisgICAgICAgIHdlJ3JlIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xs
aW5nLiAKKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBSZW5kZXJMYXllcjo6cGFp
bnRMYXllckNvbnRlbnRzIGhhcyBiZWVuCisgICAgICAgIG1vZGlmaWVkIHNvIHRoYXQgdGhlICJj
b21wb3NpdGluZyBiYWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nCisgICAgICAgIGZvcmVncm91
bmQiIHBoYXNlcyBiZWhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50bHkgd2hlbiB3ZSdyZSB1c2luZwor
ICAgICAgICBjb21wb3NpdGVkIHNjcm9sbGluZy4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL292
ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29u
dGVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQt
bmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDEt
MzAgIMOBZMOhbSBLYWxsYWkgIDxrYWRhbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0
XSBVbnJldmlld2VkIGdhcmRlbmluZy4gU2tpcCBzb21lIGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGlu
ZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQt
c2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ5YjY1YzdmZWU4MjczZTg5MmI3
YTM4YmVjZDQ2YWFiYTU2YTdiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3Jv
bGxpbmctY29udGVudHMuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbCBQVUJM
SUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgImh0dHA6Ly93
d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4K
KyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiLz4KKyAgPHRpdGxlPkRvbid0IGRyYXcgb3V0bGluZXMgaW50byBzY3JvbGxp
bmcgY29udGVudHMgbGF5ZXI8L3RpdGxlPgorICA8IS0tCisgICAgSWYgdGhpcyB0ZXN0IHN1Y2Nl
ZWRzLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIGZvY3VzIHJpbmcgaW4gdGhlIHNjcm9sbGVkCisg
ICAgY29udGVudHMuCisgIC0tPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hh
cnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHdpbmRvdy50
ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykK
KyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAgIGZ1bmN0aW9uIGVuZFRlc3Qo
KQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
ZXh0Jyk7CisgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSA4MDsKKyAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgdmFyIHRleHRhcmVhID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQnKTsKKyAgICAgIHRleHRhcmVhLmZvY3VzKCk7
CisgICAgICB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFydCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZCA9
IDA7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLmRpc3BsYXkoKTsKKyAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGVuZFRlc3QsIDEwMCk7Cisg
ICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNl
KTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICA8dGV4dGFyZWEgcm93
cz0iNiIgY29scz0iNTAiIGlkPSJ0ZXh0Ij4KKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KKworICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVu
aWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFs
aXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiBy
ZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVn
aWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9u
IHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmlt
IGlkIGVzdCBsYWJvcnVtLgorCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0s
IHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVp
cCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJl
aGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQg
bnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJv
aWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQg
ZXN0IGxhYm9ydW0uCisgIDwvdGV4dGFyZWE+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVyLWRl
c2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRv
LXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2MTU5OWZmNjEyMzQ2
ZTU4YjhlMzkxYjRjMmVjNDQ5YTBmOWYwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRv
LXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQ
RSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCisg
ICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KKzxodG1sIGxhbmc9ImVu
Ij4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgorICA8dGl0bGU+UGFpbnQgbmVnIHotb3JkZXIgZGVz
Y2VuZGFudHMgaW50byB0aGUgY29tcG9zaXRlZCBzY3JvbGxpbmcgbGF5ZXI8L3RpdGxlPgorICA8
IS0tIElmIHRoaXMgdGVzdCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgc2Nyb2xsZWQgdGV4dC4g
LS0+CisgIDxzdHlsZT4KKyAgICAuc2Nyb2xsYWJsZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xs
OworICAgIH0KKworICAgIC5zY3JvbGxlZCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICB6LWluZGV4OiAtMTsKKyAgICB9CisKKyAgICAjY29udGFpbmVyIHsKKyAgICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgICAgIHRvcDogMTBweDsKKyAgICAgIGxlZnQ6IDEwcHg7CisgICAg
ICB3aWR0aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgYm9yZGVyOiAxcHgg
YmxhY2sgc29saWQ7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisKKyAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAgIGZ1bmN0
aW9uIGVuZFRlc3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb250YWluZXInKTsKKyAgICAgIHRleHRhcmVhLnNjcm9sbFRvcCA9IDQwOwor
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kaXNwbGF5KCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7CisgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CisgICAgICB0ZXh0YXJlYS5mb2N1cygp
OworICAgICAgdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQg
PSAwOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kaXNwbGF5KCk7CisgICAgICB3aW5kb3cuc2V0VGltZW91dChlbmRUZXN0LCAxMDApOwor
ICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxz
ZSk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBjbGFzcz0i
c2Nyb2xsYWJsZSIgaWQ9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsZWQiPgor
ICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBt
YWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNp
dGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25z
ZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0
ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNl
cHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBh
IHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICAgIDwv
ZGl2PgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVkIj4KKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBv
ciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFk
IG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMg
bmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUg
ZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9s
b3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3Vw
aWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBt
b2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJz
Y3JvbGxlZCI+CisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9z
dHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBj
b21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQg
aW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFy
aWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1
bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9y
dW0uCisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2ZjZmZGYwZjI1
NjM2NDMwZGI4MjJjYzQyZmQ4YWRiODAxYmZjNmE1Li4wZTJhOTc2NzEzMTJlZDk4NTZiMTUyODA5
YjNhNWJjYjIyNTJhMzhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTI3OTUsNiArMjc5NSwxNCBAQCBjcmJ1Zy5jb20vODg1ODggZmFz
dC9saXN0cy9pbmxpbmVCb3hXcmFwcGVyTnVsbENoZWNrLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQog
Y3JidWcuY29tLzg4ODk0IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZXhwaXJhdGlvbi0x
Lmh0bWwgWyBQYXNzIFNsb3cgXQogY3JidWcuY29tLzg4ODk0IGh0dHAvdGVzdHMvY2FjaGUvc3Vi
cmVzb3VyY2UtZXhwaXJhdGlvbi0yLmh0bWwgWyBQYXNzIFNsb3cgXQogCisjIFRoZSBmb2xsb3dp
bmcgYXJlIG1pc3NpbmcgYmFzZWxpbmVzLgord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5nL292ZXJmbG93L2RvLW5vdC1w
YWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1p
c3NpbmcgXQord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3Nv
ZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21w
b3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3JnL2Iv
MTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29t
cG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9yZy9i
LzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5n
L292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNv
bnRlbnRzLWxheWVyLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5l
Zy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwg
WyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFp
bnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIu
aHRtbCBbIE1pc3NpbmcgXQorCiAjIFY4IG5vdyBmb2xsb3dzIHNwZWMgb24gdG9pc29zdHJpbmcs
IHRlc3QgbmVlZHMgdG8gYmUgZml4ZWQuCiBjcmJ1Zy5jb20vODg5MzYgZmFzdC9qcy9kYXRlLXRv
aXNvc3RyaW5nLmh0bWwgWyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDlkZjYxZmQ1N2YyZmVlZjhhYzM0MGIxYjc5MmNm
ZTEyZjIzNTE5MDMuLjc4ZmMzMDMwOTRhYTY0ZmJlN2RiNzg0NDBkNWIyZmM2OGIxN2QxMzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMw
MSw2ICszMDEsOSBAQCB3ZWJraXQub3JnL2IvMTA2MTg3IHBsYXRmb3JtL21hYy90aWxlZC1kcmF3
aW5nL2ZpeGVkL25lZ2F0aXZlLXNjcm9sbC1vZmZzZXQuaHRtbAogd2Via2l0Lm9yZy9iLzEwNjE4
NyBwbGF0Zm9ybS9tYWMvdGlsZWQtZHJhd2luZy9zdGlja3kvc3RpY2t5LWhvcml6b250YWwuaHRt
bCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwNjE4NyBwbGF0Zm9ybS9tYWMvdGlsZWQtZHJh
d2luZy9zdGlja3kvc3RpY2t5LXZlcnRpY2FsLmh0bWwgWyBGYWlsdXJlIF0KIAord2Via2l0Lm9y
Zy9iLzEwNzkzNSBjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRv
LWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5v
cmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2Vu
ZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbCBbIE1pc3NpbmcgXQorCiB3
ZWJraXQub3JnL2IvMTA2NDA1IGh0dHAvdGVzdHMvbG9hZGluZy9hdXRoZW50aWNhdGlvbi1hZnRl
ci1yZWRpcmVjdC1zdG9yZXMtd3JvbmctY3JlZGVudGlhbHMvYXV0aGVudGljYXRpb24tYWZ0ZXIt
cmVkaXJlY3Qtc3RvcmVzLXdyb25nLWNyZWRlbnRpYWxzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xMDY0MDUgaHR0cC90ZXN0cy9sb2FkaW5nL2Jhc2ljLWF1dGgtcmVzZW5kLXdyb25n
LWNyZWRlbnRpYWxzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDY0MDUgaHR0cC90
ZXN0cy9sb2FkaW5nL2Jhc2ljLWNyZWRlbnRpYWxzLXNlbnQtYXV0b21hdGljYWxseS5odG1sIFsg
RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185841</attachid>
            <date>2013-01-31 12:41:11 -0800</date>
            <delta_ts>2013-02-15 13:00:49 -0800</delta_ts>
            <desc>Updating test expectations.</desc>
            <filename>bug-107618-20130131153755.patch</filename>
            <type>text/plain</type>
            <size>18812</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkYjljZDQxNWU5OGI0
NmEzYjRjOWQ2MWQyMmI3MjE0MGJmMWQ0Yi4uZjI3MGRkN2E1MzU4ZDE3ZWE3YmUwZjEwYzljZWQz
ODQ2ZGQ1MGZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAxLTMxICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBw
aGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Ny
b2xsaW5nIGNvbnRlbnRzIGxheWVyIHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5k
IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAg
ICAgICAgY2F1c2VzIGEgZmV3IHByb2JsZW1zOgorCisgICAgICAgICAxKSBJZiB3ZSBjcmVhdGUg
YSBmb3JlZ3JvdW5kIGxheWVyLCB3ZSBlbmQgdXAgd2l0aCB0d28gbGF5ZXJzIHBhaW50aW5nIAor
ICAgICAgICAgICAgdGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAyKSBGb2N1cyByaW5n
cyAvIG91dGxpbmVzIHBhaW50IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5k
CisgICAgICAgICAgICB1cCBtb3ZpbmcgYXJvdW5kIHdpdGggdGhlIHNjcm9sbGluZyBjb250ZW50
cy4KKyAgICAgICAgIDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0aGUg
bWFpbiBncmFwaGljcyBsYXllciBhbmQKKyAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBz
Y3JvbGwuCisKKyAgICAgICAgVG8gZGVhbCB3aXRoIDEpIHdlIGRvIG5vdCB0byBjcmVhdGUgYSBz
cGVjaWFsLCBmb3JlZ3JvdW5kIGxheWVyIHdoZW4gCisgICAgICAgIHdlJ3JlIHVzaW5nIGNvbXBv
c2l0ZWQgc2Nyb2xsaW5nLiAKKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBSZW5k
ZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzIGhhcyBiZWVuCisgICAgICAgIG1vZGlmaWVkIHNv
IHRoYXQgdGhlICJjb21wb3NpdGluZyBiYWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nCisgICAg
ICAgIGZvcmVncm91bmQiIHBoYXNlcyBiZWhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50bHkgd2hlbiB3
ZSdyZSB1c2luZworICAgICAgICBjb21wb3NpdGVkIHNjcm9sbGluZy4KKworICAgICAgICBUZXN0
czogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3Np
dGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9v
dmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250
ZW50cy1sYXllci5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6CisgICAg
ICAgICAgQ3VzdG9taXplcyB0aGUgImNvbXBvc2l0aW5nIGJhY2tncm91bmQiIGFuZCAiY29tcG9z
aXRpbmcgZm9yZWdyb3VuZCIKKyAgICAgICAgICBwYWludCBwaGFzZXMgZm9yIGNvbXBvc2l0ZWQg
c2Nyb2xsaW5nLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpuZWVkc0NvbnRlbnRz
Q29tcG9zaXRpbmdMYXllcik6CisgICAgICAgICAgSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRy
dWUsIHdlIGNyZWF0ZSBhIHNwZWNpYWwsICdmb3JlZ3JvdW5kJworICAgICAgICAgIGxheWVyLiBU
aGUgZnVuY3Rpb24gbm93IHJldHVybnMgZmFsc2UgaWYgd2UncmUgdXNpbmcgY29tcG9zaXRlZAor
ICAgICAgICAgIHNjcm9sbGluZy4KKwogMjAxMy0wMS0zMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBiZWF1dGlmeSBmaWxl
IHNlbGVjdG9yIGRpYWxvZyB0byByZW5kZXIgYXMgdHdvIHJvd3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDRhNDk4MzcwYWQxZmJlZDkyMWU1NjAyYjBiYTMz
MmNmNjY2NTBkZjcuLjg1ODMyOGU1ZTA2YjY5ZDA0Zjg5ZTA3Y2MzZDYzMTI5ZTc1NWU4ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzc1MywxMSArMzc1
MywyNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgLy8gTm93IHdhbGsgdGhlIHNvcnRlZCBsaXN0IG9mIGNoaWxkcmVuIHdpdGgg
bmVnYXRpdmUgei1pbmRpY2VzLgotICAgICAgICBwYWludExpc3QobmVnWk9yZGVyTGlzdCgpLCBj
b250ZXh0LCBsb2NhbFBhaW50aW5nSW5mbywgbG9jYWxQYWludEZsYWdzKTsKKyAgICAgICAgaWYg
KCF1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKSB7CisgICAgICAgICAgICAvLyBOb3cgd2FsayB0
aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBuZWdhdGl2ZSB6LWluZGljZXMuCisgICAg
ICAgICAgICBwYWludExpc3QobmVnWk9yZGVyTGlzdCgpLCBjb250ZXh0LCBsb2NhbFBhaW50aW5n
SW5mbywgbG9jYWxQYWludEZsYWdzKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdoZW4gdXNp
bmcgY29tcG9zaXRlZCBzY3JvbGxpbmcsIG91dGxpbmVzIHBhaW50IGludG8gdGhlIGJhY2tncm91
bmQuCisgICAgICAgIGlmICh1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpICYmIHNob3VsZFBhaW50
T3V0bGluZSAmJiAhb3V0bGluZVJlY3QuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAvLyBQYWlu
dCBvdXIgb3duIG91dGxpbmUKKyAgICAgICAgICAgIFBhaW50SW5mbyBwYWludEluZm8oY29udGV4
dCwgcGl4ZWxTbmFwcGVkSW50UmVjdChvdXRsaW5lUmVjdC5yZWN0KCkpLCBQYWludFBoYXNlU2Vs
Zk91dGxpbmUsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyLCBsb2NhbFBh
aW50aW5nSW5mby5yZWdpb24pOworICAgICAgICAgICAgY2xpcFRvUmVjdChsb2NhbFBhaW50aW5n
SW5mby5yb290TGF5ZXIsIGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0
LCBvdXRsaW5lUmVjdCwgRG9Ob3RJbmNsdWRlU2VsZkZvckJvcmRlclJhZGl1cyk7CisgICAgICAg
ICAgICByZW5kZXJlcigpLT5wYWludChwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAg
ICAgIHJlc3RvcmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0
LCBvdXRsaW5lUmVjdCk7CisgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgaWYgKGxvY2FsUGFp
bnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKSB7
CisgICAgICAgIGlmICh1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKSB7CisgICAgICAgICAgICAv
LyBOb3cgd2FsayB0aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBuZWdhdGl2ZSB6LWlu
ZGljZXMuCisgICAgICAgICAgICBwYWludExpc3QobmVnWk9yZGVyTGlzdCgpLCBjb250ZXh0LCBs
b2NhbFBhaW50aW5nSW5mbywgbG9jYWxQYWludEZsYWdzKTsKKyAgICAgICAgfQorCiAgICAgICAg
IC8vIE5vdyBlc3RhYmxpc2ggdGhlIGFwcHJvcHJpYXRlIGNsaXAgYW5kIHBhaW50IG91ciBjaGls
ZCBSZW5kZXJPYmplY3RzLgogICAgICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50ICYmICFjbGlw
UmVjdFRvQXBwbHkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAvLyBCZWdpbiB0cmFuc3BhcmVu
Y3kgbGF5ZXJzIGxhemlseSBub3cgdGhhdCB3ZSBrbm93IHdlIGhhdmUgdG8gcGFpbnQgc29tZXRo
aW5nLgpAQCAtMzc4OSw3ICszODA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNv
bnRlbnRzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChzaG91bGRQYWludE91dGxpbmUgJiYg
IW91dGxpbmVSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBpZiAoIXVzZXNDb21wb3NpdGVkU2Ny
b2xsaW5nKCkgJiYgc2hvdWxkUGFpbnRPdXRsaW5lICYmICFvdXRsaW5lUmVjdC5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgIC8vIFBhaW50IG91ciBvd24gb3V0bGluZQogICAgICAgICAgICAgUGFp
bnRJbmZvIHBhaW50SW5mbyhjb250ZXh0LCBwaXhlbFNuYXBwZWRJbnRSZWN0KG91dGxpbmVSZWN0
LnJlY3QoKSksIFBhaW50UGhhc2VTZWxmT3V0bGluZSwgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdS
b290Rm9yUmVuZGVyZXIsIGxvY2FsUGFpbnRpbmdJbmZvLnJlZ2lvbik7CiAgICAgICAgICAgICBj
bGlwVG9SZWN0KGxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllciwgY29udGV4dCwgbG9jYWxQYWlu
dGluZ0luZm8ucGFpbnREaXJ0eVJlY3QsIG91dGxpbmVSZWN0LCBEb05vdEluY2x1ZGVTZWxmRm9y
Qm9yZGVyUmFkaXVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMThjNjQ1Y2RkNTNjN2IyZDdhZWQ1YTFlNDdjNDdiMjE3
MTk0N2JhOC4uOGQ0Mjc5YzgxYTA2MzQ3ZTdiMTQxMzRjODRiMzUyODFlNmMyYzgyMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
QEAgLTIxMTcsNyArMjExNyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1J1bm5p
bmdBY2NlbGVyYXRlZFRyYW5zZm9ybUFuaW1hdGlvbihSZW5kZXJPYmplY3QqCiAvLyBvYmplY3Qu
CiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bmVlZHNDb250ZW50c0NvbXBvc2l0aW5nTGF5
ZXIoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKSBjb25zdAogewotICAgIHJldHVybiBsYXllci0+
aGFzTmVnYXRpdmVaT3JkZXJMaXN0KCk7CisgICAgcmV0dXJuIGxheWVyLT5oYXNOZWdhdGl2ZVpP
cmRlckxpc3QoKSAmJiAhbGF5ZXItPm5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOwogfQogCiBi
b29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNTY3JvbGxMYXllcihSb290TGF5ZXJB
dHRhY2htZW50IGF0dGFjaG1lbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2I4YjRjMjVjOTRjNDA4MWE0NDNh
ODJjOWEyMDJiYWM4MGI5MDg2Mi4uN2U3NDlhZTkyNjBmMmYwZDFmNzU3YWZjZDRjMTk0YjQxMjE3
NmU0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTMxICBJYW4gVm9sbGljayAgPHZv
bGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBwaGFzZXMgZm9yIGNv
bXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsaW5nIGNvbnRl
bnRzIGxheWVyIHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5kIHRoZSBtYWluIGdy
YXBoaWNzIGxheWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAgICAgICAgY2F1c2Vz
IGEgZmV3IHByb2JsZW1zOgorCisgICAgICAgICAxKSBJZiB3ZSBjcmVhdGUgYSBmb3JlZ3JvdW5k
IGxheWVyLCB3ZSBlbmQgdXAgd2l0aCB0d28gbGF5ZXJzIHBhaW50aW5nIAorICAgICAgICAgICAg
dGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAyKSBGb2N1cyByaW5ncyAvIG91dGxpbmVz
IHBhaW50IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5kCisgICAgICAgICAg
ICB1cCBtb3ZpbmcgYXJvdW5kIHdpdGggdGhlIHNjcm9sbGluZyBjb250ZW50cy4KKyAgICAgICAg
IDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0aGUgbWFpbiBncmFwaGlj
cyBsYXllciBhbmQKKyAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBzY3JvbGwuCisKKyAg
ICAgICAgVG8gZGVhbCB3aXRoIDEpIHdlIGRvIG5vdCB0byBjcmVhdGUgYSBzcGVjaWFsLCBmb3Jl
Z3JvdW5kIGxheWVyIHdoZW4gCisgICAgICAgIHdlJ3JlIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xs
aW5nLiAKKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBSZW5kZXJMYXllcjo6cGFp
bnRMYXllckNvbnRlbnRzIGhhcyBiZWVuCisgICAgICAgIG1vZGlmaWVkIHNvIHRoYXQgdGhlICJj
b21wb3NpdGluZyBiYWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nCisgICAgICAgIGZvcmVncm91
bmQiIHBoYXNlcyBiZWhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50bHkgd2hlbiB3ZSdyZSB1c2luZwor
ICAgICAgICBjb21wb3NpdGVkIHNjcm9sbGluZy4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL292
ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29u
dGVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQt
bmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKKyAgICAgICAg
KiBjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0
ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5n
L292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNv
bnRlbnRzLWxheWVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTAx
LTMwICDDgWTDoW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtR
dF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuIFNraXAgc29tZSBmYWlsaW5nIHRlc3RzLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxp
bmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVk
LXNjcm9sbGluZy1jb250ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0OWI2NWM3ZmVlODI3M2U4OTJi
N2EzOGJlY2Q0NmFhYmE1NmE3YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Ny
b2xsaW5nLWNvbnRlbnRzLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWwgUFVC
TElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICJodHRwOi8v
d3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PXV0Zi04Ii8+CisgIDx0aXRsZT5Eb24ndCBkcmF3IG91dGxpbmVzIGludG8gc2Nyb2xs
aW5nIGNvbnRlbnRzIGxheWVyPC90aXRsZT4KKyAgPCEtLQorICAgIElmIHRoaXMgdGVzdCBzdWNj
ZWVkcywgeW91IHNob3VsZCBub3Qgc2VlIHRoZSBmb2N1cyByaW5nIGluIHRoZSBzY3JvbGxlZAor
ICAgIGNvbnRlbnRzLgorICAtLT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisKKyAgICBmdW5jdGlvbiBlbmRUZXN0
KCkKKyAgICB7CisgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGV4dCcpOworICAgICAgdGV4dGFyZWEuc2Nyb2xsVG9wID0gODA7CisgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBkb1Rlc3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Jyk7CisgICAgICB0ZXh0YXJlYS5mb2N1cygp
OworICAgICAgdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQg
PSAwOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kaXNwbGF5KCk7CisgICAgICB3aW5kb3cuc2V0VGltZW91dChlbmRUZXN0LCAxMDApOwor
ICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxz
ZSk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHRleHRhcmVhIHJv
d3M9IjYiIGNvbHM9IjUwIiBpZD0idGV4dCI+CisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5p
bSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kg
dXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9y
IGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBl
dSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRh
dCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0
IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisKKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZl
bmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBh
bGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4g
cmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1
Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5v
biBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5p
bSBpZCBlc3QgbGFib3J1bS4KKworICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt
LCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1
aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXBy
ZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0
IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHBy
b2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlk
IGVzdCBsYWJvcnVtLgorICA8L3RleHRhcmVhPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRlci1k
ZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50
by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjE1OTlmZjYxMjM0
NmU1OGI4ZTM5MWI0YzJlYzQ0OWEwZjlmMGViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50
by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbApAQCAtMCwwICsxLDczIEBACis8IURPQ1RZ
UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgor
ICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbCBsYW5nPSJl
biI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKyAgPHRpdGxlPlBhaW50IG5lZyB6LW9yZGVyIGRl
c2NlbmRhbnRzIGludG8gdGhlIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nIGxheWVyPC90aXRsZT4KKyAg
PCEtLSBJZiB0aGlzIHRlc3Qgc3VjY2VlZHMsIHlvdSBzaG91bGQgc2VlIHNjcm9sbGVkIHRleHQu
IC0tPgorICA8c3R5bGU+CisgICAgLnNjcm9sbGFibGUgeworICAgICAgb3ZlcmZsb3c6IHNjcm9s
bDsKKyAgICB9CisKKyAgICAuc2Nyb2xsZWQgeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgICAgei1pbmRleDogLTE7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICBwb3Np
dGlvbjogYWJzb2x1dGU7CisgICAgICB0b3A6IDEwcHg7CisgICAgICBsZWZ0OiAxMHB4OworICAg
ICAgd2lkdGg6IDIwMHB4OworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgIGJvcmRlcjogMXB4
IGJsYWNrIHNvbGlkOworICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworCisgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisKKyAgICBmdW5j
dGlvbiBlbmRUZXN0KCkKKyAgICB7CisgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29udGFpbmVyJyk7CisgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSA0MDsK
KyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgd2luZG93LnRlc3RSdW5uZXIuZGlzcGxheSgpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgdmFyIHRleHRhcmVhID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworICAgICAgdGV4dGFyZWEuZm9jdXMo
KTsKKyAgICAgIHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5k
ID0gMDsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RS
dW5uZXIuZGlzcGxheSgpOworICAgICAgd2luZG93LnNldFRpbWVvdXQoZW5kVGVzdCwgMTAwKTsK
KyAgICB9CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFs
c2UpOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xhc3M9
InNjcm9sbGFibGUiIGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVkIj4K
KyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJj
aXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29u
c2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRh
dGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhj
ZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxw
YSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJzY3JvbGxlZCI+CisgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBh
ZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlz
IG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJl
IGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRv
bG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1
cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQg
bW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0i
c2Nyb2xsZWQiPgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0
IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBh
cmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBz
dW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJv
cnVtLgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmY2ZmRmMGYy
NTYzNjQzMGRiODIyY2M0MmZkOGFkYjgwMWJmYzZhNS4uOGRhZTI2N2QyZDdlOTdjZjM5MzcwZmEz
MDNmNzgyODFmNzgyMDg2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yNzk1LDYgKzI3OTUsMTcgQEAgY3JidWcuY29tLzg4NTg4IGZh
c3QvbGlzdHMvaW5saW5lQm94V3JhcHBlck51bGxDaGVjay5odG1sIFsgRmFpbHVyZSBQYXNzIF0K
IGNyYnVnLmNvbS84ODg5NCBodHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLWV4cGlyYXRpb24t
MS5odG1sIFsgUGFzcyBTbG93IF0KIGNyYnVnLmNvbS84ODg5NCBodHRwL3Rlc3RzL2NhY2hlL3N1
YnJlc291cmNlLWV4cGlyYXRpb24tMi5odG1sIFsgUGFzcyBTbG93IF0KIAorIyBUaGUgZm9sbG93
aW5nIGFyZSBtaXNzaW5nIGJhc2VsaW5lcy4KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvY29tcG9zaXRlZHNjcm9sbGluZy9vdmVyZmxvdy9kby1ub3Qt
cGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBN
aXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9z
b2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29t
cG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9yZy9i
LzEwNzkzNSBjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNv
bXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcv
Yi8xMDc5MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvY29tcG9zaXRlZHNjcm9sbGlu
Zy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1j
b250ZW50cy1sYXllci5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IHBsYXRm
b3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1u
ZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1s
IFsgTWlzc2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L3Bh
aW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVy
Lmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvY29tcG9zaXRlZHNjcm9sbGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9s
bGluZy1jcmVhdGVzLWEtc3RhY2tpbmctY29udGFpbmVyLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1zY3JvbGxpbmct
Y3JlYXRlcy1hLXN0YWNraW5nLWNvbnRhaW5lci5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvMTA3OTM1IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9v
dmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1jcmVhdGVzLWEtc3RhY2tpbmctY29udGFpbmVy
Lmh0bWwgWyBGYWlsdXJlIF0KKwogIyBWOCBub3cgZm9sbG93cyBzcGVjIG9uIHRvaXNvc3RyaW5n
LCB0ZXN0IG5lZWRzIHRvIGJlIGZpeGVkLgogY3JidWcuY29tLzg4OTM2IGZhc3QvanMvZGF0ZS10
b2lzb3N0cmluZy5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5ZGY2MWZkNTdmMmZlZWY4YWMzNDBiMWI3OTJj
ZmUxMmYyMzUxOTAzLi40M2UyNTE5OTdhMTYzODA1MmRjNWI4ZTc0NDEzMWU5NjZmM2I4N2FlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MDEsNiArMzAxLDExIEBAIHdlYmtpdC5vcmcvYi8xMDYxODcgcGxhdGZvcm0vbWFjL3RpbGVkLWRy
YXdpbmcvZml4ZWQvbmVnYXRpdmUtc2Nyb2xsLW9mZnNldC5odG1sCiB3ZWJraXQub3JnL2IvMTA2
MTg3IHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL3N0aWNreS9zdGlja3ktaG9yaXpvbnRhbC5o
dG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA2MTg3IHBsYXRmb3JtL21hYy90aWxlZC1k
cmF3aW5nL3N0aWNreS9zdGlja3ktdmVydGljYWwuaHRtbCBbIEZhaWx1cmUgXQogCisjIHRoZSBm
b2xsb3dpbmcgdGVzdHMgYXJlIG1pc3NpbmcgYmFzZWxpbmVzLgord2Via2l0Lm9yZy9iLzEwNzkz
NSBjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0
ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5
MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50
by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9yZy9i
LzEwNzkzNSBjb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1jcmVhdGVz
LWEtc3RhY2tpbmctY29udGFpbmVyLmh0bWwgWyBGYWlsdXJlIF0KKwogd2Via2l0Lm9yZy9iLzEw
NjQwNSBodHRwL3Rlc3RzL2xvYWRpbmcvYXV0aGVudGljYXRpb24tYWZ0ZXItcmVkaXJlY3Qtc3Rv
cmVzLXdyb25nLWNyZWRlbnRpYWxzL2F1dGhlbnRpY2F0aW9uLWFmdGVyLXJlZGlyZWN0LXN0b3Jl
cy13cm9uZy1jcmVkZW50aWFscy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA2NDA1
IGh0dHAvdGVzdHMvbG9hZGluZy9iYXNpYy1hdXRoLXJlc2VuZC13cm9uZy1jcmVkZW50aWFscy5o
dG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA2NDA1IGh0dHAvdGVzdHMvbG9hZGluZy9i
YXNpYy1jcmVkZW50aWFscy1zZW50LWF1dG9tYXRpY2FsbHkuaHRtbCBbIEZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5ZGQ3ZjBkOTZiNDBi
MDNkZjc2M2RkMzZjOWM2Mzk5NzNmZDk0NGI2Li4zOGM5ZjAwZWUwZTdlM2YwMjQ2ZGVjMTM0MzVk
MDM3ODBlYWE4ZjFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNzM4LDYgKzczOCwxMiBAQCBmYXN0L3N1Yi1waXhlbC96b29tZWQtaW1hZ2UtdGlsZXMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIyBOZWVkcyByZWJhc2VsaW5lCiBmYXN0L3N1Yi1w
aXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBOZWVk
cyByZWJhc2VsaW5lIGFmdGVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDc2MTgKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzk1
MgorY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50
by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbCBbIE1pc3NpbmcgXQorY29tcG9zaXRpbmcv
b3ZlcmZsb3cvY29tcG9zaXRlZC1zY3JvbGxpbmctY3JlYXRlcy1hLXN0YWNraW5nLWNvbnRhaW5l
ci5odG1sIFsgTWlzc2luZyBdCitjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0
bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBGYWlsdXJlIF0K
KwogIyBObyBDT1JTIHN1cHBvcnQgZm9yIG1lZGlhIGVsZW1lbnRzIGlzIGltcGxlbWVudGVkIHll
dC4KIGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jvc3Mtb3JpZ2luLXJlYWRiYWNrLmh0bWwK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188625</attachid>
            <date>2013-02-15 13:00:55 -0800</date>
            <delta_ts>2013-03-06 06:50:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107618-20130215155721.patch</filename>
            <type>text/plain</type>
            <size>19350</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBmZTBiZTNlOWE4M2Mz
MzY5NTcyMjdmOTY5ZTc5ZDMyMDQ5MDU1Mi4uYTk2NDc0OTNjZTM1MmEwZjE3NDg0ZWRkNGZmODU3
NTA5ZjA4MjQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTAxLTMxICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBw
aGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Ny
b2xsaW5nIGNvbnRlbnRzIGxheWVyIHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5k
IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAg
ICAgICAgY2F1c2VzIGEgZmV3IHByb2JsZW1zOgorCisgICAgICAgICAxKSBJZiB3ZSBjcmVhdGUg
YSBmb3JlZ3JvdW5kIGxheWVyLCB3ZSBlbmQgdXAgd2l0aCB0d28gbGF5ZXJzIHBhaW50aW5nIAor
ICAgICAgICAgICAgdGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAyKSBGb2N1cyByaW5n
cyAvIG91dGxpbmVzIHBhaW50IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5k
CisgICAgICAgICAgICB1cCBtb3ZpbmcgYXJvdW5kIHdpdGggdGhlIHNjcm9sbGluZyBjb250ZW50
cy4KKyAgICAgICAgIDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0aGUg
bWFpbiBncmFwaGljcyBsYXllciBhbmQKKyAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBz
Y3JvbGwuCisKKyAgICAgICAgVG8gZGVhbCB3aXRoIDEpIHdlIG5lZWQgdG8gc3RvcCBwYWludGlu
ZyB0aGUgZm9yZWdyb3VuZCBpbnRvIGJvdGggdGhlCisgICAgICAgIGZvcmVncm91bmQgYW5kIHNj
cm9sbGluZyBjb250ZW50cyBsYXllcnMuIFdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhhdAorICAg
ICAgICB0aGUgZm9yZWdyb3VuZCBsYXllciBpcyB0aGUgcmlnaHQgc2l6ZSBhbmQgaGFzIHRoZSBy
aWdodCBvZmZzZXQgZnJvbQorICAgICAgICByZW5kZXJlciBpZiB3ZSdyZSBvbiB0aGUgY29tcG9z
aXRlZCBzY3JvbGxpbmcgcGF0aC4KKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBS
ZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzIGhhcyBiZWVuCisgICAgICAgIG1vZGlmaWVk
IHNvIHRoYXQgdGhlICJjb21wb3NpdGluZyBiYWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nCisg
ICAgICAgIGZvcmVncm91bmQiIHBoYXNlcyBiZWhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50bHkgd2hl
biB3ZSdyZSB1c2luZworICAgICAgICBjb21wb3NpdGVkIHNjcm9sbGluZy4KKworICAgICAgICBU
ZXN0czogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21w
b3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGlu
Zy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1j
b250ZW50cy1sYXllci5odG1sCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWlu
dExheWVyQ29udGVudHMpOgorICAgICAgICAgIEN1c3RvbWl6ZXMgdGhlICJjb21wb3NpdGluZyBi
YWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nIGZvcmVncm91bmQiCisgICAgICAgICAgcGFpbnQg
cGhhc2VzIGZvciBjb21wb3NpdGVkIHNjcm9sbGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKyAgICAgICAgICBF
bnN1cmUgdGhhdCB0aGUgZm9yZWdyb3VuZCBsYXllciBpcyBhdCB0aGUgcmlnaHQgc2l6ZSBhbmQg
cG9zaXRpb24KKyAgICAgICAgICBpZiB3ZSdyZSB1c2luZyBjb21wb3NpdGVkIHNjcm9sbGluZy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIpOgor
ICAgICAgICAgIE1ha2Ugc3VyZSB3ZSBkb24ndCBwYWludCB0aGUgZm9yZWdyb3VuZCBwaGFzZSBp
bnRvIHRoZSBzY3JvbGxpbmcKKyAgICAgICAgICBjb250ZW50cyBsYXllciBpZiB3ZSd2ZSBnb3Qg
YSBmb3JlZ3JvdW5kIGxheWVyLgorCiAyMDEzLTAyLTE1ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRy
ZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCBpbmNvbnNpc3RlbmN5IGluIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5pZGwgZm9yIGdldEF0dHJpYkxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA0MDhiZGI5YjVlNTkzZmY0ODg2Mzk1NjA0ODQ3
MzE5ZDNhZGQwMzc3Li5jZjdiMjMwZGUzNGE0ZDUyNTAyMjZkODExNWM3NzE5ZjIwYTBkOWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTM3NDgsMTEgKzM3
NDgsMjcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCi0gICAgICAgIC8vIE5vdyB3YWxrIHRoZSBzb3J0ZWQgbGlzdCBvZiBjaGlsZHJlbiB3aXRo
IG5lZ2F0aXZlIHotaW5kaWNlcy4KLSAgICAgICAgcGFpbnRMaXN0KG5lZ1pPcmRlckxpc3QoKSwg
Y29udGV4dCwgbG9jYWxQYWludGluZ0luZm8sIGxvY2FsUGFpbnRGbGFncyk7CisgICAgICAgIGlm
ICghdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkgeworICAgICAgICAgICAgLy8gTm93IHdhbGsg
dGhlIHNvcnRlZCBsaXN0IG9mIGNoaWxkcmVuIHdpdGggbmVnYXRpdmUgei1pbmRpY2VzLgorICAg
ICAgICAgICAgcGFpbnRMaXN0KG5lZ1pPcmRlckxpc3QoKSwgY29udGV4dCwgbG9jYWxQYWludGlu
Z0luZm8sIGxvY2FsUGFpbnRGbGFncyk7CisgICAgICAgIH0KKworICAgICAgICAvLyBXaGVuIHVz
aW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCBvdXRsaW5lcyBwYWludCBpbnRvIHRoZSBiYWNrZ3Jv
dW5kLgorICAgICAgICBpZiAodXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSAmJiBzaG91bGRQYWlu
dE91dGxpbmUgJiYgIW91dGxpbmVSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgLy8gUGFp
bnQgb3VyIG93biBvdXRsaW5lCisgICAgICAgICAgICBQYWludEluZm8gcGFpbnRJbmZvKGNvbnRl
eHQsIHBpeGVsU25hcHBlZEludFJlY3Qob3V0bGluZVJlY3QucmVjdCgpKSwgUGFpbnRQaGFzZVNl
bGZPdXRsaW5lLCBwYWludEJlaGF2aW9yLCBwYWludGluZ1Jvb3RGb3JSZW5kZXJlciwgbG9jYWxQ
YWludGluZ0luZm8ucmVnaW9uKTsKKyAgICAgICAgICAgIGNsaXBUb1JlY3QobG9jYWxQYWludGlu
Z0luZm8ucm9vdExheWVyLCBjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVj
dCwgb3V0bGluZVJlY3QsIERvTm90SW5jbHVkZVNlbGZGb3JCb3JkZXJSYWRpdXMpOworICAgICAg
ICAgICAgcmVuZGVyZXIoKS0+cGFpbnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CisgICAgICAg
ICAgICByZXN0b3JlQ2xpcChjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVj
dCwgb3V0bGluZVJlY3QpOworICAgICAgICB9CiAgICAgfQogICAgIAogICAgIGlmIChsb2NhbFBh
aW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSkg
eworICAgICAgICBpZiAodXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkgeworICAgICAgICAgICAg
Ly8gTm93IHdhbGsgdGhlIHNvcnRlZCBsaXN0IG9mIGNoaWxkcmVuIHdpdGggbmVnYXRpdmUgei1p
bmRpY2VzLgorICAgICAgICAgICAgcGFpbnRMaXN0KG5lZ1pPcmRlckxpc3QoKSwgY29udGV4dCwg
bG9jYWxQYWludGluZ0luZm8sIGxvY2FsUGFpbnRGbGFncyk7CisgICAgICAgIH0KKwogICAgICAg
ICAvLyBOb3cgZXN0YWJsaXNoIHRoZSBhcHByb3ByaWF0ZSBjbGlwIGFuZCBwYWludCBvdXIgY2hp
bGQgUmVuZGVyT2JqZWN0cy4KICAgICAgICAgaWYgKHNob3VsZFBhaW50Q29udGVudCAmJiAhY2xp
cFJlY3RUb0FwcGx5LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgLy8gQmVnaW4gdHJhbnNwYXJl
bmN5IGxheWVycyBsYXppbHkgbm93IHRoYXQgd2Uga25vdyB3ZSBoYXZlIHRvIHBhaW50IHNvbWV0
aGluZy4KQEAgLTM3ODQsNyArMzgwMCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJD
b250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoc2hvdWxkUGFpbnRPdXRsaW5lICYm
ICFvdXRsaW5lUmVjdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKCF1c2VzQ29tcG9zaXRlZFNj
cm9sbGluZygpICYmIHNob3VsZFBhaW50T3V0bGluZSAmJiAhb3V0bGluZVJlY3QuaXNFbXB0eSgp
KSB7CiAgICAgICAgICAgICAvLyBQYWludCBvdXIgb3duIG91dGxpbmUKICAgICAgICAgICAgIFBh
aW50SW5mbyBwYWludEluZm8oY29udGV4dCwgcGl4ZWxTbmFwcGVkSW50UmVjdChvdXRsaW5lUmVj
dC5yZWN0KCkpLCBQYWludFBoYXNlU2VsZk91dGxpbmUsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5n
Um9vdEZvclJlbmRlcmVyLCBsb2NhbFBhaW50aW5nSW5mby5yZWdpb24pOwogICAgICAgICAgICAg
Y2xpcFRvUmVjdChsb2NhbFBhaW50aW5nSW5mby5yb290TGF5ZXIsIGNvbnRleHQsIGxvY2FsUGFp
bnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LCBvdXRsaW5lUmVjdCwgRG9Ob3RJbmNsdWRlU2VsZkZv
ckJvcmRlclJhZGl1cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCmluZGV4IGVkNGFkN2IwNGM5ZjMyZTRlMmY4NzAyMDQ0YjIwNDM5NjMxNDk4
MzkuLmM2ZGI3ODIxODdjMjQ4M2Y1ZTBmYzAyM2IxZWZmM2ZkZGJlNWMxMWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC04MDQsNiAr
ODA0LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2Vv
bWV0cnkoKQogICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFNpemUoc2Nyb2xs
U2l6ZSk7CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgcGFpbnQgb2Zmc2V0IGFuZCB0aGUgc2Nyb2xs
IG9mZnNldCBzaG91bGQgcmVhbGx5IGJlIHNlcGFyYXRlIGNvbmNlcHRzLgogICAgICAgICBtX3Nj
cm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihzY3JvbGxpbmdDb250
ZW50c09mZnNldCwgR3JhcGhpY3NMYXllcjo6RG9udFNldE5lZWRzRGlzcGxheSk7CisKKyAgICAg
ICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7CisgICAgICAgICAgICBpZiAobV9mb3JlZ3JvdW5k
TGF5ZXItPnNpemUoKSAhPSBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNpemUoKSkKKyAgICAg
ICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2l6ZShtX3Njcm9sbGluZ0NvbnRlbnRz
TGF5ZXItPnNpemUoKSk7CisgICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0TmVlZHNE
aXNwbGF5KCk7CisgICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0T2Zmc2V0RnJvbVJl
bmRlcmVyKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkpOwor
ICAgICAgICB9CiAgICAgfQogCiAgICAgLy8gSWYgdGhpcyBsYXllciB3YXMgY3JlYXRlZCBqdXN0
IGZvciBjbGlwcGluZyBvciB0byBhcHBseSBwZXJzcGVjdGl2ZSwgaXQgZG9lc24ndCBuZWVkIGl0
cyBvd24gYmFja2luZyBzdG9yZS4KQEAgLTE3OTksNiArMTgwNiwxMCBAQCB2b2lkIFJlbmRlckxh
eWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NM
YXllciwgR3JhcAogICAgICAgICBwYWludEZsYWdzIHw9IChSZW5kZXJMYXllcjo6UGFpbnRMYXll
clBhaW50aW5nUm9vdEJhY2tncm91bmRPbmx5IHwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWlu
dGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKTsgLy8gTmVlZCBQYWludExheWVyUGFpbnRp
bmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB0byB3YWxrIGNoaWxkIGxheWVycy4KICAgICBl
bHNlIGlmIChtX2JhY2tncm91bmRMYXllcikKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJM
YXllcjo6UGFpbnRMYXllclBhaW50aW5nU2tpcFJvb3RCYWNrZ3JvdW5kOworCisgICAgLy8gRG9u
J3QgcGFpbnQgdGhlIGZvcmVncm91bmQgc2luY2UgdGhlIGZvcmVncm91bmQgbGF5ZXIgaXMgZ29p
bmcgdG8gaGFuZGxlIGl0LgorICAgIGlmIChncmFwaGljc0xheWVyID09IG1fc2Nyb2xsaW5nQ29u
dGVudHNMYXllciAmJiBtX2ZvcmVncm91bmRMYXllcikKKyAgICAgICAgcGFpbnRGbGFncyAmPSB+
UmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNl
OwogICAgIAogICAgIC8vIEZJWE1FOiBHcmFwaGljc0xheWVycyBuZWVkIGEgd2F5IHRvIHNwbGl0
IGZvciBSZW5kZXJSZWdpb25zLgogICAgIFJlbmRlckxheWVyOjpMYXllclBhaW50aW5nSW5mbyBw
YWludGluZ0luZm8obV9vd25pbmdMYXllciwgcGFpbnREaXJ0eVJlY3QsIHBhaW50QmVoYXZpb3Is
IExheW91dFNpemUoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDczOWNjOTIzYTU4NWYzYmM2NjI4MDRkNWUyYTJkYTFi
Mzc0NGQ4OS4uM2MzNTM1MzY4Y2IzOWQwNzU5NWVlOTk1NDIwODQyNmM1NTliNDliMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM2IEBACisyMDEzLTAxLTMxICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBwaGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Ny
b2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsaW5nIGNvbnRlbnRzIGxheWVyIHBh
aW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5kIHRoZSBtYWluIGdyYXBoaWNzIGxheWVy
IHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAgICAgICAgY2F1c2VzIGEgZmV3IHByb2Js
ZW1zOgorCisgICAgICAgICAxKSBJZiB3ZSBjcmVhdGUgYSBmb3JlZ3JvdW5kIGxheWVyLCB3ZSBl
bmQgdXAgd2l0aCB0d28gbGF5ZXJzIHBhaW50aW5nIAorICAgICAgICAgICAgdGhlIGZvcmVncm91
bmQgcGhhc2UuCisgICAgICAgICAyKSBGb2N1cyByaW5ncyAvIG91dGxpbmVzIHBhaW50IGludG8g
dGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5kCisgICAgICAgICAgICB1cCBtb3Zpbmcg
YXJvdW5kIHdpdGggdGhlIHNjcm9sbGluZyBjb250ZW50cy4KKyAgICAgICAgIDMpIE5lZyB6LW9y
ZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0aGUgbWFpbiBncmFwaGljcyBsYXllciBhbmQK
KyAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBzY3JvbGwuCisKKyAgICAgICAgVG8gZGVh
bCB3aXRoIDEpIHdlIG5lZWQgdG8gc3RvcCBwYWludGluZyB0aGUgZm9yZWdyb3VuZCBpbnRvIGJv
dGggdGhlCisgICAgICAgIGZvcmVncm91bmQgYW5kIHNjcm9sbGluZyBjb250ZW50cyBsYXllcnMu
IFdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhhdAorICAgICAgICB0aGUgZm9yZWdyb3VuZCBsYXll
ciBpcyB0aGUgcmlnaHQgc2l6ZSBhbmQgaGFzIHRoZSByaWdodCBvZmZzZXQgZnJvbQorICAgICAg
ICByZW5kZXJlciBpZiB3ZSdyZSBvbiB0aGUgY29tcG9zaXRlZCBzY3JvbGxpbmcgcGF0aC4KKwor
ICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNv
bnRlbnRzIGhhcyBiZWVuCisgICAgICAgIG1vZGlmaWVkIHNvIHRoYXQgdGhlICJjb21wb3NpdGlu
ZyBiYWNrZ3JvdW5kIiBhbmQgImNvbXBvc2l0aW5nCisgICAgICAgIGZvcmVncm91bmQiIHBoYXNl
cyBiZWhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50bHkgd2hlbiB3ZSdyZSB1c2luZworICAgICAgICBj
b21wb3NpdGVkIHNjcm9sbGluZy4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L2Rv
LW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3Jk
ZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDItMTUgIFN1ZGFy
c2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBpbnRlbC5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nLgpAQCAtMTIyMzMsNiArMTIyNjYsMTIgQEAKICAgICAg
ICAgKiBpbnNwZWN0b3IvY29uc29sZS9yZXNvdXJjZXMvbG9nLXNvdXJjZS5qczogQWRkZWQuCiAg
ICAgICAgIChsb2cyKToKIAorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1w
YWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVz
Y2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDEtMzAgIMOBZMOhbSBLYWxsYWkgIDxrYWRhbUBpbmYu
dS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gU2tpcCBz
b21lIGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9v
dmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNv
bnRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFp
bnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDQ5YjY1YzdmZWU4MjczZTg5MmI3YTM4YmVjZDQ2YWFiYTU2YTdiOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1v
dXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbApAQCAtMCwwICsx
LDUyIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFu
c2l0aW9uYWwvL0VOIgorICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+
Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1U
eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKyAgPHRpdGxlPkRvbid0
IGRyYXcgb3V0bGluZXMgaW50byBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXI8L3RpdGxlPgorICA8
IS0tCisgICAgSWYgdGhpcyB0ZXN0IHN1Y2NlZWRzLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIGZv
Y3VzIHJpbmcgaW4gdGhlIHNjcm9sbGVkCisgICAgY29udGVudHMuCisgIC0tPgorICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisK
KyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVl
KTsKKworICAgIGZ1bmN0aW9uIGVuZFRlc3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Jyk7CisgICAgICB0ZXh0YXJlYS5zY3JvbGxU
b3AgPSA4MDsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisg
ICAgeworICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQn
KTsKKyAgICAgIHRleHRhcmVhLmZvY3VzKCk7CisgICAgICB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFy
dCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZCA9IDA7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKyAgICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGVuZFRlc3QsIDEwMCk7CisgICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICA8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorICA8dGV4dGFyZWEgcm93cz0iNiIgY29scz0iNTAiIGlkPSJ0ZXh0Ij4KKyAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRh
dGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2Vx
dWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUg
dmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0
ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBx
dWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKworICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9u
IHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQu
IER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxp
dCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIg
c2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBv
ZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorCisgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8g
ZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1
YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxs
YW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVp
cyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVz
c2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50
IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmlj
aWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgIDwvdGV4dGFyZWE+Cis8
L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292
ZXJmbG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRl
bnRzLWxheWVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1u
ZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU1YjE0MTg3OWRjNTk4ZmRhNmRlZjkyYTcwM2IxYmRiZjYxODhmMjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1u
ZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1s
CkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRN
TCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
bG9vc2UuZHRkIj4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2
PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgorICA8
dGl0bGU+UGFpbnQgbmVnIHotb3JkZXIgZGVzY2VuZGFudHMgaW50byB0aGUgY29tcG9zaXRlZCBz
Y3JvbGxpbmcgbGF5ZXI8L3RpdGxlPgorICA8IS0tIElmIHRoaXMgdGVzdCBzdWNjZWVkcywgeW91
IHNob3VsZCBzZWUgc2Nyb2xsZWQgdGV4dC4gLS0+CisgIDxzdHlsZT4KKyAgICAuc2Nyb2xsYWJs
ZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIH0KKworICAgIC5zY3JvbGxlZCB7Cisg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB0b3A6IC0yMHB4OworICAgICAgd2lkdGg6
IDUwcHg7CisgICAgICBoZWlnaHQ6IDQwMHB4OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47CisgICAgICB6LWluZGV4OiAtMTsKKyAgICB9CisKKyAgICAjZmlyc3RDaGlsZCB7CisgICAg
ICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICBsZWZ0OiAxMHB4OworICAgICAgd2lkdGg6IDUw
cHg7CisgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwor
ICAgIH0KKworICAgICNjb250YWluZXIgeworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAg
ICAgdG9wOiAxMHB4OworICAgICAgbGVmdDogMTBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAg
ICAgIGhlaWdodDogMjAwcHg7CisgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDsKKyAgICB9
CisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1
dGYtOCI+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgd2luZG93LnRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCh0cnVlKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3Zl
cmZsb3dTY3JvbGxFbmFibGVkKHRydWUpOworCisgICAgZnVuY3Rpb24gZW5kVGVzdCgpCisgICAg
eworICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5l
cicpOworICAgICAgdGV4dGFyZWEuc2Nyb2xsVG9wID0gNDA7CisgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjb250YWluZXInKTsKKyAgICAgIHRleHRhcmVhLmZvY3VzKCk7CisgICAgICB0ZXh0YXJlYS5z
ZWxlY3Rpb25TdGFydCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZCA9IDA7CisgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKyAg
ICAgIHdpbmRvdy5zZXRUaW1lb3V0KGVuZFRlc3QsIDEwMCk7CisgICAgfQorCisgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlIiBpZD0iY29u
dGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJmaXJzdENoaWxkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNz
PSJzY3JvbGxlZCI+PC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZTgzYTkx
OGE4ZmM0NzhhMjg4ZmU2Njg0NDA1OGE3MDU0N2ZmOWI3Li5iYWQxMTgzZDI0YTQwZTkzYTBhNjdk
NGY0NGYxMWU5MGU4NDJhNWYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI4NjAsNiArMjg2MCwxNyBAQCBjcmJ1Zy5jb20vODg1ODgg
ZmFzdC9saXN0cy9pbmxpbmVCb3hXcmFwcGVyTnVsbENoZWNrLmh0bWwgWyBGYWlsdXJlIFBhc3Mg
XQogY3JidWcuY29tLzg4ODk0IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZXhwaXJhdGlv
bi0xLmh0bWwgWyBQYXNzIFNsb3cgXQogY3JidWcuY29tLzg4ODk0IGh0dHAvdGVzdHMvY2FjaGUv
c3VicmVzb3VyY2UtZXhwaXJhdGlvbi0yLmh0bWwgWyBQYXNzIFNsb3cgXQogCisjIFRoZSBmb2xs
b3dpbmcgYXJlIG1pc3NpbmcgYmFzZWxpbmVzLgord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5nL292ZXJmbG93L2RvLW5v
dC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBb
IE1pc3NpbmcgXQord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L3NvZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1j
b21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3Jn
L2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8t
Y29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9y
Zy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xs
aW5nL292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5n
LWNvbnRlbnRzLWxheWVyLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50
LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0
bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cv
cGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5
ZXIuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5nL292ZXJmbG93L2NvbXBvc2l0ZWQtc2Ny
b2xsaW5nLWNyZWF0ZXMtYS1zdGFja2luZy1jb250YWluZXIuaHRtbCBbIEZhaWx1cmUgXQord2Vi
a2l0Lm9yZy9iLzEwNzkzNSBjb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGlu
Zy1jcmVhdGVzLWEtc3RhY2tpbmctY29udGFpbmVyLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5n
L292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNyZWF0ZXMtYS1zdGFja2luZy1jb250YWlu
ZXIuaHRtbCBbIEZhaWx1cmUgXQorCiAjIFY4IG5vdyBmb2xsb3dzIHNwZWMgb24gdG9pc29zdHJp
bmcsIHRlc3QgbmVlZHMgdG8gYmUgZml4ZWQuCiBjcmJ1Zy5jb20vODg5MzYgZmFzdC9qcy9kYXRl
LXRvaXNvc3RyaW5nLmh0bWwgWyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJlYmMwMTM3NDJiOTE3OGViNGIyZjBjZjFk
YTFlYjJhZTA1Y2Q3NTEuLjdhYTgyYWIxMGNkMDM2NjRhNzJlM2FiNDQ4OGE1OGFjM2FjZDljZjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI5Miw2ICsyOTIsMTAgQEAgd2Via2l0Lm9yZy9iLzEwNTk5OCBbIE1vdW50YWluTGlvbiBEZWJ1
ZyBdIGZhc3QvY3NzL3N0aWNreS9zdGlja3ktYm90aC1zaWRlcy5odG0KIAogd2Via2l0Lm9yZy9i
LzkzNTUyIGluc3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy5odG1sIFsgRmFpbHVy
ZSBdCiAKK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBh
aW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIFsgTWlz
c2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5l
Zy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwg
WyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29t
cG9zaXRlZC1zY3JvbGxpbmctY3JlYXRlcy1hLXN0YWNraW5nLWNvbnRhaW5lci5odG1sIFsgRmFp
bHVyZSBdCisKIHdlYmtpdC5vcmcvYi8xMDY0MDUgaHR0cC90ZXN0cy9sb2FkaW5nL2F1dGhlbnRp
Y2F0aW9uLWFmdGVyLXJlZGlyZWN0LXN0b3Jlcy13cm9uZy1jcmVkZW50aWFscy9hdXRoZW50aWNh
dGlvbi1hZnRlci1yZWRpcmVjdC1zdG9yZXMtd3JvbmctY3JlZGVudGlhbHMuaHRtbCBbIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzEwNjQwNSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFzaWMtYXV0aC1y
ZXNlbmQtd3JvbmctY3JlZGVudGlhbHMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEw
NjQwNSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFzaWMtY3JlZGVudGlhbHMtc2VudC1hdXRvbWF0aWNh
bGx5Lmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYjVmNjAxMTQ3NmQ0NGEzODI0MmVmNDU2YjVjYjk0Y2EwZTQ5NzdhZC4uNTIy
NmNlMjhjZWRiMzkzMzIwMmE2MDY3OTZiMzc1YzBmNzE0NWI0YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1Niw2ICs3NTYsMTIgQEAgZmFzdC9zdWIt
cGl4ZWwvem9vbWVkLWltYWdlLXRpbGVzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgTmVl
ZHMgcmViYXNlbGluZQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5o
dG1sIFsgRmFpbHVyZSBdCiAKKyMgTmVlZHMgcmViYXNlbGluZSBhZnRlciBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjE4CisjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc5NTIKK2NvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5l
Zy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwg
WyBNaXNzaW5nIF0KK2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNy
ZWF0ZXMtYS1zdGFja2luZy1jb250YWluZXIuaHRtbCBbIE1pc3NpbmcgXQorY29tcG9zaXRpbmcv
b3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1j
b250ZW50cy5odG1sIFsgRmFpbHVyZSBdCisKICMgTm8gQ09SUyBzdXBwb3J0IGZvciBtZWRpYSBl
bGVtZW50cyBpcyBpbXBsZW1lbnRlZCB5ZXQuCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVvLWNy
b3NzLW9yaWdpbi1yZWFkYmFjay5odG1sCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191745</attachid>
            <date>2013-03-06 06:50:44 -0800</date>
            <delta_ts>2013-03-06 21:28:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107618-20130306094649.patch</filename>
            <type>text/plain</type>
            <size>39007</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ4YmJkMzZhOWEyMWE0
MzU3YzA1MzdjNmFmMTA2MjhkY2QxMDc0Yi4uNzk3MmU3ZmJiZmRjODFkMTBjNGJiN2Y3YTc0Nzg2
NDI1ODJiNTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEzLTAzLTA2ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBw
aGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Ny
b2xsaW5nIGNvbnRlbnRzIGxheWVyIHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5k
IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAg
ICAgICAgY2F1c2VzIGEgZmV3IHByb2JsZW1zOgorCisgICAgICAgICAgMSkgSWYgd2UgY3JlYXRl
IGEgZm9yZWdyb3VuZCBsYXllciwgd2UgZW5kIHVwIHdpdGggdHdvIGxheWVycyBwYWludGluZyAK
KyAgICAgICAgICAgICB0aGUgZm9yZWdyb3VuZCBwaGFzZS4KKyAgICAgICAgICAyKSBGb2N1cyBy
aW5ncyAvIG91dGxpbmVzIHBhaW50IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkg
ZW5kCisgICAgICAgICAgICAgdXAgbW92aW5nIGFyb3VuZCB3aXRoIHRoZSBzY3JvbGxpbmcgY29u
dGVudHMuCisgICAgICAgICAgMykgTmVnIHotb3JkZXIgZGVzY2VuZGFudHMgcGFpbnQgaW4gdGhl
IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIGFuZAorICAgICAgICAgICAgIHdpbGwgdGhlcmVmb3Jl
IG5vdCBzY3JvbGwuCisKKyAgICAgICAgVG8gZGVhbCB3aXRoIDEpIHdlIG5lZWQgdG8gc3RvcCBw
YWludGluZyB0aGUgZm9yZWdyb3VuZCBpbnRvIGJvdGggdGhlCisgICAgICAgIGZvcmVncm91bmQg
YW5kIHNjcm9sbGluZyBjb250ZW50cyBsYXllcnMuIFdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhh
dAorICAgICAgICB0aGUgZm9yZWdyb3VuZCBsYXllciBpcyB0aGUgcmlnaHQgc2l6ZSBhbmQgaGFz
IHRoZSByaWdodCBvZmZzZXQgZnJvbQorICAgICAgICByZW5kZXJlciBpZiB3ZSdyZSBvbiB0aGUg
Y29tcG9zaXRlZCBzY3JvbGxpbmcgcGF0aC4KKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5k
IDMpLCBJIGhhdmUgYWRkZWQgYSBuZXcgZ3JhcGhpY3MgbGF5ZXIgcGFpbnRpbmcgcGhhc2UgCisg
ICAgICAgIGZsYWcgLS0gR3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbCAtLSBhbmQg
YXBwbGllZCBpdCB0byB0d28KKyAgICAgICAgbGF5ZXJzIGluIHRoZSBzdWJ0cmVlIGNyZWF0ZWQg
YnkgUmVuZGVyTGF5ZXJCYWNraW5nLiBUaGlzIHVsdGltYXRlbHkKKyAgICAgICAgYWZmZWN0cyB0
aGUgcGFpbnQgcGhhc2UgcGFzc2VkIHRvIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMg
YW5kCisgICAgICAgIGFsbG93cyB1cyB0byBwYWludCB0aGUgZm9jdXMgcmluZ3MsIG91dGxpbmVz
IGFuZCBuZWdhdGl2ZSB6LW9yZGVyCisgICAgICAgIGRlc2NlbmRhbnRzIGludG8gdGhlIHByb3Bl
ciBsYXllcnMuCisKKyAgICAgICAgVGVzdHM6IGNvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0
ZWQtc2Nyb2xsaW5nLXBhaW50LXBoYXNlcy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGlu
Zy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5n
LWNvbnRlbnRzLmh0bWwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50
LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0
bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgICBBZGRlZCBhIGZsYWcgZm9y
IGluY2x1ZGluZyBwYWludGluZyBwaGFzZXMgaW4gdGhlIGxheWVyIHRyZWUgZHVtcC4KKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmR1bXBQcm9wZXJ0aWVzKToKKyAgICAgICAgICBD
YW4gbm93IGR1bXAgcGFpbnRpbmcgcGhhc2UgaW5mb3JtYXRpb24sIGJ1dCBvbmx5IGlmIHJlcXVl
c3RlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6
CisgICAgICAgICAgQWRkZWQgYSBuZXcgZW50cnkgdG8gR3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2VGbGFncyBmb3IgY29tcC1zY3JvbGwuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
cGFpbnRMYXllckNvbnRlbnRzKToKKyAgICAgICAgICBVcGRhdGVkIHRoZSBsb2dpYyB0byBhY2Nv
dW50IGZvciB0aGUgbmV3IGNvbXAtc2Nyb2xsLXJlbGF0ZWQgcGFpbnQKKyAgICAgICAgICBwaGFz
ZSBmbGFnLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAgIEFk
ZGVkIHRoZSBSZW5kZXJMYXllciBwYWludGluZyBwaGFzZSBjb3VudGVycGFydCB0bworICAgICAg
ICAgIEdyYXBoaWNzTGF5ZXJQYWludENvbXBvc2l0ZWRTY3JvbGwuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSk6CisgICAgICAgICAgRW5zdXJl
cyB0aGF0IHRoZSBmb3JlZ3JvdW5kIGxheWVyIGlzIHNpemVkIGNvcnJlY3RseSBmb3IgY29tcC1z
Y3JvbGwuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9s
bGluZ0xheWVycyk6CisgICAgICAgICAgSWYgd2UgaGF2ZSBhIGZvcmVncm91bmQgbGF5ZXIsIHRo
ZSBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXIgbm8KKyAgICAgICAgICBsb25nZXIgZ2V0cyBhc3Np
Z25lZCB0aGUgZm9yZWdyb3VuZCBwYWludGluZyBwaGFzZS4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6cGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcik6CisgICAgICAg
ICAgSWYgd2UncmUgY29tcC1zY3JvbGxpbmcsIHRoZW4gdGhlIHByaW1hcnkgbGF5ZXIgZ2V0cyB0
aGUgbmV3IHBoYXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWlu
dEludG9MYXllcik6CisgICAgICAgICAgU2ltcGx5IHRyYW5zbGF0ZXMgdGhlIG5ldyBncmFwaGlj
cyBsYXllciBwYWludGluZyBwaGFzZSB0byBpdHMKKyAgICAgICAgICByZW5kZXIgbGF5ZXIgY291
bnRlcnBhcnQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVy
VHJlZUFzVGV4dCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpsYXllclRyZWVBc1RleHQpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAg
IFRoZSBhYm92ZSBjaGFuZ2VzIGFyZSBzb2xlbHkgcGx1bWJpbmcgdG8gYWxsb3cgbGF5b3V0IHRl
c3RzIHRvCisgICAgICAgICAgcmVxdWVzdCB0aGF0IHBhaW50IHBoYXNlIGluZm9ybWF0aW9uIGJl
IGluY2x1ZGVkIGluIHRoZSBsYXllciB0cmVlCisgICAgICAgICAgZHVtcC4KKwogMjAxMy0wMy0w
NSAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW0N1c3Rv
bSBFbGVtZW50c11bVjhdIEN1c3RvbSBFbGVtZW50IGRvZXNuJ3QgbmVlZCBpdHMgb3duIFdyYXBw
ZXJUeXBlSW5mbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDcwNTNlYjI0MDk4NzcxODA3ZjhjNDQ5ZmZk
YzgwODYyNTc2MzU5N2UuLjNkOTA5YjU5NWJjOTQ5NTQ5NzI0ZGNmMWUwZTA1OTE1YWZmNTQ5ZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmgKQEAgLTgwLDcgKzgwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBMYXllclRyZWVGbGFnc0luY2x1ZGVEZWJ1Z0luZm8gPSAxIDw8IDAsCiAgICAgICAg
IExheWVyVHJlZUZsYWdzSW5jbHVkZVZpc2libGVSZWN0cyA9IDEgPDwgMSwKICAgICAgICAgTGF5
ZXJUcmVlRmxhZ3NJbmNsdWRlVGlsZUNhY2hlcyA9IDEgPDwgMiwKLSAgICAgICAgTGF5ZXJUcmVl
RmxhZ3NJbmNsdWRlUmVwYWludFJlY3RzID0gMSA8PCAzCisgICAgICAgIExheWVyVHJlZUZsYWdz
SW5jbHVkZVJlcGFpbnRSZWN0cyA9IDEgPDwgMywKKyAgICAgICAgTGF5ZXJUcmVlRmxhZ3NJbmNs
dWRlUGFpbnRpbmdQaGFzZXMgPSAxIDw8IDQKICAgICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQg
TGF5ZXJUcmVlRmxhZ3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMjI5NGU1MjNkYzczM2VkM2QwMzI4YjJmMzg4NTM0
ZTkzOWE5MzIwZS4uY2JiOTgyYmNlN2E4ZGQ4OGFmZWNiNjM3MTRkZTdiMTAwZGJlOWEwZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5j
cHAKQEAgLTcwNCw3ICs3MDQsMzQgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpkdW1wUHJvcGVydGll
cyhUZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCwgTGF5ZXJUcmVlQXNUZXh0QmUKICAgICAgICAg
d3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwogICAgICAgICB0cyA8PCAiKVxuIjsKICAgICB9
Ci0gICAgCisKKyAgICBpZiAoYmVoYXZpb3IgJiBMYXllclRyZWVBc1RleHRJbmNsdWRlUGFpbnRp
bmdQaGFzZXMgJiYgcGFpbnRpbmdQaGFzZSgpKSB7CisgICAgICAgIHdyaXRlSW5kZW50KHRzLCBp
bmRlbnQgKyAxKTsKKyAgICAgICAgdHMgPDwgIihwYWludGluZ1BoYXNlc1xuIjsKKyAgICAgICAg
aWYgKHBhaW50aW5nUGhhc2UoKSAmIEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQpIHsKKyAg
ICAgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAyKTsKKyAgICAgICAgICAgIHRzIDw8
ICJHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kXG4iOworICAgICAgICB9CisgICAgICAgIGlm
IChwYWludGluZ1BoYXNlKCkgJiBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kKSB7CisgICAg
ICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMik7CisgICAgICAgICAgICB0cyA8PCAi
R3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZFxuIjsKKyAgICAgICAgfQorICAgICAgICBpZiAo
cGFpbnRpbmdQaGFzZSgpICYgR3JhcGhpY3NMYXllclBhaW50TWFzaykgeworICAgICAgICAgICAg
d3JpdGVJbmRlbnQodHMsIGluZGVudCArIDIpOworICAgICAgICAgICAgdHMgPDwgIkdyYXBoaWNz
TGF5ZXJQYWludE1hc2tcbiI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHBhaW50aW5nUGhhc2Uo
KSAmIEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93Q29udGVudHMpIHsKKyAgICAgICAgICAgIHdy
aXRlSW5kZW50KHRzLCBpbmRlbnQgKyAyKTsKKyAgICAgICAgICAgIHRzIDw8ICJHcmFwaGljc0xh
eWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRzXG4iOworICAgICAgICB9CisgICAgICAgIGlmIChwYWlu
dGluZ1BoYXNlKCkgJiBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsKSB7CisgICAg
ICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMik7CisgICAgICAgICAgICB0cyA8PCAi
R3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbFxuIjsKKyAgICAgICAgfQorICAgICAg
ICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7CisgICAgICAgIHRzIDw8ICIpXG4iOworICAg
IH0KKwogICAgIGR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyh0cywgaW5kZW50LCBiZWhhdmlvcik7
CiAgICAgCiAgICAgaWYgKG1fY2hpbGRyZW4uc2l6ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggNDJkNmM5MTBkMTJlYWFk
ZjNhYmFjMzVjYmIxNjE4NTRkMDZkY2VlOS4uZmRmODc2NjliYzE5ZDg0ZGJhMTVlYTUzNWY3NmNk
YmFiOGY3NTAwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuaApAQCAtNDksNyArNDksOCBAQCBlbnVtIExheWVyVHJlZUFzVGV4dEJlaGF2
aW9yRmxhZ3MgewogICAgIExheWVyVHJlZUFzVGV4dERlYnVnID0gMSA8PCAwLCAvLyBEdW1wIGV4
dHJhIGRlYnVnZ2luZyBpbmZvIGxpa2UgbGF5ZXIgYWRkcmVzc2VzLgogICAgIExheWVyVHJlZUFz
VGV4dEluY2x1ZGVWaXNpYmxlUmVjdHMgPSAxIDw8IDEsCiAgICAgTGF5ZXJUcmVlQXNUZXh0SW5j
bHVkZVRpbGVDYWNoZXMgPSAxIDw8IDIsCi0gICAgTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVJlcGFp
bnRSZWN0cyA9IDEgPDwgMworICAgIExheWVyVHJlZUFzVGV4dEluY2x1ZGVSZXBhaW50UmVjdHMg
PSAxIDw8IDMsCisgICAgTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVBhaW50aW5nUGhhc2VzID0gMSA8
PCA0CiB9OwogdHlwZWRlZiB1bnNpZ25lZCBMYXllclRyZWVBc1RleHRCZWhhdmlvcjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oCmluZGV4IDNmOGM1MWQ1OGJlMDE2N2Q3N2Y0MDBmMGI5OGE2NzcyMzMzMTZhNDMuLjFl
OWQyOTZlZTVjMjdkNTkwZjYzNjEwNmZjMjAxOTU3OGIxMWMyM2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKQEAg
LTQyLDYgKzQyLDcgQEAgZW51bSBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZUZsYWdzIHsKICAg
ICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kID0gKDEgPDwgMSksCiAgICAgR3JhcGhpY3NM
YXllclBhaW50TWFzayA9ICgxIDw8IDIpLAogICAgIEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93
Q29udGVudHMgPSAoMSA8PCAzKSwKKyAgICBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Ny
b2xsID0gKDEgPDwgNCksCiAgICAgR3JhcGhpY3NMYXllclBhaW50QWxsV2l0aE92ZXJmbG93Q2xp
cCA9IChHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kIHwgR3JhcGhpY3NMYXllclBhaW50Rm9y
ZWdyb3VuZCB8IEdyYXBoaWNzTGF5ZXJQYWludE1hc2spCiB9OwogdHlwZWRlZiB1bnNpZ25lZCBH
cmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCmluZGV4IDUxZDI0NDNkOGMyZmM2MjY2MzcyNGM1MzNiNTY1ZjJhNDk2N2U1OTYu
LmI2MjY5YmM0NDcxZTk3MDUzNmY3NDg2MWI3NGQ3YjdmZDkxZGYzZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzY1Miw4ICszNjUyLDE0IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBoYXZlVHJhbnNwYXJlbmN5ID0gbG9jYWxQYWlu
dEZsYWdzICYgUGFpbnRMYXllckhhdmVUcmFuc3BhcmVuY3k7CiAgICAgYm9vbCBpc1NlbGZQYWlu
dGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwogICAgIGJvb2wgaXNQYWlu
dGluZ092ZXJsYXlTY3JvbGxiYXJzID0gcGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ092
ZXJsYXlTY3JvbGxiYXJzOworICAgIGJvb2wgaXNQYWludGluZ1Njcm9sbGluZ0NvbnRlbnQgPSBw
YWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdTY3JvbGxpbmdQaGFzZTsK
KyAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdyb3VuZCA9IHBhaW50RmxhZ3MgJiBQ
YWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZTsKKyAgICBib29sIGlz
UGFpbnRpbmdDb21wb3NpdGVkQmFja2dyb3VuZCA9IHBhaW50RmxhZ3MgJiBQYWludExheWVyUGFp
bnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZTsKKyAgICBib29sIGlzUGFpbnRpbmdPdmVy
Zmxvd0NvbnRlbnRzID0gcGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ092ZXJmbG93Q29u
dGVudHM7CiAgICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVuIGlm
IHdlIGhhdmUgbm8gdmlzaWJsZSBjb250ZW50LgotICAgIGJvb2wgc2hvdWxkUGFpbnRPdXRsaW5l
ID0gaXNTZWxmUGFpbnRpbmdMYXllciAmJiAhaXNQYWludGluZ092ZXJsYXlTY3JvbGxiYXJzOwor
ICAgIGJvb2wgc2hvdWxkUGFpbnRPdXRsaW5lID0gaXNTZWxmUGFpbnRpbmdMYXllciAmJiAhaXNQ
YWludGluZ092ZXJsYXlTY3JvbGxiYXJzCisgICAgICAgICYmICgoaXNQYWludGluZ1Njcm9sbGlu
Z0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5kKQorICAgICAgICB8fCAo
IWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdy
b3VuZCkpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50ID0gbV9oYXNWaXNpYmxlQ29udGVu
dCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnM7
CiAKICAgICBHcmFwaGljc0NvbnRleHQqIHRyYW5zcGFyZW5jeUxheWVyQ29udGV4dCA9IGNvbnRl
eHQ7CkBAIC0zNzkyLDI4ICszNzk4LDMxIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJD
b250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiAgICAg
ICAgIC8vIGZyYWdtZW50IHNob3VsZCBwYWludC4KICAgICAgICAgY29sbGVjdEZyYWdtZW50cyhs
YXllckZyYWdtZW50cywgbG9jYWxQYWludGluZ0luZm8ucm9vdExheWVyLCBsb2NhbFBhaW50aW5n
SW5mby5yZWdpb24sIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LAogICAgICAgICAg
ICAgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJUZW1wb3JhcnlDbGlwUmVjdHMpID8gVGVt
cG9yYXJ5Q2xpcFJlY3RzIDogUGFpbnRpbmdDbGlwUmVjdHMsIElnbm9yZU92ZXJsYXlTY3JvbGxi
YXJTaXplLAotICAgICAgICAgICAgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGlu
Z092ZXJmbG93Q29udGVudHMpID8gSWdub3JlT3ZlcmZsb3dDbGlwIDogUmVzcGVjdE92ZXJmbG93
Q2xpcCwgJm9mZnNldEZyb21Sb290KTsKKyAgICAgICAgICAgIChpc1BhaW50aW5nT3ZlcmZsb3dD
b250ZW50cykgPyBJZ25vcmVPdmVyZmxvd0NsaXAgOiBSZXNwZWN0T3ZlcmZsb3dDbGlwLCAmb2Zm
c2V0RnJvbVJvb3QpOwogICAgICAgICB1cGRhdGVQYWludGluZ0luZm9Gb3JGcmFnbWVudHMobGF5
ZXJGcmFnbWVudHMsIGxvY2FsUGFpbnRpbmdJbmZvLCBsb2NhbFBhaW50RmxhZ3MsIHNob3VsZFBh
aW50Q29udGVudCwgJm9mZnNldEZyb21Sb290KTsKICAgICB9CiAgICAgCi0gICAgaWYgKGxvY2Fs
UGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNl
KSB7CisgICAgaWYgKGlzUGFpbnRpbmdDb21wb3NpdGVkQmFja2dyb3VuZCkgewogICAgICAgICAv
LyBQYWludCBvbmx5IHRoZSBiYWNrZ3JvdW5kcyBmb3IgYWxsIG9mIHRoZSBmcmFnbWVudHMgb2Yg
dGhlIGxheWVyLgogICAgICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50ICYmICFzZWxlY3Rpb25P
bmx5KQogICAgICAgICAgICAgcGFpbnRCYWNrZ3JvdW5kRm9yRnJhZ21lbnRzKGxheWVyRnJhZ21l
bnRzLCBjb250ZXh0LCB0cmFuc3BhcmVuY3lMYXllckNvbnRleHQsIHBhaW50aW5nSW5mby5wYWlu
dERpcnR5UmVjdCwgaGF2ZVRyYW5zcGFyZW5jeSwKICAgICAgICAgICAgICAgICBsb2NhbFBhaW50
aW5nSW5mbywgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdSb290Rm9yUmVuZGVyZXIpOworICAgIH0K
IAotICAgICAgICAvLyBOb3cgd2FsayB0aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBu
ZWdhdGl2ZSB6LWluZGljZXMuCisgICAgLy8gTm93IHdhbGsgdGhlIHNvcnRlZCBsaXN0IG9mIGNo
aWxkcmVuIHdpdGggbmVnYXRpdmUgei1pbmRpY2VzLgorICAgIGlmICgoaXNQYWludGluZ1Njcm9s
bGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ092ZXJmbG93Q29udGVudHMpIHx8ICghaXNQYWludGlu
Z1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5kKSkKICAg
ICAgICAgcGFpbnRMaXN0KG5lZ1pPcmRlckxpc3QoKSwgY29udGV4dCwgbG9jYWxQYWludGluZ0lu
Zm8sIGxvY2FsUGFpbnRGbGFncyk7Ci0gICAgfQogICAgIAotICAgIGlmIChsb2NhbFBhaW50Rmxh
Z3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSkgeworICAg
IGlmIChpc1BhaW50aW5nQ29tcG9zaXRlZEZvcmVncm91bmQpIHsKICAgICAgICAgaWYgKHNob3Vs
ZFBhaW50Q29udGVudCkKICAgICAgICAgICAgIHBhaW50Rm9yZWdyb3VuZEZvckZyYWdtZW50cyhs
YXllckZyYWdtZW50cywgY29udGV4dCwgdHJhbnNwYXJlbmN5TGF5ZXJDb250ZXh0LCBwYWludGlu
Z0luZm8ucGFpbnREaXJ0eVJlY3QsIGhhdmVUcmFuc3BhcmVuY3ksCiAgICAgICAgICAgICAgICAg
bG9jYWxQYWludGluZ0luZm8sIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdEZvclJlbmRlcmVy
LCBzZWxlY3Rpb25Pbmx5LCBmb3JjZUJsYWNrVGV4dCk7Ci0gICAgICAgIAotICAgICAgICBpZiAo
c2hvdWxkUGFpbnRPdXRsaW5lKQotICAgICAgICAgICAgcGFpbnRPdXRsaW5lRm9yRnJhZ21lbnRz
KGxheWVyRnJhZ21lbnRzLCBjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mbywgcGFpbnRCZWhhdmlv
ciwgcGFpbnRpbmdSb290Rm9yUmVuZGVyZXIpOworICAgIH0KKworICAgIGlmIChzaG91bGRQYWlu
dE91dGxpbmUpCisgICAgICAgIHBhaW50T3V0bGluZUZvckZyYWdtZW50cyhsYXllckZyYWdtZW50
cywgY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8sIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9v
dEZvclJlbmRlcmVyKTsKIAorICAgIGlmIChpc1BhaW50aW5nQ29tcG9zaXRlZEZvcmVncm91bmQp
IHsKICAgICAgICAgLy8gUGFpbnQgYW55IGNoaWxkIGxheWVycyB0aGF0IGhhdmUgb3ZlcmZsb3cu
CiAgICAgICAgIHBhaW50TGlzdChtX25vcm1hbEZsb3dMaXN0LmdldCgpLCBjb250ZXh0LCBsb2Nh
bFBhaW50aW5nSW5mbywgbG9jYWxQYWludEZsYWdzKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggY2NiNjU4ZWNlZTYyZDQ5ODBjYzc2MDZlZDRlOGNhYzE1
ZDIzM2QwMC4uOGRjODk5OWMyMjNhYzkxYjVlNjY5YzA2NGUzODJjYWZlM2UyMzdjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTYxMyw5ICs2MTMsMTAgQEAgcHVi
bGljOgogICAgICAgICBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFz
ZSA9IDEgPDwgNSwKICAgICAgICAgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3Jv
dW5kUGhhc2UgPSAxIDw8IDYsCiAgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5n
TWFza1BoYXNlID0gMSA8PCA3LAotICAgICAgICBQYWludExheWVyUGFpbnRpbmdPdmVyZmxvd0Nv
bnRlbnRzID0gMSA8PCA4LAotICAgICAgICBQYWludExheWVyUGFpbnRpbmdSb290QmFja2dyb3Vu
ZE9ubHkgPSAxIDw8IDksCi0gICAgICAgIFBhaW50TGF5ZXJQYWludGluZ1NraXBSb290QmFja2dy
b3VuZCA9IDEgPDwgMTAsCisgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nU2Ny
b2xsaW5nUGhhc2UgPSAxIDw8IDgsCisgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ092ZXJmbG93
Q29udGVudHMgPSAxIDw8IDksCisgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ1Jvb3RCYWNrZ3Jv
dW5kT25seSA9IDEgPDwgMTAsCisgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ1NraXBSb290QmFj
a2dyb3VuZCA9IDEgPDwgMTEsCiAgICAgICAgIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5n
QWxsUGhhc2VzID0gKFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNl
IHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UgfCBQYWludExh
eWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFzZSkKICAgICB9OwogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBiMzY0YTA2
MGQ4MTQ0ZWMzN2E0ZmVhYjZiOTlhZDhjNzg0MmQ1OTA4Li5jMjUzYTU5NjA3MGY4NmEwNTM1MjQ3
ZWEzZWQ1ZDI1ODliZGU1MjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtODEzLDYgKzgxMywxMyBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgbV9zY3JvbGxp
bmdDb250ZW50c0xheWVyLT5zZXRTaXplKHNjcm9sbFNpemUpOwogICAgICAgICAvLyBGSVhNRTog
VGhlIHBhaW50IG9mZnNldCBhbmQgdGhlIHNjcm9sbCBvZmZzZXQgc2hvdWxkIHJlYWxseSBiZSBz
ZXBhcmF0ZSBjb25jZXB0cy4KICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXRP
ZmZzZXRGcm9tUmVuZGVyZXIoc2Nyb2xsaW5nQ29udGVudHNPZmZzZXQsIEdyYXBoaWNzTGF5ZXI6
OkRvbnRTZXROZWVkc0Rpc3BsYXkpOworCisgICAgICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikg
eworICAgICAgICAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyLT5zaXplKCkgIT0gbV9zY3JvbGxp
bmdDb250ZW50c0xheWVyLT5zaXplKCkpCisgICAgICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5
ZXItPnNldFNpemUobV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zaXplKCkpOworICAgICAgICAg
ICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworICAgICAgICAgICAgbV9m
b3JlZ3JvdW5kTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihtX3Njcm9sbGluZ0NvbnRlbnRz
TGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8v
IElmIHRoaXMgbGF5ZXIgd2FzIGNyZWF0ZWQganVzdCBmb3IgY2xpcHBpbmcgb3IgdG8gYXBwbHkg
cGVyc3BlY3RpdmUsIGl0IGRvZXNuJ3QgbmVlZCBpdHMgb3duIGJhY2tpbmcgc3RvcmUuCkBAIC0x
MjExLDcgKzEyMTgsMTAgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbGlu
Z0xheWVycyhib29sIG5lZWRzU2Nyb2xsaW5nTGF5ZXJzKQogICAgICAgICAgICAgLy8gSW5uZXIg
bGF5ZXIgd2hpY2ggcmVuZGVycyB0aGUgY29udGVudCB0aGF0IHNjcm9sbHMuCiAgICAgICAgICAg
ICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKCJTY3JvbGxl
ZCBDb250ZW50cyIpOwogICAgICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXRE
cmF3c0NvbnRlbnQodHJ1ZSk7Ci0gICAgICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIt
PnNldFBhaW50aW5nUGhhc2UoR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZCB8IEdyYXBoaWNz
TGF5ZXJQYWludE92ZXJmbG93Q29udGVudHMpOworICAgICAgICAgICAgR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2UgcGFpbnRQaGFzZSA9IEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93Q29udGVu
dHMgfCBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsOworICAgICAgICAgICAgaWYg
KCFtX2ZvcmVncm91bmRMYXllcikKKyAgICAgICAgICAgICAgICBwYWludFBoYXNlIHw9IEdyYXBo
aWNzTGF5ZXJQYWludEZvcmVncm91bmQ7CisgICAgICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRz
TGF5ZXItPnNldFBhaW50aW5nUGhhc2UocGFpbnRQaGFzZSk7CiAgICAgICAgICAgICBtX3Njcm9s
bGluZ0xheWVyLT5hZGRDaGlsZChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIuZ2V0KCkpOwogCiAg
ICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOwpAQCAtMTI4MSw4ICsxMjkxLDEwIEBAIEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRpbmdQaGFz
ZUZvclByaW1hcnlMYXllcigpIGNvCiAgICAgaWYgKCFtX21hc2tMYXllcikKICAgICAgICAgcGhh
c2UgfD0gR3JhcGhpY3NMYXllclBhaW50TWFzazsKIAotICAgIGlmIChtX3Njcm9sbGluZ0NvbnRl
bnRzTGF5ZXIpCisgICAgaWYgKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllcikgewogICAgICAgICBw
aGFzZSAmPSB+R3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZDsKKyAgICAgICAgcGhhc2UgfD0g
R3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbDsKKyAgICB9CiAKICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+KHBoYXNlKTsKIH0KQEAgLTE4
MTMsNiArMTgyNSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcihj
b25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwCiAgICAgICAgIHBhaW50Rmxh
Z3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nTWFza1BoYXNl
OwogICAgIGlmIChwYWludGluZ1BoYXNlICYgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250
ZW50cykKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50
aW5nT3ZlcmZsb3dDb250ZW50czsKKyAgICBpZiAocGFpbnRpbmdQaGFzZSAmIEdyYXBoaWNzTGF5
ZXJQYWludENvbXBvc2l0ZWRTY3JvbGwpCisgICAgICAgIHBhaW50RmxhZ3MgfD0gUmVuZGVyTGF5
ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nU2Nyb2xsaW5nUGhhc2U7CiAKICAgICBp
ZiAoZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllcikKICAgICAgICAgcGFpbnRGbGFn
cyB8PSAoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ1Jvb3RCYWNrZ3JvdW5kT25seSB8
IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFz
ZSk7IC8vIE5lZWQgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2Ug
dG8gd2FsayBjaGlsZCBsYXllcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDEyNjE0OWU2NzQzMGNiYWEyOTM4MDkxZjdi
N2NhNTAwOTU1NWQzZDIuLmNhNWFlMTEwZDAxZmQ1ZTAwMTY5NzI1ZmQwMzY3NmIyMzIxNzk4YjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCkBAIC0xMjgxLDYgKzEyODEsOCBAQCBTdHJpbmcgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpsYXllclRyZWVBc1RleHQoTGF5ZXJUcmVlRmxhZ3MgZmxhZ3MpCiAgICAgICAgIGxheWVyVHJl
ZUJlaGF2aW9yIHw9IExheWVyVHJlZUFzVGV4dEluY2x1ZGVUaWxlQ2FjaGVzOwogICAgIGlmIChm
bGFncyAmIExheWVyVHJlZUZsYWdzSW5jbHVkZVJlcGFpbnRSZWN0cykKICAgICAgICAgbGF5ZXJU
cmVlQmVoYXZpb3IgfD0gTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVJlcGFpbnRSZWN0czsKKyAgICBp
ZiAoZmxhZ3MgJiBMYXllclRyZWVGbGFnc0luY2x1ZGVQYWludGluZ1BoYXNlcykKKyAgICAgICAg
bGF5ZXJUcmVlQmVoYXZpb3IgfD0gTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVBhaW50aW5nUGhhc2Vz
OwogCiAgICAgLy8gV2Ugc2tpcCBkdW1waW5nIHRoZSBzY3JvbGwgYW5kIGNsaXAgbGF5ZXJzIHRv
IGtlZXAgbGF5ZXJUcmVlQXNUZXh0IG91dHB1dAogICAgIC8vIHNpbWlsYXIgYmV0d2VlbiBwbGF0
Zm9ybXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZDFhN2U5OTM5YTc5
YjM2NjkzODA2NGI5NDQ3MjA2ODY3NTcwYzE1ZS4uYmJmM2U1MzVlNjM2YzFhNmM4MjliNjM1YjUz
ZWUxZjI0MmVhZTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTY2
MCw2ICsxNjYwLDggQEAgU3RyaW5nIEludGVybmFsczo6bGF5ZXJUcmVlQXNUZXh0KERvY3VtZW50
KiBkb2N1bWVudCwgdW5zaWduZWQgZmxhZ3MsIEV4Y2VwdGlvbkMKICAgICAgICAgbGF5ZXJUcmVl
RmxhZ3MgfD0gTGF5ZXJUcmVlRmxhZ3NJbmNsdWRlVGlsZUNhY2hlczsKICAgICBpZiAoZmxhZ3Mg
JiBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMpCiAgICAgICAgIGxheWVyVHJlZUZs
YWdzIHw9IExheWVyVHJlZUZsYWdzSW5jbHVkZVJlcGFpbnRSZWN0czsKKyAgICBpZiAoZmxhZ3Mg
JiBMQVlFUl9UUkVFX0lOQ0xVREVTX1BBSU5USU5HX1BIQVNFUykKKyAgICAgICAgbGF5ZXJUcmVl
RmxhZ3MgfD0gTGF5ZXJUcmVlRmxhZ3NJbmNsdWRlUGFpbnRpbmdQaGFzZXM7CiAKICAgICByZXR1
cm4gZG9jdW1lbnQtPmZyYW1lKCktPmxheWVyVHJlZUFzVGV4dChsYXllclRyZWVGbGFncyk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBlZWMzODNhNWQwMzg2OTkyMDRhNDVh
OWZkZDQyMzhhZWM2MjVlNzA2Li5mMWFhNWYyZDA1ZDllNWI0OTUxNzZkYmI3OWRhOTYxNGJiYzM5
YmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTIyMSw4ICsyMjEsOCBAQCBw
dWJsaWM6CiAgICAgICAgIC8vIFZhbHVlcyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luYyB3aXRoIElu
dGVybmFscy5pZGwuCiAgICAgICAgIExBWUVSX1RSRUVfSU5DTFVERVNfVklTSUJMRV9SRUNUUyA9
IDEsCiAgICAgICAgIExBWUVSX1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMgPSAyLAotICAgICAg
ICBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMgPSA0Ci0gICAgICAgIAorICAgICAg
ICBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMgPSA0LAorICAgICAgICBMQVlFUl9U
UkVFX0lOQ0xVREVTX1BBSU5USU5HX1BIQVNFUyA9IDgKICAgICB9OwogICAgIFN0cmluZyBsYXll
clRyZWVBc1RleHQoRG9jdW1lbnQqLCB1bnNpZ25lZCBmbGFncywgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0OwogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2Rl
JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMzcyYjA5ODYy
YTYyMDY5YWY2NGY1MjA2NDZlMDU4ZDM4NmZmOWVkNS4uYWI3NmY0ZTkxYzYwYzM3Mjk3YTFlZTky
YWFlMDAzODE5Y2Q4NTk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAt
MTgwLDYgKzE4MCw3IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTEFZRVJfVFJFRV9JTkNM
VURFU19WSVNJQkxFX1JFQ1RTID0gMTsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBMQVlFUl9U
UkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTID0gMjsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBM
QVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMgPSA0OworICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IExBWUVSX1RSRUVfSU5DTFVERVNfUEFJTlRJTkdfUEhBU0VTID0gODsKICAgICBET01T
dHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBbT3B0aW9uYWxd
IHVuc2lnbmVkIHNob3J0IGZsYWdzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICBET01T
dHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTg1M2EyNWVkYjI0ZTRmNmJlODg2ZjYxMWE5NzA1
OTE0OGJiMjJmZC4uMGExZGMyNTIyZTgyOGNiMWNmNmVmYTZhZTI2MWQzODkyZTk1M2I0MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTAzLTA2ICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBwaGFzZXMgZm9yIGNvbXBvc2l0ZWQg
c2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXaXRoIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsaW5nIGNvbnRlbnRzIGxheWVy
IHBhaW50cyB0aGUgCisgICAgICAgIGZvcmVncm91bmQgYW5kIHRoZSBtYWluIGdyYXBoaWNzIGxh
eWVyIHBhaW50cyB0aGUgYmFja2dyb3VuZC4gVGhpcyAKKyAgICAgICAgY2F1c2VzIGEgZmV3IHBy
b2JsZW1zOgorCisgICAgICAgICAgMSkgSWYgd2UgY3JlYXRlIGEgZm9yZWdyb3VuZCBsYXllciwg
d2UgZW5kIHVwIHdpdGggdHdvIGxheWVycyBwYWludGluZyAKKyAgICAgICAgICAgICB0aGUgZm9y
ZWdyb3VuZCBwaGFzZS4KKyAgICAgICAgICAyKSBGb2N1cyByaW5ncyAvIG91dGxpbmVzIHBhaW50
IGludG8gdGhlIGZvcmVncm91bmQgbGF5ZXIsIHNvIHRoZXkgZW5kCisgICAgICAgICAgICAgdXAg
bW92aW5nIGFyb3VuZCB3aXRoIHRoZSBzY3JvbGxpbmcgY29udGVudHMuCisgICAgICAgICAgMykg
TmVnIHotb3JkZXIgZGVzY2VuZGFudHMgcGFpbnQgaW4gdGhlIHRoZSBtYWluIGdyYXBoaWNzIGxh
eWVyIGFuZAorICAgICAgICAgICAgIHdpbGwgdGhlcmVmb3JlIG5vdCBzY3JvbGwuCisKKyAgICAg
ICAgVG8gZGVhbCB3aXRoIDEpIHdlIG5lZWQgdG8gc3RvcCBwYWludGluZyB0aGUgZm9yZWdyb3Vu
ZCBpbnRvIGJvdGggdGhlCisgICAgICAgIGZvcmVncm91bmQgYW5kIHNjcm9sbGluZyBjb250ZW50
cyBsYXllcnMuIFdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhhdAorICAgICAgICB0aGUgZm9yZWdy
b3VuZCBsYXllciBpcyB0aGUgcmlnaHQgc2l6ZSBhbmQgaGFzIHRoZSByaWdodCBvZmZzZXQgZnJv
bQorICAgICAgICByZW5kZXJlciBpZiB3ZSdyZSBvbiB0aGUgY29tcG9zaXRlZCBzY3JvbGxpbmcg
cGF0aC4KKworICAgICAgICBUbyBkZWFsIHdpdGggMikgYW5kIDMpLCBJIGhhdmUgYWRkZWQgYSBu
ZXcgZ3JhcGhpY3MgbGF5ZXIgcGFpbnRpbmcgcGhhc2UgCisgICAgICAgIGZsYWcgLS0gR3JhcGhp
Y3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbCAtLSBhbmQgYXBwbGllZCBpdCB0byB0d28KKyAg
ICAgICAgbGF5ZXJzIGluIHRoZSBzdWJ0cmVlIGNyZWF0ZWQgYnkgUmVuZGVyTGF5ZXJCYWNraW5n
LiBUaGlzIHVsdGltYXRlbHkKKyAgICAgICAgYWZmZWN0cyB0aGUgcGFpbnQgcGhhc2UgcGFzc2Vk
IHRvIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMgYW5kCisgICAgICAgIGFsbG93cyB1
cyB0byBwYWludCB0aGUgZm9jdXMgcmluZ3MsIG91dGxpbmVzIGFuZCBuZWdhdGl2ZSB6LW9yZGVy
CisgICAgICAgIGRlc2NlbmRhbnRzIGludG8gdGhlIHByb3BlciBsYXllcnMuCisKKyAgICAgICAg
KiBjb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy9jb21w
b3NpdGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMuaHRtbDogQWRkZWQuCisgICAgICAgICAgVGhp
cyBpcyBhIHRleHQtYmFzZWQgdGVzdCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBncmFwaGljcyBsYXll
cgorICAgICAgICAgIHBhaW50aW5nIHBoYXNlcyBhcmUgY29ycmVjdCB3aXRoIGNvbXBvc2l0ZWQg
c2Nyb2xsaW5nICsgZm9yZWdyb3VuZAorICAgICAgICAgIGxheWVycy4KKyAgICAgICAgKiBjb21w
b3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Ny
b2xsaW5nLWNvbnRlbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJm
bG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRz
LWxheWVyLmh0bWw6IEFkZGVkLgorICAgICAgICAgIFRoZXNlIHRlc3RzIGNvdmVyIGNhc2VzIDIp
IGFuZCAzKSBhYm92ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICBUaGVzZSBoYXZl
IGJlZW4gdXBkYXRlZCB0byByZWZsZWN0IHRoZSBtaXNzaW5nIGJhc2VsaW5lcy4KKwogMjAxMy0w
My0wNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERGRyBEQ0Ug
bWlnaHQgZWxpbWluYXRlIGNoZWNrcyB1bnNvdW5kbHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLXBhaW50LXBoYXNlcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVk
LXNjcm9sbGluZy1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExYTVjODdl
ODA1MDRmNWRlZTlhNDkxYWQ3MDU5MWQ3OGY2NWExNTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1wYWludC1w
aGFzZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAyIEBACisoR3JhcGhpY3NMYXllcgorICAo
Ym91bmRzIDgwMC4wMCA2MDAuMDApCisgIChwYWludGluZ1BoYXNlcworICAgIEdyYXBoaWNzTGF5
ZXJQYWludEJhY2tncm91bmQKKyAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAg
R3JhcGhpY3NMYXllclBhaW50TWFzaworICApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1
ZSAxKQorICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEJh
Y2tncm91bmQKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZAorICAgICAgICBH
cmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAyOC4wMCAyMC4wMCkKKyAgICAg
ICAgICAoYm91bmRzIDIwMi4wMCAyMDIuMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQor
ICAgICAgICAgIChwYWludGluZ1BoYXNlcworICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50
QmFja2dyb3VuZAorICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50TWFzaworICAgICAgICAg
ICAgR3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbAorICAgICAgICAgICkKKyAgICAg
ICAgICAoY2hpbGRyZW4gNAorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAyMDAuMDAgMjAw
LjAwKQorICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMKKyAgICAgICAgICAgICAgICBHcmFw
aGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBh
aW50Rm9yZWdyb3VuZAorICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE1hc2sKKyAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE4NS4wMCA3MTUuMDAp
CisgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAo
cGFpbnRpbmdQaGFzZXMKKyAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50T3Zl
cmZsb3dDb250ZW50cworICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRDb21w
b3NpdGVkU2Nyb2xsCisgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAoY2hp
bGRyZW4gMgorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAg
ICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDEwLjAwKQorICAgICAgICAgICAgICAgICAgICAgIChi
b3VuZHMgODAuMDAgMTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAg
ICAgICAgICAgIChwYWludGluZ1BoYXNlcworICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhp
Y3NMYXllclBhaW50QmFja2dyb3VuZAorICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NM
YXllclBhaW50Rm9yZWdyb3VuZAorICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXll
clBhaW50TWFzaworICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAg
ICAgIChib3VuZHMgMTg1LjAwIDcxNS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3ND
b250ZW50IDEpCisgICAgICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAg
ICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICApCisgICAgICAgICAgICApCisgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24gMS4wMCAxODYu
MDApCisgICAgICAgICAgICAgIChib3VuZHMgMTg1LjAwIDE1LjAwKQorICAgICAgICAgICAgICAo
cGFpbnRpbmdQaGFzZXMKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3Jv
dW5kCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZAorICAgICAg
ICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE1hc2sKKyAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0
aW9uIDE4Ni4wMCAxLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE4NS4wMCkKKyAg
ICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXll
clBhaW50QmFja2dyb3VuZAorICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVn
cm91bmQKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgICAgIChwb3NpdGlvbiAxODYuMDAgMTg2LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1
LjAwIDE1LjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAg
IChwYWludGluZ1BoYXNlcworICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEJhY2tn
cm91bmQKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAg
ICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50TWFzaworICAgICAgICAgICAgICApCisgICAg
ICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCisp
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9z
aXRlZC1zY3JvbGxpbmctcGFpbnQtcGhhc2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNWQ0NzI1NDljMjc2NmRhOGVmZjFmMGViZDJiOTQ5ZDMzZTdhMTAzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1zY3Jv
bGxpbmctcGFpbnQtcGhhc2VzLmh0bWwKQEAgLTAsMCArMSw5NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1U
eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKyAgPHRpdGxlPkNvbXBv
c2l0ZWQgc2Nyb2xsaW5nIHBhaW50IHBoYXNlczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgLmNvbnRhaW5lciB7CisgICAgICB3aWR0aDogMjAw
cHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICAg
IG1hcmdpbjogMjBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgIH0KKwor
ICAgIC5jb21wb3NpdGVkIHsKKyAgICAgIHdpZHRoOiA4MHB4OworICAgICAgaGVpZ2h0OiAxMHB4
OworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgdG9wOiAxMHB4OworICAgICAgLXdl
YmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKKyAgICAgIHotaW5kZXg6IC0xOworICAgIH0KKworICAgIC5ub3QtY29tcG9zaXRlZCB7
CisgICAgICB3aWR0aDogODBweDsKKyAgICAgIGhlaWdodDogMjBweDsKKyAgICAgIG1hcmdpbjog
NXB4OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICB9CisgIDwvc3R5bGU+Cisg
IDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgd2luZG93LnRlc3RS
dW5uZXIuZHVtcEFzVGV4dChmYWxzZSk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zv
ck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAgIGZ1bmN0aW9uIHdyaXRlKHN0cikK
KyAgICB7CisgICAgICB2YXIgcHJlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUn
KTsKKyAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xuJyk7
CisgICAgICBwcmUuYXBwZW5kQ2hpbGQodGV4dCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZG9U
ZXN0KCkKKyAgICB7CisgICAgICB3cml0ZSh3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4
dChkb2N1bWVudCwgd2luZG93LmludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1BBSU5USU5H
X1BIQVNFUykpOworICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IAorICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgIDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBj
bGFzcz0iY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQi
PjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2
IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBv
c2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAg
ICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90
LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFz
cz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVk
Ij48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRp
diBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21w
b3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+Cisg
ICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5v
dC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9k
aXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xh
c3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRl
ZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxk
aXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29t
cG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJu
b3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwv
ZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5v
dC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWlu
dG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDEyZWFi
Yzg1NWI4ZTEyMjMzZGNmZjY5MmU5YTZlNDkwNmQ5ZThjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1j
b21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ii8+CisgIDx0
aXRsZT5Eb24ndCBkcmF3IG91dGxpbmVzIGludG8gc2Nyb2xsaW5nIGNvbnRlbnRzIGxheWVyPC90
aXRsZT4KKyAgPCEtLQorICAgIElmIHRoaXMgdGVzdCBzdWNjZWVkcywgeW91IHNob3VsZCBub3Qg
c2VlIHRoZSBmb2N1cyByaW5nIGluIHRoZSBzY3JvbGxlZAorICAgIGNvbnRlbnRzLgorICAtLT4K
KyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0
KHRydWUpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVu
YWJsZWQodHJ1ZSk7CisKKyAgICBmdW5jdGlvbiBlbmRUZXN0KCkKKyAgICB7CisgICAgICB2YXIg
dGV4dGFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dCcpOworICAgICAgdGV4dGFy
ZWEuc2Nyb2xsVG9wID0gODA7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBk
b1Rlc3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXh0Jyk7CisgICAgICB0ZXh0YXJlYS5mb2N1cygpOworICAgICAgdGV4dGFyZWEuc2Vs
ZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQgPSAwOworICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kaXNwbGF5KCk7CisgICAg
ICB3aW5kb3cuc2V0VGltZW91dChlbmRUZXN0LCAxMDApOworICAgIH0KKworICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHRleHRhcmVhIHJvd3M9IjYiIGNvbHM9IjUwIiBpZD0i
dGV4dCI+CisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNp
Y2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQg
ZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1
ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21t
b2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4g
dm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0
dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQg
aW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0u
CisKKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4
ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8g
Y29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1
cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4g
RXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBj
dWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKwor
ICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBt
YWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNp
dGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25z
ZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0
ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNl
cHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBh
IHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICA8L3Rl
eHRhcmVhPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9s
bGluZy1jb250ZW50cy1sYXllci5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMt
bGF5ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjYxMWJiNjU0MGVkNWVlNjE2NjE1MGNkNjJiMDU5NzJi
MTc2NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMt
bGF5ZXIuaHRtbApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9
ImVuIj4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgorICA8dGl0bGU+UGFpbnQgbmVnIHotb3JkZXIg
ZGVzY2VuZGFudHMgaW50byB0aGUgY29tcG9zaXRlZCBzY3JvbGxpbmcgbGF5ZXI8L3RpdGxlPgor
ICA8c3R5bGU+CisgICAgLnNjcm9sbGFibGUgeworICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAg
ICB9CisKKyAgICAuc2Nyb2xsZWQgeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAg
ei1pbmRleDogLTE7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgICB0b3A6IDEwcHg7CisgICAgICBsZWZ0OiAxMHB4OworICAgICAgd2lk
dGg6IDIwMHB4OworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgIGJvcmRlcjogMXB4IGJsYWNr
IHNvbGlkOworICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB3
aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworCisgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisKKyAgICBmdW5jdGlvbiBl
bmRUZXN0KCkKKyAgICB7CisgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY29udGFpbmVyJyk7CisgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSA0MDsKKyAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgICAgd2luZG93LnRlc3RSdW5uZXIuZGlzcGxheSgpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworICAgICAgdGV4dGFyZWEuZm9jdXMoKTsKKyAg
ICAgIHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kID0gMDsK
KyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
ZGlzcGxheSgpOworICAgICAgd2luZG93LnNldFRpbWVvdXQoZW5kVGVzdCwgMTAwKTsKKyAgICB9
CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOwor
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xhc3M9InNjcm9s
bGFibGUiIGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVkIj4KKyAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
YWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlv
biB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0
LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVs
aXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVy
IHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkg
b2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGNsYXNzPSJzY3JvbGxlZCI+CisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5p
bSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kg
dXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9y
IGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBl
dSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRh
dCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0
IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xs
ZWQiPgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNp
bmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRv
bG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQg
ZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9k
byBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZv
bHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVy
LiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGlu
IGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgor
ICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTFhZGU1NDUyMGI2ODNm
NjU3MjYzNTNjMTU4NTg3MjAyNjA2YWQzZS4uNDQxODAzYjg0YzU4Njk2NTU4ODBkNDI2OWVhNGRk
MDJiOTk4ZGYwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yODY4LDYgKzI4NjgsMTcgQEAgY3JidWcuY29tLzg4NTg4IGZhc3QvbGlz
dHMvaW5saW5lQm94V3JhcHBlck51bGxDaGVjay5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGNyYnVn
LmNvbS84ODg5NCBodHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLWV4cGlyYXRpb24tMS5odG1s
IFsgUGFzcyBTbG93IF0KIGNyYnVnLmNvbS84ODg5NCBodHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291
cmNlLWV4cGlyYXRpb24tMi5odG1sIFsgUGFzcyBTbG93IF0KIAorIyBUaGUgZm9sbG93aW5nIGFy
ZSBtaXNzaW5nIGJhc2VsaW5lcy4KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvY29tcG9zaXRlZHNjcm9sbGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQt
b3V0bGluZS1pbnRvLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBNaXNzaW5n
IF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2Fy
ZWNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRl
ZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9yZy9iLzEwNzkz
NSBjb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNvbXBvc2l0
ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5
MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvY29tcG9zaXRlZHNjcm9sbGluZy9vdmVy
Zmxvdy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50
cy1sYXllci5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IHBsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1v
cmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1sIFsgTWlz
c2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5l
Zy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwg
WyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9ncHUvY29tcG9zaXRlZHNjcm9sbGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1j
cmVhdGVzLWEtc3RhY2tpbmctY29udGFpbmVyLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1zY3JvbGxpbmctY3JlYXRl
cy1hLXN0YWNraW5nLWNvbnRhaW5lci5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA3
OTM1IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxv
dy9jb21wb3NpdGVkLXNjcm9sbGluZy1jcmVhdGVzLWEtc3RhY2tpbmctY29udGFpbmVyLmh0bWwg
WyBGYWlsdXJlIF0KKwogIyBWOCBub3cgZm9sbG93cyBzcGVjIG9uIHRvaXNvc3RyaW5nLCB0ZXN0
IG5lZWRzIHRvIGJlIGZpeGVkLgogY3JidWcuY29tLzg4OTM2IGZhc3QvanMvZGF0ZS10b2lzb3N0
cmluZy5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YTA2Y2IzYTQzNTM2ZjVhODk1OGE2YjYzZjVjYjAxMTgz
ZTM2MDAzLi5iZDExYjJlZWExMTM1M2NkNGNmNmVjOGQ4MmVjZmFjM2ZkN2MyN2VjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yOTIsNiAr
MjkyLDEwIEBAIHdlYmtpdC5vcmcvYi8xMDU5OTggWyBNb3VudGFpbkxpb24gRGVidWcgXSBmYXN0
L2Nzcy9zdGlja3kvc3RpY2t5LWJvdGgtc2lkZXMuaHRtCiAKIHdlYmtpdC5vcmcvYi85MzU1MiBp
bnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MuaHRtbCBbIEZhaWx1cmUgXQogCit3
ZWJraXQub3JnL2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRs
aW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQor
d2Via2l0Lm9yZy9iLzEwNzkzNSBjb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRl
ci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1sIFsgTWlzc2lu
ZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0ZWQt
c2Nyb2xsaW5nLWNyZWF0ZXMtYS1zdGFja2luZy1jb250YWluZXIuaHRtbCBbIEZhaWx1cmUgXQor
CiB3ZWJraXQub3JnL2IvMTA2NDA1IGh0dHAvdGVzdHMvbG9hZGluZy9hdXRoZW50aWNhdGlvbi1h
ZnRlci1yZWRpcmVjdC1zdG9yZXMtd3JvbmctY3JlZGVudGlhbHMvYXV0aGVudGljYXRpb24tYWZ0
ZXItcmVkaXJlY3Qtc3RvcmVzLXdyb25nLWNyZWRlbnRpYWxzLmh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8xMDY0MDUgaHR0cC90ZXN0cy9sb2FkaW5nL2Jhc2ljLWF1dGgtcmVzZW5kLXdy
b25nLWNyZWRlbnRpYWxzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDY0MDUgaHR0
cC90ZXN0cy9sb2FkaW5nL2Jhc2ljLWNyZWRlbnRpYWxzLXNlbnQtYXV0b21hdGljYWxseS5odG1s
IFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGQzODk5ZmZmYTI4ZmVkNGIxOWM3YTM5NzE3YWE3YWZmOGJhNTlmOTQuLjg4ZTIzOGNlZjBj
OTcxYWY1NzUxOWNiYjllOWZiY2YwNzM4ZDc1NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCkBAIC03NTMsNiArNzUzLDEyIEBAIGZhc3Qvc3ViLXBpeGVsL3pv
b21lZC1pbWFnZS10aWxlcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAjIE5lZWRzIHJlYmFz
ZWxpbmUKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbCBbIEZh
aWx1cmUgXQogCisjIE5lZWRzIHJlYmFzZWxpbmUgYWZ0ZXIgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNzYxOAorIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA3OTUyCitjb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1uZWctei1vcmRl
ci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1sIFsgTWlzc2lu
ZyBdCitjb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1jcmVhdGVzLWEt
c3RhY2tpbmctY29udGFpbmVyLmh0bWwgWyBNaXNzaW5nIF0KK2NvbXBvc2l0aW5nL292ZXJmbG93
L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMu
aHRtbCBbIEZhaWx1cmUgXQorCiAjIE5vIENPUlMgc3VwcG9ydCBmb3IgbWVkaWEgZWxlbWVudHMg
aXMgaW1wbGVtZW50ZWQgeWV0LgogaHR0cC90ZXN0cy9zZWN1cml0eS92aWRlby1jcm9zcy1vcmln
aW4tcmVhZGJhY2suaHRtbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191913</attachid>
            <date>2013-03-06 21:28:04 -0800</date>
            <delta_ts>2013-03-07 06:03:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107618-20130307002409.patch</filename>
            <type>text/plain</type>
            <size>43202</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU2MWM1MzYwNzViZmUz
NTVjODZjMzVlY2I3ZDYxM2Y4N2MxMDNmMy4uMTk5NTA3ZDY0ZWM2ZWExOTFmYzk5NGQwNDEyMTk0
Y2I5OWVkZTE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEzLTAzLTA2ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBw
aGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgV2l0aCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIHNjcm9s
bGluZyBjb250ZW50cyBsYXllciBwYWludHMgdGhlIAorICAgICAgICBmb3JlZ3JvdW5kIGFuZCB0
aGUgbWFpbiBncmFwaGljcyBsYXllciBwYWludHMgdGhlIGJhY2tncm91bmQuIFRoaXMgCisgICAg
ICAgIGNhdXNlcyBhIGZldyBwcm9ibGVtczoKKworICAgICAgICAgIDEpIElmIHdlIGNyZWF0ZSBh
IGZvcmVncm91bmQgbGF5ZXIsIHdlIGVuZCB1cCB3aXRoIHR3byBsYXllcnMgcGFpbnRpbmcgCisg
ICAgICAgICAgICAgdGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAgMikgRm9jdXMgcmlu
Z3MgLyBvdXRsaW5lcyBwYWludCBpbnRvIHRoZSBmb3JlZ3JvdW5kIGxheWVyLCBzbyB0aGV5IGVu
ZAorICAgICAgICAgICAgIHVwIG1vdmluZyBhcm91bmQgd2l0aCB0aGUgc2Nyb2xsaW5nIGNvbnRl
bnRzLgorICAgICAgICAgIDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0
aGUgbWFpbiBncmFwaGljcyBsYXllciBhbmQKKyAgICAgICAgICAgICB3aWxsIHRoZXJlZm9yZSBu
b3Qgc2Nyb2xsLgorCisgICAgICAgIFRvIGRlYWwgd2l0aCAxKSB3ZSBuZWVkIHRvIHN0b3AgcGFp
bnRpbmcgdGhlIGZvcmVncm91bmQgaW50byBib3RoIHRoZQorICAgICAgICBmb3JlZ3JvdW5kIGFu
ZCBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXJzLiBXZSBhbHNvIG5lZWQgdG8gZW5zdXJlIHRoYXQK
KyAgICAgICAgdGhlIGZvcmVncm91bmQgbGF5ZXIgaXMgdGhlIHJpZ2h0IHNpemUgYW5kIGhhcyB0
aGUgcmlnaHQgb2Zmc2V0IGZyb20KKyAgICAgICAgcmVuZGVyZXIgaWYgd2UncmUgb24gdGhlIGNv
bXBvc2l0ZWQgc2Nyb2xsaW5nIHBhdGguCisKKyAgICAgICAgVG8gZGVhbCB3aXRoIDIpIGFuZCAz
KSwgSSBoYXZlIGFkZGVkIGEgbmV3IGdyYXBoaWNzIGxheWVyIHBhaW50aW5nIHBoYXNlIAorICAg
ICAgICBmbGFnIC0tIEdyYXBoaWNzTGF5ZXJQYWludENvbXBvc2l0ZWRTY3JvbGwgLS0gYW5kIGFw
cGxpZWQgaXQgdG8gdHdvCisgICAgICAgIGxheWVycyBpbiB0aGUgc3VidHJlZSBjcmVhdGVkIGJ5
IFJlbmRlckxheWVyQmFja2luZy4gVGhpcyB1bHRpbWF0ZWx5CisgICAgICAgIGFmZmVjdHMgdGhl
IHBhaW50IHBoYXNlIHBhc3NlZCB0byBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzIGFu
ZAorICAgICAgICBhbGxvd3MgdXMgdG8gcGFpbnQgdGhlIGZvY3VzIHJpbmdzLCBvdXRsaW5lcyBh
bmQgbmVnYXRpdmUgei1vcmRlcgorICAgICAgICBkZXNjZW5kYW50cyBpbnRvIHRoZSBwcm9wZXIg
bGF5ZXJzLgorCisgICAgICAgIFRlc3RzOiBjb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVk
LXNjcm9sbGluZy1wYWludC1waGFzZXMuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcv
b3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1j
b250ZW50cy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9vdmVyZmxvdy9wYWludC1u
ZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1sYXllci5odG1s
CisKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICAgQWRkZWQgYSBmbGFnIGZvciBp
bmNsdWRpbmcgcGFpbnRpbmcgcGhhc2VzIGluIHRoZSBsYXllciB0cmVlIGR1bXAuCisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpkdW1wUHJvcGVydGllcyk6CisgICAgICAgICAgQ2Fu
IG5vdyBkdW1wIHBhaW50aW5nIHBoYXNlIGluZm9ybWF0aW9uLCBidXQgb25seSBpZiByZXF1ZXN0
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oOgor
ICAgICAgICAgIEFkZGVkIGEgbmV3IGVudHJ5IHRvIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
RmxhZ3MgZm9yIGNvbXAtc2Nyb2xsLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBh
aW50TGF5ZXJDb250ZW50cyk6CisgICAgICAgICAgVXBkYXRlZCB0aGUgbG9naWMgdG8gYWNjb3Vu
dCBmb3IgdGhlIG5ldyBjb21wLXNjcm9sbC1yZWxhdGVkIHBhaW50CisgICAgICAgICAgcGhhc2Ug
ZmxhZy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgICBBZGRl
ZCB0aGUgUmVuZGVyTGF5ZXIgcGFpbnRpbmcgcGhhc2UgY291bnRlcnBhcnQgdG8KKyAgICAgICAg
ICBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgorICAgICAgICAgIEVuc3VyZXMg
dGhhdCB0aGUgZm9yZWdyb3VuZCBsYXllciBpcyBzaXplZCBjb3JyZWN0bHkgZm9yIGNvbXAtc2Ny
b2xsLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVTY3JvbGxp
bmdMYXllcnMpOgorICAgICAgICAgIElmIHdlIGhhdmUgYSBmb3JlZ3JvdW5kIGxheWVyLCB0aGUg
c2Nyb2xsaW5nIGNvbnRlbnRzIGxheWVyIG5vCisgICAgICAgICAgbG9uZ2VyIGdldHMgYXNzaWdu
ZWQgdGhlIGZvcmVncm91bmQgcGFpbnRpbmcgcGhhc2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnBhaW50aW5nUGhhc2VGb3JQcmltYXJ5TGF5ZXIpOgorICAgICAgICAg
IElmIHdlJ3JlIGNvbXAtc2Nyb2xsaW5nLCB0aGVuIHRoZSBwcmltYXJ5IGxheWVyIGdldHMgdGhl
IG5ldyBwaGFzZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJ
bnRvTGF5ZXIpOgorICAgICAgICAgIFNpbXBseSB0cmFuc2xhdGVzIHRoZSBuZXcgZ3JhcGhpY3Mg
bGF5ZXIgcGFpbnRpbmcgcGhhc2UgdG8gaXRzCisgICAgICAgICAgcmVuZGVyIGxheWVyIGNvdW50
ZXJwYXJ0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRy
ZWVBc1RleHQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6bGF5ZXJUcmVlQXNUZXh0KToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgICBU
aGUgYWJvdmUgY2hhbmdlcyBhcmUgc29sZWx5IHBsdW1iaW5nIHRvIGFsbG93IGxheW91dCB0ZXN0
cyB0bworICAgICAgICAgIHJlcXVlc3QgdGhhdCBwYWludCBwaGFzZSBpbmZvcm1hdGlvbiBiZSBp
bmNsdWRlZCBpbiB0aGUgbGF5ZXIgdHJlZQorICAgICAgICAgIGR1bXAuCisKIDIwMTMtMDMtMDYg
IEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NT
UyBHcmlkIExheW91dF0gRXh0ZW5kIG91ciBncmFtbWFyIHRvIHN1cHBvcnQgMiBwb3NpdGlvbnMg
Zm9yIGdyaWQte3Jvd3xjb2x1bW59CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggNzA1M2ViMjQwOTg3NzE4
MDdmOGM0NDlmZmRjODA4NjI1NzYzNTk3ZS4uM2Q5MDliNTk1YmM5NDk1NDk3MjRkY2YxZTBlMDU5
MTVhZmY1NDlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtODAsNyArODAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIExheWVyVHJlZUZsYWdzSW5jbHVkZURlYnVnSW5mbyA9IDEgPDwg
MCwKICAgICAgICAgTGF5ZXJUcmVlRmxhZ3NJbmNsdWRlVmlzaWJsZVJlY3RzID0gMSA8PCAxLAog
ICAgICAgICBMYXllclRyZWVGbGFnc0luY2x1ZGVUaWxlQ2FjaGVzID0gMSA8PCAyLAotICAgICAg
ICBMYXllclRyZWVGbGFnc0luY2x1ZGVSZXBhaW50UmVjdHMgPSAxIDw8IDMKKyAgICAgICAgTGF5
ZXJUcmVlRmxhZ3NJbmNsdWRlUmVwYWludFJlY3RzID0gMSA8PCAzLAorICAgICAgICBMYXllclRy
ZWVGbGFnc0luY2x1ZGVQYWludGluZ1BoYXNlcyA9IDEgPDwgNAogICAgIH07CiAgICAgdHlwZWRl
ZiB1bnNpZ25lZCBMYXllclRyZWVGbGFnczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAppbmRleCAyMjk0ZTUyM2RjNzMzZWQzZDAz
MjhiMmYzODg1MzRlOTM5YTkzMjBlLi5jYmI5ODJiY2U3YThkZDg4YWZlY2I2MzcxNGRlN2IxMDBk
YmU5YTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmNwcApAQCAtNzA0LDcgKzcwNCwzNCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OmR1
bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBpbnQgaW5kZW50LCBMYXllclRyZWVBc1RleHRC
ZQogICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7CiAgICAgICAgIHRzIDw8ICIp
XG4iOwogICAgIH0KLSAgICAKKworICAgIGlmIChiZWhhdmlvciAmIExheWVyVHJlZUFzVGV4dElu
Y2x1ZGVQYWludGluZ1BoYXNlcyAmJiBwYWludGluZ1BoYXNlKCkpIHsKKyAgICAgICAgd3JpdGVJ
bmRlbnQodHMsIGluZGVudCArIDEpOworICAgICAgICB0cyA8PCAiKHBhaW50aW5nUGhhc2VzXG4i
OworICAgICAgICBpZiAocGFpbnRpbmdQaGFzZSgpICYgR3JhcGhpY3NMYXllclBhaW50QmFja2dy
b3VuZCkgeworICAgICAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDIpOworICAgICAg
ICAgICAgdHMgPDwgIkdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmRcbiI7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKHBhaW50aW5nUGhhc2UoKSAmIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91
bmQpIHsKKyAgICAgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAyKTsKKyAgICAgICAg
ICAgIHRzIDw8ICJHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kXG4iOworICAgICAgICB9Cisg
ICAgICAgIGlmIChwYWludGluZ1BoYXNlKCkgJiBHcmFwaGljc0xheWVyUGFpbnRNYXNrKSB7Cisg
ICAgICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMik7CisgICAgICAgICAgICB0cyA8
PCAiR3JhcGhpY3NMYXllclBhaW50TWFza1xuIjsKKyAgICAgICAgfQorICAgICAgICBpZiAocGFp
bnRpbmdQaGFzZSgpICYgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50cykgeworICAg
ICAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDIpOworICAgICAgICAgICAgdHMgPDwg
IkdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93Q29udGVudHNcbiI7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKHBhaW50aW5nUGhhc2UoKSAmIEdyYXBoaWNzTGF5ZXJQYWludENvbXBvc2l0ZWRTY3Jv
bGwpIHsKKyAgICAgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAyKTsKKyAgICAgICAg
ICAgIHRzIDw8ICJHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsXG4iOworICAgICAg
ICB9CisgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKKyAgICAgICAgdHMgPDwg
IilcbiI7CisgICAgfQorCiAgICAgZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKHRzLCBpbmRlbnQs
IGJlaGF2aW9yKTsKICAgICAKICAgICBpZiAobV9jaGlsZHJlbi5zaXplKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA0MmQ2
YzkxMGQxMmVhYWRmM2FiYWMzNWNiYjE2MTg1NGQwNmRjZWU5Li5mZGY4NzY2OWJjMTlkODRkYmEx
NWVhNTM1Zjc2Y2RiYWI4Zjc1MDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC00OSw3ICs0OSw4IEBAIGVudW0gTGF5ZXJUcmVl
QXNUZXh0QmVoYXZpb3JGbGFncyB7CiAgICAgTGF5ZXJUcmVlQXNUZXh0RGVidWcgPSAxIDw8IDAs
IC8vIER1bXAgZXh0cmEgZGVidWdnaW5nIGluZm8gbGlrZSBsYXllciBhZGRyZXNzZXMuCiAgICAg
TGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVZpc2libGVSZWN0cyA9IDEgPDwgMSwKICAgICBMYXllclRy
ZWVBc1RleHRJbmNsdWRlVGlsZUNhY2hlcyA9IDEgPDwgMiwKLSAgICBMYXllclRyZWVBc1RleHRJ
bmNsdWRlUmVwYWludFJlY3RzID0gMSA8PCAzCisgICAgTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVJl
cGFpbnRSZWN0cyA9IDEgPDwgMywKKyAgICBMYXllclRyZWVBc1RleHRJbmNsdWRlUGFpbnRpbmdQ
aGFzZXMgPSAxIDw8IDQKIH07CiB0eXBlZGVmIHVuc2lnbmVkIExheWVyVHJlZUFzVGV4dEJlaGF2
aW9yOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyQ2xpZW50LmgKaW5kZXggM2Y4YzUxZDU4YmUwMTY3ZDc3ZjQwMGYwYjk4YTY3NzIz
MzMxNmE0My4uMWU5ZDI5NmVlNWMyN2Q1OTBmNjM2MTA2ZmMyMDE5NTc4YjExYzIzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJD
bGllbnQuaApAQCAtNDIsNiArNDIsNyBAQCBlbnVtIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
RmxhZ3MgewogICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQgPSAoMSA8PCAxKSwKICAg
ICBHcmFwaGljc0xheWVyUGFpbnRNYXNrID0gKDEgPDwgMiksCiAgICAgR3JhcGhpY3NMYXllclBh
aW50T3ZlcmZsb3dDb250ZW50cyA9ICgxIDw8IDMpLAorICAgIEdyYXBoaWNzTGF5ZXJQYWludENv
bXBvc2l0ZWRTY3JvbGwgPSAoMSA8PCA0KSwKICAgICBHcmFwaGljc0xheWVyUGFpbnRBbGxXaXRo
T3ZlcmZsb3dDbGlwID0gKEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQgfCBHcmFwaGljc0xh
eWVyUGFpbnRGb3JlZ3JvdW5kIHwgR3JhcGhpY3NMYXllclBhaW50TWFzaykKIH07CiB0eXBlZGVm
IHVuc2lnbmVkIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNTFkMjQ0M2Q4YzJmYzYyNjYzNzI0YzUzM2I1NjVm
MmE0OTY3ZTU5Ni4uNTEzNGRmYmE5NDkwOWJkYjE3ZjIxZmMwZDI1YmFmNGNkMDEzM2M0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNjUyLDggKzM2NTIs
MTkgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKICAgICBib29sIGhhdmVUcmFuc3BhcmVuY3kg
PSBsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVySGF2ZVRyYW5zcGFyZW5jeTsKICAgICBib29s
IGlzU2VsZlBhaW50aW5nTGF5ZXIgPSB0aGlzLT5pc1NlbGZQYWludGluZ0xheWVyKCk7CiAgICAg
Ym9vbCBpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgPSBwYWludEZsYWdzICYgUGFpbnRMYXll
clBhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnM7Ci0gICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMg
dG8gYmUgcGFpbnRlZCBldmVuIGlmIHdlIGhhdmUgbm8gdmlzaWJsZSBjb250ZW50LgotICAgIGJv
b2wgc2hvdWxkUGFpbnRPdXRsaW5lID0gaXNTZWxmUGFpbnRpbmdMYXllciAmJiAhaXNQYWludGlu
Z092ZXJsYXlTY3JvbGxiYXJzOworICAgIGJvb2wgaXNQYWludGluZ1Njcm9sbGluZ0NvbnRlbnQg
PSBwYWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdTY3JvbGxpbmdQaGFz
ZTsKKyAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdyb3VuZCA9IHBhaW50RmxhZ3Mg
JiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZTsKKyAgICBib29s
IGlzUGFpbnRpbmdDb21wb3NpdGVkQmFja2dyb3VuZCA9IHBhaW50RmxhZ3MgJiBQYWludExheWVy
UGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZTsKKyAgICBib29sIGlzUGFpbnRpbmdP
dmVyZmxvd0NvbnRlbnRzID0gcGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ092ZXJmbG93
Q29udGVudHM7CisgICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVu
IGlmIHdlIGhhdmUgbm8gdmlzaWJsZSBjb250ZW50LiBBbHNvLAorICAgIC8vIHRoZSBvdXRsaW5l
IGlzIHBhaW50ZWQgaW4gdGhlIGJhY2tncm91bmQgcGhhc2UgZHVyaW5nIGNvbXBvc2l0ZWQgc2Ny
b2xsaW5nLgorICAgIC8vIElmIGl0IHdlcmUgcGFpbnRlZCBpbiB0aGUgZm9yZWdyb3VuZCBwaGFz
ZSwgaXQgd291bGQgbW92ZSB3aXRoIHRoZSBzY3JvbGxlZAorICAgIC8vIGNvbnRlbnQuIFdoZW4g
bm90IGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB0aGUgb3V0bGluZSBpcyBwYWludGVkIGluIHRoZQor
ICAgIC8vIGZvcmVncm91bmQgcGhhc2UuIFNpbmNlIHNjcm9sbGVkIGNvbnRlbnRzIGFyZSBtb3Zl
ZCBieSByZXBhaW50aW5nIGluIHRoaXMKKyAgICAvLyBjYXNlLCB0aGUgb3V0bGluZSB3b24ndCBn
ZXQgJ2RyYWdnZWQgYWxvbmcnLgorICAgIGJvb2wgc2hvdWxkUGFpbnRPdXRsaW5lID0gaXNTZWxm
UGFpbnRpbmdMYXllciAmJiAhaXNQYWludGluZ092ZXJsYXlTY3JvbGxiYXJzCisgICAgICAgICYm
ICgoaXNQYWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNr
Z3JvdW5kKQorICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFp
bnRpbmdDb21wb3NpdGVkRm9yZWdyb3VuZCkpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50
ID0gbV9oYXNWaXNpYmxlQ29udGVudCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50
aW5nT3ZlcmxheVNjcm9sbGJhcnM7CiAKICAgICBHcmFwaGljc0NvbnRleHQqIHRyYW5zcGFyZW5j
eUxheWVyQ29udGV4dCA9IGNvbnRleHQ7CkBAIC0zNzkyLDI4ICszODAzLDMxIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IExheWVyUGFpbnRpCiAgICAgICAgIC8vIGZyYWdtZW50IHNob3VsZCBwYWludC4KICAgICAg
ICAgY29sbGVjdEZyYWdtZW50cyhsYXllckZyYWdtZW50cywgbG9jYWxQYWludGluZ0luZm8ucm9v
dExheWVyLCBsb2NhbFBhaW50aW5nSW5mby5yZWdpb24sIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50
RGlydHlSZWN0LAogICAgICAgICAgICAgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJUZW1w
b3JhcnlDbGlwUmVjdHMpID8gVGVtcG9yYXJ5Q2xpcFJlY3RzIDogUGFpbnRpbmdDbGlwUmVjdHMs
IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplLAotICAgICAgICAgICAgKGxvY2FsUGFpbnRGbGFn
cyAmIFBhaW50TGF5ZXJQYWludGluZ092ZXJmbG93Q29udGVudHMpID8gSWdub3JlT3ZlcmZsb3dD
bGlwIDogUmVzcGVjdE92ZXJmbG93Q2xpcCwgJm9mZnNldEZyb21Sb290KTsKKyAgICAgICAgICAg
IChpc1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cykgPyBJZ25vcmVPdmVyZmxvd0NsaXAgOiBSZXNw
ZWN0T3ZlcmZsb3dDbGlwLCAmb2Zmc2V0RnJvbVJvb3QpOwogICAgICAgICB1cGRhdGVQYWludGlu
Z0luZm9Gb3JGcmFnbWVudHMobGF5ZXJGcmFnbWVudHMsIGxvY2FsUGFpbnRpbmdJbmZvLCBsb2Nh
bFBhaW50RmxhZ3MsIHNob3VsZFBhaW50Q29udGVudCwgJm9mZnNldEZyb21Sb290KTsKICAgICB9
CiAgICAgCi0gICAgaWYgKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBv
c2l0aW5nQmFja2dyb3VuZFBoYXNlKSB7CisgICAgaWYgKGlzUGFpbnRpbmdDb21wb3NpdGVkQmFj
a2dyb3VuZCkgewogICAgICAgICAvLyBQYWludCBvbmx5IHRoZSBiYWNrZ3JvdW5kcyBmb3IgYWxs
IG9mIHRoZSBmcmFnbWVudHMgb2YgdGhlIGxheWVyLgogICAgICAgICBpZiAoc2hvdWxkUGFpbnRD
b250ZW50ICYmICFzZWxlY3Rpb25Pbmx5KQogICAgICAgICAgICAgcGFpbnRCYWNrZ3JvdW5kRm9y
RnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCBjb250ZXh0LCB0cmFuc3BhcmVuY3lMYXllckNvbnRl
eHQsIHBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwgaGF2ZVRyYW5zcGFyZW5jeSwKICAgICAg
ICAgICAgICAgICBsb2NhbFBhaW50aW5nSW5mbywgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdSb290
Rm9yUmVuZGVyZXIpOworICAgIH0KIAotICAgICAgICAvLyBOb3cgd2FsayB0aGUgc29ydGVkIGxp
c3Qgb2YgY2hpbGRyZW4gd2l0aCBuZWdhdGl2ZSB6LWluZGljZXMuCisgICAgLy8gTm93IHdhbGsg
dGhlIHNvcnRlZCBsaXN0IG9mIGNoaWxkcmVuIHdpdGggbmVnYXRpdmUgei1pbmRpY2VzLgorICAg
IGlmICgoaXNQYWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ092ZXJmbG93Q29u
dGVudHMpIHx8ICghaXNQYWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBv
c2l0ZWRCYWNrZ3JvdW5kKSkKICAgICAgICAgcGFpbnRMaXN0KG5lZ1pPcmRlckxpc3QoKSwgY29u
dGV4dCwgbG9jYWxQYWludGluZ0luZm8sIGxvY2FsUGFpbnRGbGFncyk7Ci0gICAgfQogICAgIAot
ICAgIGlmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0Zv
cmVncm91bmRQaGFzZSkgeworICAgIGlmIChpc1BhaW50aW5nQ29tcG9zaXRlZEZvcmVncm91bmQp
IHsKICAgICAgICAgaWYgKHNob3VsZFBhaW50Q29udGVudCkKICAgICAgICAgICAgIHBhaW50Rm9y
ZWdyb3VuZEZvckZyYWdtZW50cyhsYXllckZyYWdtZW50cywgY29udGV4dCwgdHJhbnNwYXJlbmN5
TGF5ZXJDb250ZXh0LCBwYWludGluZ0luZm8ucGFpbnREaXJ0eVJlY3QsIGhhdmVUcmFuc3BhcmVu
Y3ksCiAgICAgICAgICAgICAgICAgbG9jYWxQYWludGluZ0luZm8sIHBhaW50QmVoYXZpb3IsIHBh
aW50aW5nUm9vdEZvclJlbmRlcmVyLCBzZWxlY3Rpb25Pbmx5LCBmb3JjZUJsYWNrVGV4dCk7Ci0g
ICAgICAgIAotICAgICAgICBpZiAoc2hvdWxkUGFpbnRPdXRsaW5lKQotICAgICAgICAgICAgcGFp
bnRPdXRsaW5lRm9yRnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCBjb250ZXh0LCBsb2NhbFBhaW50
aW5nSW5mbywgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdSb290Rm9yUmVuZGVyZXIpOworICAgIH0K
KworICAgIGlmIChzaG91bGRQYWludE91dGxpbmUpCisgICAgICAgIHBhaW50T3V0bGluZUZvckZy
YWdtZW50cyhsYXllckZyYWdtZW50cywgY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8sIHBhaW50
QmVoYXZpb3IsIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyKTsKIAorICAgIGlmIChpc1BhaW50aW5n
Q29tcG9zaXRlZEZvcmVncm91bmQpIHsKICAgICAgICAgLy8gUGFpbnQgYW55IGNoaWxkIGxheWVy
cyB0aGF0IGhhdmUgb3ZlcmZsb3cuCiAgICAgICAgIHBhaW50TGlzdChtX25vcm1hbEZsb3dMaXN0
LmdldCgpLCBjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mbywgbG9jYWxQYWludEZsYWdzKTsKICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggY2NiNjU4ZWNlZTYy
ZDQ5ODBjYzc2MDZlZDRlOGNhYzE1ZDIzM2QwMC4uOGRjODk5OWMyMjNhYzkxYjVlNjY5YzA2NGUz
ODJjYWZlM2UyMzdjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAg
LTYxMyw5ICs2MTMsMTAgQEAgcHVibGljOgogICAgICAgICBQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0JhY2tncm91bmRQaGFzZSA9IDEgPDwgNSwKICAgICAgICAgUGFpbnRMYXllclBhaW50
aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UgPSAxIDw8IDYsCiAgICAgICAgIFBhaW50TGF5
ZXJQYWludGluZ0NvbXBvc2l0aW5nTWFza1BoYXNlID0gMSA8PCA3LAotICAgICAgICBQYWludExh
eWVyUGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRzID0gMSA8PCA4LAotICAgICAgICBQYWludExheWVy
UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHkgPSAxIDw8IDksCi0gICAgICAgIFBhaW50TGF5ZXJQ
YWludGluZ1NraXBSb290QmFja2dyb3VuZCA9IDEgPDwgMTAsCisgICAgICAgIFBhaW50TGF5ZXJQ
YWludGluZ0NvbXBvc2l0aW5nU2Nyb2xsaW5nUGhhc2UgPSAxIDw8IDgsCisgICAgICAgIFBhaW50
TGF5ZXJQYWludGluZ092ZXJmbG93Q29udGVudHMgPSAxIDw8IDksCisgICAgICAgIFBhaW50TGF5
ZXJQYWludGluZ1Jvb3RCYWNrZ3JvdW5kT25seSA9IDEgPDwgMTAsCisgICAgICAgIFBhaW50TGF5
ZXJQYWludGluZ1NraXBSb290QmFja2dyb3VuZCA9IDEgPDwgMTEsCiAgICAgICAgIFBhaW50TGF5
ZXJQYWludGluZ0NvbXBvc2l0aW5nQWxsUGhhc2VzID0gKFBhaW50TGF5ZXJQYWludGluZ0NvbXBv
c2l0aW5nQmFja2dyb3VuZFBoYXNlIHwgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3Jl
Z3JvdW5kUGhhc2UgfCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFzZSkKICAg
ICB9OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAppbmRleCBiMzY0YTA2MGQ4MTQ0ZWMzN2E0ZmVhYjZiOTlhZDhjNzg0MmQ1OTA4Li5j
MjUzYTU5NjA3MGY4NmEwNTM1MjQ3ZWEzZWQ1ZDI1ODliZGU1MjBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtODEzLDYgKzgxMywx
MyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5
KCkKICAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zZXRTaXplKHNjcm9sbFNpemUp
OwogICAgICAgICAvLyBGSVhNRTogVGhlIHBhaW50IG9mZnNldCBhbmQgdGhlIHNjcm9sbCBvZmZz
ZXQgc2hvdWxkIHJlYWxseSBiZSBzZXBhcmF0ZSBjb25jZXB0cy4KICAgICAgICAgbV9zY3JvbGxp
bmdDb250ZW50c0xheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIoc2Nyb2xsaW5nQ29udGVudHNP
ZmZzZXQsIEdyYXBoaWNzTGF5ZXI6OkRvbnRTZXROZWVkc0Rpc3BsYXkpOworCisgICAgICAgIGlm
IChtX2ZvcmVncm91bmRMYXllcikgeworICAgICAgICAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVy
LT5zaXplKCkgIT0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLT5zaXplKCkpCisgICAgICAgICAg
ICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFNpemUobV9zY3JvbGxpbmdDb250ZW50c0xheWVy
LT5zaXplKCkpOworICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE5lZWRzRGlzcGxh
eSgpOworICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJl
cihtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsKKyAgICAg
ICAgfQogICAgIH0KIAogICAgIC8vIElmIHRoaXMgbGF5ZXIgd2FzIGNyZWF0ZWQganVzdCBmb3Ig
Y2xpcHBpbmcgb3IgdG8gYXBwbHkgcGVyc3BlY3RpdmUsIGl0IGRvZXNuJ3QgbmVlZCBpdHMgb3du
IGJhY2tpbmcgc3RvcmUuCkBAIC0xMjExLDcgKzEyMTgsMTAgQEAgYm9vbCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZVNjcm9sbGluZ0xheWVycyhib29sIG5lZWRzU2Nyb2xsaW5nTGF5ZXJzKQog
ICAgICAgICAgICAgLy8gSW5uZXIgbGF5ZXIgd2hpY2ggcmVuZGVycyB0aGUgY29udGVudCB0aGF0
IHNjcm9sbHMuCiAgICAgICAgICAgICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIgPSBjcmVhdGVH
cmFwaGljc0xheWVyKCJTY3JvbGxlZCBDb250ZW50cyIpOwogICAgICAgICAgICAgbV9zY3JvbGxp
bmdDb250ZW50c0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7Ci0gICAgICAgICAgICBtX3Nj
cm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoR3JhcGhpY3NMYXllclBhaW50
Rm9yZWdyb3VuZCB8IEdyYXBoaWNzTGF5ZXJQYWludE92ZXJmbG93Q29udGVudHMpOworICAgICAg
ICAgICAgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgcGFpbnRQaGFzZSA9IEdyYXBoaWNzTGF5
ZXJQYWludE92ZXJmbG93Q29udGVudHMgfCBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Ny
b2xsOworICAgICAgICAgICAgaWYgKCFtX2ZvcmVncm91bmRMYXllcikKKyAgICAgICAgICAgICAg
ICBwYWludFBoYXNlIHw9IEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQ7CisgICAgICAgICAg
ICBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPnNldFBhaW50aW5nUGhhc2UocGFpbnRQaGFzZSk7
CiAgICAgICAgICAgICBtX3Njcm9sbGluZ0xheWVyLT5hZGRDaGlsZChtX3Njcm9sbGluZ0NvbnRl
bnRzTGF5ZXIuZ2V0KCkpOwogCiAgICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOwpAQCAt
MTI4MSw4ICsxMjkxLDEwIEBAIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIFJlbmRlckxheWVy
QmFja2luZzo6cGFpbnRpbmdQaGFzZUZvclByaW1hcnlMYXllcigpIGNvCiAgICAgaWYgKCFtX21h
c2tMYXllcikKICAgICAgICAgcGhhc2UgfD0gR3JhcGhpY3NMYXllclBhaW50TWFzazsKIAotICAg
IGlmIChtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIpCisgICAgaWYgKG1fc2Nyb2xsaW5nQ29udGVu
dHNMYXllcikgewogICAgICAgICBwaGFzZSAmPSB+R3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3Vu
ZDsKKyAgICAgICAgcGhhc2UgfD0gR3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbDsK
KyAgICB9CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U+KHBoYXNlKTsKIH0KQEAgLTE4MTMsNiArMTgyNSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjpwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBH
cmFwCiAgICAgICAgIHBhaW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGlu
Z0NvbXBvc2l0aW5nTWFza1BoYXNlOwogICAgIGlmIChwYWludGluZ1BoYXNlICYgR3JhcGhpY3NM
YXllclBhaW50T3ZlcmZsb3dDb250ZW50cykKICAgICAgICAgcGFpbnRGbGFncyB8PSBSZW5kZXJM
YXllcjo6UGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50czsKKyAgICBpZiAocGFpbnRp
bmdQaGFzZSAmIEdyYXBoaWNzTGF5ZXJQYWludENvbXBvc2l0ZWRTY3JvbGwpCisgICAgICAgIHBh
aW50RmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nU2Ny
b2xsaW5nUGhhc2U7CiAKICAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXll
cikKICAgICAgICAgcGFpbnRGbGFncyB8PSAoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGlu
Z1Jvb3RCYWNrZ3JvdW5kT25seSB8IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0ZvcmVncm91bmRQaGFzZSk7IC8vIE5lZWQgUGFpbnRMYXllclBhaW50aW5nQ29tcG9z
aXRpbmdGb3JlZ3JvdW5kUGhhc2UgdG8gd2FsayBjaGlsZCBsYXllcnMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDEyNjE0
OWU2NzQzMGNiYWEyOTM4MDkxZjdiN2NhNTAwOTU1NWQzZDIuLmNhNWFlMTEwZDAxZmQ1ZTAwMTY5
NzI1ZmQwMzY3NmIyMzIxNzk4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xMjgxLDYgKzEyODEsOCBAQCBTdHJpbmcg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1RleHQoTGF5ZXJUcmVlRmxhZ3MgZmxh
Z3MpCiAgICAgICAgIGxheWVyVHJlZUJlaGF2aW9yIHw9IExheWVyVHJlZUFzVGV4dEluY2x1ZGVU
aWxlQ2FjaGVzOwogICAgIGlmIChmbGFncyAmIExheWVyVHJlZUZsYWdzSW5jbHVkZVJlcGFpbnRS
ZWN0cykKICAgICAgICAgbGF5ZXJUcmVlQmVoYXZpb3IgfD0gTGF5ZXJUcmVlQXNUZXh0SW5jbHVk
ZVJlcGFpbnRSZWN0czsKKyAgICBpZiAoZmxhZ3MgJiBMYXllclRyZWVGbGFnc0luY2x1ZGVQYWlu
dGluZ1BoYXNlcykKKyAgICAgICAgbGF5ZXJUcmVlQmVoYXZpb3IgfD0gTGF5ZXJUcmVlQXNUZXh0
SW5jbHVkZVBhaW50aW5nUGhhc2VzOwogCiAgICAgLy8gV2Ugc2tpcCBkdW1waW5nIHRoZSBzY3Jv
bGwgYW5kIGNsaXAgbGF5ZXJzIHRvIGtlZXAgbGF5ZXJUcmVlQXNUZXh0IG91dHB1dAogICAgIC8v
IHNpbWlsYXIgYmV0d2VlbiBwbGF0Zm9ybXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKaW5kZXggMmQ5NzA2NGY0NDk2YWE1Zjc0YTliMmE4YTAwN2M1YjA2NTZjYTc5NS4uNmNiMTQ2
NzVkNDFlZjQ5MDMyNGY5MzkzZjNhNGE2ZjZkZDhmZDAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcApAQCAtMTY3NCw2ICsxNjc0LDggQEAgU3RyaW5nIEludGVybmFsczo6bGF5
ZXJUcmVlQXNUZXh0KERvY3VtZW50KiBkb2N1bWVudCwgdW5zaWduZWQgZmxhZ3MsIEV4Y2VwdGlv
bkMKICAgICAgICAgbGF5ZXJUcmVlRmxhZ3MgfD0gTGF5ZXJUcmVlRmxhZ3NJbmNsdWRlVGlsZUNh
Y2hlczsKICAgICBpZiAoZmxhZ3MgJiBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMp
CiAgICAgICAgIGxheWVyVHJlZUZsYWdzIHw9IExheWVyVHJlZUZsYWdzSW5jbHVkZVJlcGFpbnRS
ZWN0czsKKyAgICBpZiAoZmxhZ3MgJiBMQVlFUl9UUkVFX0lOQ0xVREVTX1BBSU5USU5HX1BIQVNF
UykKKyAgICAgICAgbGF5ZXJUcmVlRmxhZ3MgfD0gTGF5ZXJUcmVlRmxhZ3NJbmNsdWRlUGFpbnRp
bmdQaGFzZXM7CiAKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmxheWVyVHJlZUFzVGV4
dChsYXllclRyZWVGbGFncyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBj
M2RmOTczYjgxNGNlYzgwMjg0NzkzNzJmODBhNDAwMWM4ZGJjNTgyLi5jMWFjMmJiNjMyMWQ4NTUy
NGZlMTk3YTQyOTJjZDdhMGI3NGVmY2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTIyMiw4ICsyMjIsOCBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFZhbHVlcyBuZWVkIHRvIGJl
IGtlcHQgaW4gc3luYyB3aXRoIEludGVybmFscy5pZGwuCiAgICAgICAgIExBWUVSX1RSRUVfSU5D
TFVERVNfVklTSUJMRV9SRUNUUyA9IDEsCiAgICAgICAgIExBWUVSX1RSRUVfSU5DTFVERVNfVElM
RV9DQUNIRVMgPSAyLAotICAgICAgICBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMg
PSA0Ci0gICAgICAgIAorICAgICAgICBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMg
PSA0LAorICAgICAgICBMQVlFUl9UUkVFX0lOQ0xVREVTX1BBSU5USU5HX1BIQVNFUyA9IDgKICAg
ICB9OwogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoRG9jdW1lbnQqLCB1bnNpZ25lZCBmbGFn
cywgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoRG9j
dW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggNWY0YjFhYTNlMTc5YTczNzQ2NWZmMjk1ODU5YzcxMzA5NzI4YjM2OS4uOTMw
NDhkNzdiNGNjM2YzN2ZlN2M0ZmU1MDljZWNlMDFhMTk3YWM4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtMTgxLDYgKzE4MSw3IEBACiAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTID0gMTsKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBMQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTID0gMjsKICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBMQVlFUl9UUkVFX0lOQ0xVREVTX1JFUEFJTlRfUkVDVFMgPSA0
OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IExBWUVSX1RSRUVfSU5DTFVERVNfUEFJTlRJTkdf
UEhBU0VTID0gODsKICAgICBET01TdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGluIERvY3VtZW50IGRv
Y3VtZW50LCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIHNob3J0IGZsYWdzKSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CiAKICAgICBET01TdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KGluIERv
Y3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGMzZDZjZmYz
MTc3MDBiY2MzOTM2MmZkYTMxYzgxZTcwM2YxZDJhZS4uOWJiZDYyMTZkMDNjMzkxZjJlYWYxODJl
ZTY3ZGIyODEyOTUzMGYxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAzLTA2ICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZpeCBwYWludGluZyBw
aGFzZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgV2l0aCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIHNjcm9s
bGluZyBjb250ZW50cyBsYXllciBwYWludHMgdGhlIAorICAgICAgICBmb3JlZ3JvdW5kIGFuZCB0
aGUgbWFpbiBncmFwaGljcyBsYXllciBwYWludHMgdGhlIGJhY2tncm91bmQuIFRoaXMgCisgICAg
ICAgIGNhdXNlcyBhIGZldyBwcm9ibGVtczoKKworICAgICAgICAgIDEpIElmIHdlIGNyZWF0ZSBh
IGZvcmVncm91bmQgbGF5ZXIsIHdlIGVuZCB1cCB3aXRoIHR3byBsYXllcnMgcGFpbnRpbmcgCisg
ICAgICAgICAgICAgdGhlIGZvcmVncm91bmQgcGhhc2UuCisgICAgICAgICAgMikgRm9jdXMgcmlu
Z3MgLyBvdXRsaW5lcyBwYWludCBpbnRvIHRoZSBmb3JlZ3JvdW5kIGxheWVyLCBzbyB0aGV5IGVu
ZAorICAgICAgICAgICAgIHVwIG1vdmluZyBhcm91bmQgd2l0aCB0aGUgc2Nyb2xsaW5nIGNvbnRl
bnRzLgorICAgICAgICAgIDMpIE5lZyB6LW9yZGVyIGRlc2NlbmRhbnRzIHBhaW50IGluIHRoZSB0
aGUgbWFpbiBncmFwaGljcyBsYXllciBhbmQKKyAgICAgICAgICAgICB3aWxsIHRoZXJlZm9yZSBu
b3Qgc2Nyb2xsLgorCisgICAgICAgIFRvIGRlYWwgd2l0aCAxKSB3ZSBuZWVkIHRvIHN0b3AgcGFp
bnRpbmcgdGhlIGZvcmVncm91bmQgaW50byBib3RoIHRoZQorICAgICAgICBmb3JlZ3JvdW5kIGFu
ZCBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXJzLiBXZSBhbHNvIG5lZWQgdG8gZW5zdXJlIHRoYXQK
KyAgICAgICAgdGhlIGZvcmVncm91bmQgbGF5ZXIgaXMgdGhlIHJpZ2h0IHNpemUgYW5kIGhhcyB0
aGUgcmlnaHQgb2Zmc2V0IGZyb20KKyAgICAgICAgcmVuZGVyZXIgaWYgd2UncmUgb24gdGhlIGNv
bXBvc2l0ZWQgc2Nyb2xsaW5nIHBhdGguCisKKyAgICAgICAgVG8gZGVhbCB3aXRoIDIpIGFuZCAz
KSwgSSBoYXZlIGFkZGVkIGEgbmV3IGdyYXBoaWNzIGxheWVyIHBhaW50aW5nIHBoYXNlIAorICAg
ICAgICBmbGFnIC0tIEdyYXBoaWNzTGF5ZXJQYWludENvbXBvc2l0ZWRTY3JvbGwgLS0gYW5kIGFw
cGxpZWQgaXQgdG8gdHdvCisgICAgICAgIGxheWVycyBpbiB0aGUgc3VidHJlZSBjcmVhdGVkIGJ5
IFJlbmRlckxheWVyQmFja2luZy4gVGhpcyB1bHRpbWF0ZWx5CisgICAgICAgIGFmZmVjdHMgdGhl
IHBhaW50IHBoYXNlIHBhc3NlZCB0byBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzIGFu
ZAorICAgICAgICBhbGxvd3MgdXMgdG8gcGFpbnQgdGhlIGZvY3VzIHJpbmdzLCBvdXRsaW5lcyBh
bmQgbmVnYXRpdmUgei1vcmRlcgorICAgICAgICBkZXNjZW5kYW50cyBpbnRvIHRoZSBwcm9wZXIg
bGF5ZXJzLgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1zY3Jv
bGxpbmctcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9z
aXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1zY3JvbGxpbmctcGFpbnQtcGhhc2VzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxvbS9jb21wb3Np
dGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
ICBUaGlzIGlzIGEgdGV4dC1iYXNlZCB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgdGhlIGdyYXBoaWNz
IGxheWVyCisgICAgICAgICAgcGFpbnRpbmcgcGhhc2VzIGFyZSBjb3JyZWN0IHdpdGggY29tcG9z
aXRlZCBzY3JvbGxpbmcgKyBmb3JlZ3JvdW5kCisgICAgICAgICAgbGF5ZXJzLgorICAgICAgICAq
IGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRl
ZC1zY3JvbGxpbmctY29udGVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcv
b3ZlcmZsb3cvcGFpbnQtbmVnLXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29u
dGVudHMtbGF5ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICAgVGhlc2UgdGVzdHMgY292ZXIgY2Fz
ZXMgMikgYW5kIDMpIGFib3ZlLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgIFRoZXNl
IGhhdmUgYmVlbiB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIG1pc3NpbmcgYmFzZWxpbmVzLgorCiAy
MDEzLTAzLTA2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEV4dGVuZCBvdXIgZ3JhbW1hciB0byBzdXBwb3J0IDIg
cG9zaXRpb25zIGZvciBncmlkLXtyb3d8Y29sdW1ufQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1zY3JvbGxpbmctcGFpbnQtcGhhc2VzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0ZWQt
c2Nyb2xsaW5nLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFhNWM4N2U4
MDUwNGY1ZGVlOWE0OTFhZDcwNTkxZDc4ZjY1YTE1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLXBhaW50LXBo
YXNlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMDIgQEAKKyhHcmFwaGljc0xheWVyCisgIChi
b3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKHBhaW50aW5nUGhhc2VzCisgICAgR3JhcGhpY3NMYXll
clBhaW50QmFja2dyb3VuZAorICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQKKyAgICBH
cmFwaGljc0xheWVyUGFpbnRNYXNrCisgICkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NM
YXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAocGFpbnRpbmdQaGFzZXMKKyAgICAgICAgR3JhcGhpY3NMYXllclBhaW50QmFj
a2dyb3VuZAorICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAgIEdy
YXBoaWNzTGF5ZXJQYWludE1hc2sKKyAgICAgICkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDI4LjAwIDIwLjAwKQorICAgICAg
ICAgIChib3VuZHMgMjAyLjAwIDIwMi4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisg
ICAgICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRC
YWNrZ3JvdW5kCisgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICAgICAg
ICBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsCisgICAgICAgICAgKQorICAgICAg
ICAgIChjaGlsZHJlbiA0CisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAg
ICAocG9zaXRpb24gMS4wMCAxLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDIwMC4wMCAyMDAu
MDApCisgICAgICAgICAgICAgIChwYWludGluZ1BoYXNlcworICAgICAgICAgICAgICAgIEdyYXBo
aWNzTGF5ZXJQYWludEJhY2tncm91bmQKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFp
bnRGb3JlZ3JvdW5kCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50TWFzaworICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMTg1LjAwIDcxNS4wMCkK
KyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgIChw
YWludGluZ1BoYXNlcworICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRPdmVy
Zmxvd0NvbnRlbnRzCisgICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludENvbXBv
c2l0ZWRTY3JvbGwKKyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgIChjaGls
ZHJlbiAyCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
ICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJv
dW5kcyA4MC4wMCAxMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoY29udGVudHNPcGFxdWUg
MSkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAg
ICAgICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGlj
c0xheWVyUGFpbnRCYWNrZ3JvdW5kCisgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xh
eWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVy
UGFpbnRNYXNrCisgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAg
ICAgKGJvdW5kcyAxODUuMDAgNzE1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0Nv
bnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQKKyAgICAgICAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDE4Ni4w
MCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxODUuMDAgMTUuMDApCisgICAgICAgICAgICAgIChw
YWludGluZ1BoYXNlcworICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91
bmQKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAg
ICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50TWFzaworICAgICAgICAgICAgICApCisgICAgICAg
ICAgICApCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRp
b24gMTg2LjAwIDEuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTg1LjAwKQorICAg
ICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVy
UGFpbnRCYWNrZ3JvdW5kCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdy
b3VuZAorICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludE1hc2sKKyAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAg
ICAgICAgKHBvc2l0aW9uIDE4Ni4wMCAxODYuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTUu
MDAgMTUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAg
KHBhaW50aW5nUGhhc2VzCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50QmFja2dy
b3VuZAorICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQKKyAgICAg
ICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykK
KworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3Np
dGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLXBhaW50LXBoYXNlcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU1ZDQ3MjU0OWMyNzY2ZGE4ZWZmMWYwZWJkMmI5NDlkMzNlN2ExMDMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9s
bGluZy1wYWludC1waGFzZXMuaHRtbApAQCAtMCwwICsxLDk0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5
cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgorICA8dGl0bGU+Q29tcG9z
aXRlZCBzY3JvbGxpbmcgcGFpbnQgcGhhc2VzPC90aXRsZT4KKyAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuY29udGFpbmVyIHsKKyAgICAgIHdpZHRoOiAyMDBw
eDsKKyAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgICAg
bWFyZ2luOiAyMHB4OworICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgfQorCisg
ICAgLmNvbXBvc2l0ZWQgeworICAgICAgd2lkdGg6IDgwcHg7CisgICAgICBoZWlnaHQ6IDEwcHg7
CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB0b3A6IDEwcHg7CisgICAgICAtd2Vi
a2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOworICAgICAgei1pbmRleDogLTE7CisgICAgfQorCisgICAgLm5vdC1jb21wb3NpdGVkIHsK
KyAgICAgIHdpZHRoOiA4MHB4OworICAgICAgaGVpZ2h0OiAyMHB4OworICAgICAgbWFyZ2luOiA1
cHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgIH0KKyAgPC9zdHlsZT4KKyAg
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kdW1wQXNUZXh0KGZhbHNlKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9y
T3ZlcmZsb3dTY3JvbGxFbmFibGVkKHRydWUpOworCisgICAgZnVuY3Rpb24gd3JpdGUoc3RyKQor
ICAgIHsKKyAgICAgIHZhciBwcmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScp
OworICAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAnXG4nKTsK
KyAgICAgIHByZS5hcHBlbmRDaGlsZCh0ZXh0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgIHsKKyAgICAgIHdyaXRlKHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0
KGRvY3VtZW50LCB3aW5kb3cuaW50ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfUEFJTlRJTkdf
UEhBU0VTKSk7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgCisgICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNs
YXNzPSJjb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYg
Y2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9z
aXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAg
IDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3Qt
Y29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2
PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNz
PSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQi
PjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2
IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90LWNvbXBv
c2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rpdj4KKyAg
ICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ibm90
LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVkIj48L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRpdiBjbGFz
cz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21wb3NpdGVk
Ij48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+CisgICAgPGRp
diBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5vdC1jb21w
b3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9kaXY+Cisg
ICAgPGRpdiBjbGFzcz0ibm90LWNvbXBvc2l0ZWQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5v
dC1jb21wb3NpdGVkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub3QtY29tcG9zaXRlZCI+PC9k
aXY+CisgIDwvZGl2PgorICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzwvYm9keT4KKzwvaHRt
bD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90
LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50
by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MTJlYWJj
ODU1YjhlMTIyMzNkY2ZmNjkyZTlhNmU0OTA2ZDllOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9kby1ub3QtcGFpbnQtb3V0bGluZS1pbnRvLWNv
bXBvc2l0ZWQtc2Nyb2xsaW5nLWNvbnRlbnRzLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKyAgPHRp
dGxlPkRvbid0IGRyYXcgb3V0bGluZXMgaW50byBzY3JvbGxpbmcgY29udGVudHMgbGF5ZXI8L3Rp
dGxlPgorICA8IS0tCisgICAgSWYgdGhpcyB0ZXN0IHN1Y2NlZWRzLCB5b3Ugc2hvdWxkIG5vdCBz
ZWUgdGhlIGZvY3VzIHJpbmcgaW4gdGhlIHNjcm9sbGVkCisgICAgY29udGVudHMuCisgIC0tPgor
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQo
dHJ1ZSk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5h
YmxlZCh0cnVlKTsKKworICAgIGZ1bmN0aW9uIGVuZFRlc3QoKQorICAgIHsKKyAgICAgIHZhciB0
ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Jyk7CisgICAgICB0ZXh0YXJl
YS5zY3JvbGxUb3AgPSA4MDsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
d2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRv
VGVzdCgpCisgICAgeworICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RleHQnKTsKKyAgICAgIHRleHRhcmVhLmZvY3VzKCk7CisgICAgICB0ZXh0YXJlYS5zZWxl
Y3Rpb25TdGFydCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZCA9IDA7CisgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKyAgICAg
IHdpbmRvdy5zZXRUaW1lb3V0KGVuZFRlc3QsIDEwMCk7CisgICAgfQorCisgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICA8dGV4dGFyZWEgcm93cz0iNiIgY29scz0iNTAiIGlkPSJ0
ZXh0Ij4KKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2lj
aW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBk
b2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVk
IGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1v
ZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2
b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1
ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBp
biBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4K
KworICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhl
cmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBj
b25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVw
dGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBF
eGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1
bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorCisg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0
LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1h
Z25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0
YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNl
cXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRl
IHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2Vw
dGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEg
cXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgIDwvdGV4
dGFyZWE+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xs
aW5nLWNvbnRlbnRzLWxheWVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxv
dy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1s
YXllci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2NjExYmI2NTQwZWQ1ZWU2MTY2MTUwY2Q2MmIwNTk3MmIx
NzY0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxv
dy9wYWludC1uZWctei1vcmRlci1kZXNjZW5kYW50cy1pbnRvLXNjcm9sbGluZy1jb250ZW50cy1s
YXllci5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0i
ZW4iPgorPGhlYWQ+CisgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ii8+CisgIDx0aXRsZT5QYWludCBuZWcgei1vcmRlciBk
ZXNjZW5kYW50cyBpbnRvIHRoZSBjb21wb3NpdGVkIHNjcm9sbGluZyBsYXllcjwvdGl0bGU+Cisg
IDxzdHlsZT4KKyAgICAuc2Nyb2xsYWJsZSB7CisgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAg
IH0KKworICAgIC5zY3JvbGxlZCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB6
LWluZGV4OiAtMTsKKyAgICB9CisKKyAgICAjY29udGFpbmVyIHsKKyAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgIHRvcDogMTBweDsKKyAgICAgIGxlZnQ6IDEwcHg7CisgICAgICB3aWR0
aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgYm9yZGVyOiAxcHggYmxhY2sg
c29saWQ7CisgICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHdp
bmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisKKyAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAgIGZ1bmN0aW9uIGVu
ZFRlc3QoKQorICAgIHsKKyAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb250YWluZXInKTsKKyAgICAgIHRleHRhcmVhLnNjcm9sbFRvcCA9IDQwOworICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kaXNwbGF5KCk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7CisgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CisgICAgICB0ZXh0YXJlYS5mb2N1cygpOworICAg
ICAgdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQgPSAwOwor
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5k
aXNwbGF5KCk7CisgICAgICB3aW5kb3cuc2V0VGltZW91dChlbmRUZXN0LCAxMDApOworICAgIH0K
KworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xs
YWJsZSIgaWQ9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsZWQiPgorICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9u
IHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQu
IER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxp
dCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIg
c2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBv
ZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorICAgIDwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9InNjcm9sbGVkIj4KKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJzY3JvbGxl
ZCI+CisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2lu
ZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9s
b3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBl
eGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2Rv
IGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9s
dXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIu
IEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4g
Y3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisg
ICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkYTdjMGY0OTEzYzAxMGRk
NTMzY2NlMzc3MTc5MTQ3NDM0MWIyYjA5Li42NmExYmQ0ZmViNzQzZmRlMjZhMzI3NGNlYjE3MjYy
ZGZiOTEzYzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTI4NzAsNiArMjg3MCwxNyBAQCBjcmJ1Zy5jb20vODg1ODggZmFzdC9saXN0
cy9pbmxpbmVCb3hXcmFwcGVyTnVsbENoZWNrLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogY3JidWcu
Y29tLzg4ODk0IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZXhwaXJhdGlvbi0xLmh0bWwg
WyBQYXNzIFNsb3cgXQogY3JidWcuY29tLzg4ODk0IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3Vy
Y2UtZXhwaXJhdGlvbi0yLmh0bWwgWyBQYXNzIFNsb3cgXQogCisjIFRoZSBmb2xsb3dpbmcgYXJl
IG1pc3NpbmcgYmFzZWxpbmVzLgord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1
bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1v
dXRsaW5lLWludG8tY29tcG9zaXRlZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3Npbmcg
XQord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJl
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVk
LXNjcm9sbGluZy1jb250ZW50cy5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3JnL2IvMTA3OTM1
IGNvbXBvc2l0aW5nL292ZXJmbG93L2RvLW5vdC1wYWludC1vdXRsaW5lLWludG8tY29tcG9zaXRl
ZC1zY3JvbGxpbmctY29udGVudHMuaHRtbCBbIE1pc3NpbmcgXQord2Via2l0Lm9yZy9iLzEwNzkz
NSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5nL292ZXJm
bG93L3BhaW50LW5lZy16LW9yZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRz
LWxheWVyLmh0bWwgWyBNaXNzaW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5lZy16LW9y
ZGVyLWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwgWyBNaXNz
aW5nIF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvcGFpbnQtbmVn
LXotb3JkZXItZGVzY2VuZGFudHMtaW50by1zY3JvbGxpbmctY29udGVudHMtbGF5ZXIuaHRtbCBb
IE1pc3NpbmcgXQord2Via2l0Lm9yZy9iLzEwNzkzNSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L2dwdS9jb21wb3NpdGVkc2Nyb2xsaW5nL292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNy
ZWF0ZXMtYS1zdGFja2luZy1jb250YWluZXIuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9i
LzEwNzkzNSBjb21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1jcmVhdGVz
LWEtc3RhY2tpbmctY29udGFpbmVyLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDc5
MzUgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL292ZXJmbG93
L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNyZWF0ZXMtYS1zdGFja2luZy1jb250YWluZXIuaHRtbCBb
IEZhaWx1cmUgXQorCiAjIFY4IG5vdyBmb2xsb3dzIHNwZWMgb24gdG9pc29zdHJpbmcsIHRlc3Qg
bmVlZHMgdG8gYmUgZml4ZWQuCiBjcmJ1Zy5jb20vODg5MzYgZmFzdC9qcy9kYXRlLXRvaXNvc3Ry
aW5nLmh0bWwgWyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDZhMDZjYjNhNDM1MzZmNWE4OTU4YTZiNjNmNWNiMDExODNl
MzYwMDMuLmJkMTFiMmVlYTExMzUzY2Q0Y2Y2ZWM4ZDgyZWNmYWMzZmQ3YzI3ZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI5Miw2ICsy
OTIsMTAgQEAgd2Via2l0Lm9yZy9iLzEwNTk5OCBbIE1vdW50YWluTGlvbiBEZWJ1ZyBdIGZhc3Qv
Y3NzL3N0aWNreS9zdGlja3ktYm90aC1zaWRlcy5odG0KIAogd2Via2l0Lm9yZy9iLzkzNTUyIGlu
c3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy5odG1sIFsgRmFpbHVyZSBdCiAKK3dl
YmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvZG8tbm90LXBhaW50LW91dGxp
bmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5odG1sIFsgTWlzc2luZyBdCit3
ZWJraXQub3JnL2IvMTA3OTM1IGNvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVy
LWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwgWyBNaXNzaW5n
IF0KK3dlYmtpdC5vcmcvYi8xMDc5MzUgY29tcG9zaXRpbmcvb3ZlcmZsb3cvY29tcG9zaXRlZC1z
Y3JvbGxpbmctY3JlYXRlcy1hLXN0YWNraW5nLWNvbnRhaW5lci5odG1sIFsgRmFpbHVyZSBdCisK
IHdlYmtpdC5vcmcvYi8xMDY0MDUgaHR0cC90ZXN0cy9sb2FkaW5nL2F1dGhlbnRpY2F0aW9uLWFm
dGVyLXJlZGlyZWN0LXN0b3Jlcy13cm9uZy1jcmVkZW50aWFscy9hdXRoZW50aWNhdGlvbi1hZnRl
ci1yZWRpcmVjdC1zdG9yZXMtd3JvbmctY3JlZGVudGlhbHMuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzEwNjQwNSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFzaWMtYXV0aC1yZXNlbmQtd3Jv
bmctY3JlZGVudGlhbHMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwNjQwNSBodHRw
L3Rlc3RzL2xvYWRpbmcvYmFzaWMtY3JlZGVudGlhbHMtc2VudC1hdXRvbWF0aWNhbGx5Lmh0bWwg
WyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZjVmOWM0ZmI2MTBkODNhOTg3MWUzNGE1NWVkMzkxOTgzOTJlNDVmYi4uNTQwOGFjNmFlMmFl
MzRiMjBiYzUwNWQzMDQzZWQ2NzQyZWM1ODRjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1Myw2ICs3NTMsMTIgQEAgZmFzdC9zdWItcGl4ZWwvem9v
bWVkLWltYWdlLXRpbGVzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgTmVlZHMgcmViYXNl
bGluZQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sIFsgRmFp
bHVyZSBdCiAKKyMgTmVlZHMgcmViYXNlbGluZSBhZnRlciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NjE4CisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDc5NTIKK2NvbXBvc2l0aW5nL292ZXJmbG93L3BhaW50LW5lZy16LW9yZGVy
LWRlc2NlbmRhbnRzLWludG8tc2Nyb2xsaW5nLWNvbnRlbnRzLWxheWVyLmh0bWwgWyBNaXNzaW5n
IF0KK2NvbXBvc2l0aW5nL292ZXJmbG93L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLWNyZWF0ZXMtYS1z
dGFja2luZy1jb250YWluZXIuaHRtbCBbIE1pc3NpbmcgXQorY29tcG9zaXRpbmcvb3ZlcmZsb3cv
ZG8tbm90LXBhaW50LW91dGxpbmUtaW50by1jb21wb3NpdGVkLXNjcm9sbGluZy1jb250ZW50cy5o
dG1sIFsgRmFpbHVyZSBdCisKICMgTm8gQ09SUyBzdXBwb3J0IGZvciBtZWRpYSBlbGVtZW50cyBp
cyBpbXBsZW1lbnRlZCB5ZXQuCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVvLWNyb3NzLW9yaWdp
bi1yZWFkYmFjay5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
b21wb3NpdGluZy9vdmVyZmxvdy9jb21wb3NpdGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL292ZXJmbG93
L2NvbXBvc2l0ZWQtc2Nyb2xsaW5nLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODI1YjIxZjE5ZTE3MjE1YmFiYTRiZWQ3NjY5ZjUxOWQ1YzU4YTgwNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxvdy9jb21w
b3NpdGVkLXNjcm9sbGluZy1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAz
IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChwYWludGlu
Z1BoYXNlcworICAgIEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQKKyAgICBHcmFwaGljc0xh
eWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgR3JhcGhpY3NMYXllclBhaW50TWFzaworICApCisgIChj
aGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4w
MCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAg
ICAgIEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQKKyAgICAgICAgR3JhcGhpY3NMYXllclBh
aW50Rm9yZWdyb3VuZAorICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICApCisg
ICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3Np
dGlvbiAyOC4wMCAyMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDIwMi4wMCAyMDIuMDApCisgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChwYWludGluZ1BoYXNlcworICAgICAg
ICAgICAgR3JhcGhpY3NMYXllclBhaW50QmFja2dyb3VuZAorICAgICAgICAgICAgR3JhcGhpY3NM
YXllclBhaW50TWFzaworICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNj
cm9sbAorICAgICAgICAgICkKKyAgICAgICAgICAoY2hpbGRyZW4gNAorICAgICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkKKyAgICAgICAg
ICAgICAgKGJvdW5kcyAyMDAuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAocGFpbnRpbmdQaGFz
ZXMKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kCisgICAgICAg
ICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50Rm9yZWdyb3VuZAorICAgICAgICAgICAgICAgIEdy
YXBoaWNzTGF5ZXJQYWludE1hc2sKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDE4NS4wMCA3MTUuMDApCisgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMKKyAgICAgICAgICAgICAgICAg
ICAgR3JhcGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50cworICAgICAgICAgICAgICAgICAg
ICBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsCisgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMgorICAgICAgICAgICAgICAgICAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDEwLjAwKQor
ICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgODAuMDAgMTAuMDApCisgICAgICAgICAgICAg
ICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgICAgICAgICAgICAgKHBhaW50
aW5nUGhhc2VzCisgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRCYWNr
Z3JvdW5kCisgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3Jv
dW5kCisgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxODUu
MDAgNzE1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAg
ICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMKKyAgICAgICAgICAgICAgICAgICAgICAg
IEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQKKyAgICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDE4Ni4wMCkKKyAgICAgICAgICAg
ICAgKGJvdW5kcyAxODUuMDAgMTUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkK
KyAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAgICAgICAgICAgR3JhcGhpY3NM
YXllclBhaW50QmFja2dyb3VuZAorICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZv
cmVncm91bmQKKyAgICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgICAgIChwb3NpdGlvbiAxODYuMDAgMS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAx
NS4wMCAxODUuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAg
ICAgKHBhaW50aW5nUGhhc2VzCisgICAgICAgICAgICAgICAgR3JhcGhpY3NMYXllclBhaW50QmFj
a2dyb3VuZAorICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQKKyAg
ICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRNYXNrCisgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChw
b3NpdGlvbiAxODYuMDAgMTg2LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAw
KQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgIChwYWludGlu
Z1BoYXNlcworICAgICAgICAgICAgICAgIEdyYXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmQKKyAg
ICAgICAgICAgICAgICBHcmFwaGljc0xheWVyUGFpbnRGb3JlZ3JvdW5kCisgICAgICAgICAgICAg
ICAgR3JhcGhpY3NMYXllclBhaW50TWFzaworICAgICAgICAgICAgICApCisgICAgICAgICAgICAp
CisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>