<?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>151591</bug_id>
          
          <creation_ts>2015-11-24 10:26:59 -0800</creation_ts>
          <short_desc>Should never be reached failure in WebCore::RenderFlexibleBox::alignChildren</short_desc>
          <delta_ts>2016-09-01 06:56:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="Javier Fernandez">jfernandez</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hyatt</cc>
    
    <cc>jfernandez</cc>
    
    <cc>ossy</cc>
    
    <cc>rego</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144359</commentid>
    <comment_count>0</comment_count>
      <attachid>266140</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2015-11-24 10:26:59 -0800</bug_when>
    <thetext>Created attachment 266140
Test

Load the attached test with debug MiniBrowser:

&lt;style&gt;
 * {
    display: flex;
    -webkit-align-self: end safe;
}
&lt;/style&gt;

OS: Ubuntu 15.10 x86_64
Checked build: debug EFL
Checked version: 79922a5


Backtrace:

SHOULD NEVER BE REACHED
../../Source/WebCore/rendering/RenderFlexibleBox.cpp(1346) : void WebCore::RenderFlexibleBox::alignChildren(const WTF::Vector&lt;WebCore::RenderFlexibleBox::LineContext&gt;&amp;)
1   0x7f64d5b8282c WTFCrash
2   0x7f64d49a21e8 WebCore::RenderFlexibleBox::alignChildren(WTF::Vector&lt;WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;)
3   0x7f64d499cdba WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems(WTF::Vector&lt;WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;)
4   0x7f64d499c8fc WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit)
5   0x7f64d48d77c6 WebCore::RenderBlock::layout()
6   0x7f64d48aa8f1 WebCore::RenderElement::layoutIfNeeded()
7   0x7f64d49a0f61 WebCore::RenderFlexibleBox::layoutAndPlaceChildren(WebCore::LayoutUnit&amp;, WTF::Vector&lt;WebCore::RenderBox*, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, WTF::Vector&lt;WebCore::LayoutUnit, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, WebCore::LayoutUnit, bool, WTF::Vector&lt;WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;)
8   0x7f64d499e7c9 WebCore::RenderFlexibleBox::layoutFlexItems(bool, WTF::Vector&lt;WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;)
9   0x7f64d499c8c4 WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit)
10  0x7f64d48d77c6 WebCore::RenderBlock::layout()
11  0x7f64d490694c WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&amp;, WebCore::RenderBlockFlow::MarginInfo&amp;, WebCore::LayoutUnit&amp;, WebCore::LayoutUnit&amp;)
12  0x7f64d490648a WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&amp;)
13  0x7f64d49058ea WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
14  0x7f64d48d77c6 WebCore::RenderBlock::layout()
15  0x7f64d4aee02f WebCore::RenderView::layoutContent(WebCore::LayoutState const&amp;)
16  0x7f64d4aee727 WebCore::RenderView::layout()
17  0x7f64d46b4346 WebCore::FrameView::layout(bool)
18  0x7f64d4106a83 WebCore::Document::implicitClose()
19  0x7f64d4574e91 WebCore::FrameLoader::checkCallImplicitClose()
20  0x7f64d4574bc1 WebCore::FrameLoader::checkCompleted()
21  0x7f64d4574937 WebCore::FrameLoader::finishedParsing()
22  0x7f64d4110bb4 WebCore::Document::finishedParsing()
23  0x7f64d54aa7ab WebCore::HTMLConstructionSite::finishedParsing()
24  0x7f64d446adb2 WebCore::HTMLTreeBuilder::finished()
25  0x7f64d443b0a8 WebCore::HTMLDocumentParser::end()
26  0x7f64d443b176 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()
27  0x7f64d4439e6b WebCore::HTMLDocumentParser::prepareToStopParsing()
28  0x7f64d443b1b1 WebCore::HTMLDocumentParser::attemptToEnd()
29  0x7f64d443b261 WebCore::HTMLDocumentParser::finish()
30  0x7f64d4560166 WebCore::DocumentWriter::end()
31  0x7f64d454960a WebCore::DocumentLoader::finishedLoading(double)
Aborted (core dumped)

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f64d5b82831 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
321     *(int *)(uintptr_t)0xbbadbeef = 0;
[Current thread is 1 (Thread 0x7f64d96cfa80 (LWP 8936))]
#0  0x00007f64d5b82831 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x00007f64d49a21e8 in WebCore::RenderFlexibleBox::alignChildren (this=0x7f64b53cf190, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:1346
#2  0x00007f64d499cdba in WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems (this=0x7f64b53cf190, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:345
#3  0x00007f64d499c8fc in WebCore::RenderFlexibleBox::layoutBlock (this=0x7f64b53cf190, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:278
#4  0x00007f64d48d77c6 in WebCore::RenderBlock::layout (this=0x7f64b53cf190) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#5  0x00007f64d48aa8f1 in WebCore::RenderElement::layoutIfNeeded (this=0x7f64b53cf190) at ../../Source/WebCore/rendering/RenderElement.h:135
#6  0x00007f64d49a0f61 in WebCore::RenderFlexibleBox::layoutAndPlaceChildren (this=0x7f64b53cf0c8, crossAxisOffset=..., children=..., childSizes=..., availableFreeSpace=..., relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:1131
#7  0x00007f64d499e7c9 in WebCore::RenderFlexibleBox::layoutFlexItems (this=0x7f64b53cf0c8, relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:708
#8  0x00007f64d499c8c4 in WebCore::RenderFlexibleBox::layoutBlock (this=0x7f64b53cf0c8, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:275
#9  0x00007f64d48d77c6 in WebCore::RenderBlock::layout (this=0x7f64b53cf0c8) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#10 0x00007f64d490694c in WebCore::RenderBlockFlow::layoutBlockChild (this=0x7f64b52dd228, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:709
#11 0x00007f64d490648a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x7f64b52dd228, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:632
#12 0x00007f64d49058ea in WebCore::RenderBlockFlow::layoutBlock (this=0x7f64b52dd228, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:485
#13 0x00007f64d48d77c6 in WebCore::RenderBlock::layout (this=0x7f64b52dd228) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#14 0x00007f64d4aee02f in WebCore::RenderView::layoutContent (this=0x7f64b52dd228, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:253
#15 0x00007f64d4aee727 in WebCore::RenderView::layout (this=0x7f64b52dd228) at ../../Source/WebCore/rendering/RenderView.cpp:378
#16 0x00007f64d46b4346 in WebCore::FrameView::layout (this=0x7f64b500c000, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1427
#17 0x00007f64d4106a83 in WebCore::Document::implicitClose (this=0x7f64b501d900) at ../../Source/WebCore/dom/Document.cpp:2704
#18 0x00007f64d4574e91 in WebCore::FrameLoader::checkCallImplicitClose (this=0x7f64b52e4098) at ../../Source/WebCore/loader/FrameLoader.cpp:861
#19 0x00007f64d4574bc1 in WebCore::FrameLoader::checkCompleted (this=0x7f64b52e4098) at ../../Source/WebCore/loader/FrameLoader.cpp:807
#20 0x00007f64d4574937 in WebCore::FrameLoader::finishedParsing (this=0x7f64b52e4098) at ../../Source/WebCore/loader/FrameLoader.cpp:728
#21 0x00007f64d4110bb4 in WebCore::Document::finishedParsing (this=0x7f64b501d900) at ../../Source/WebCore/dom/Document.cpp:4897
#22 0x00007f64d54aa7ab in WebCore::HTMLConstructionSite::finishedParsing (this=0x7f64b52fe6e0) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:403
#23 0x00007f64d446adb2 in WebCore::HTMLTreeBuilder::finished (this=0x7f64b52fe6c0) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2937
#24 0x00007f64d443b0a8 in WebCore::HTMLDocumentParser::end (this=0x7f64b5048cc0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:393
#25 0x00007f64d443b176 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x7f64b5048cc0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:402
#26 0x00007f64d4439e6b in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x7f64b5048cc0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:132
#27 0x00007f64d443b1b1 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x7f64b5048cc0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:414
#28 0x00007f64d443b261 in WebCore::HTMLDocumentParser::finish (this=0x7f64b5048cc0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:442
#29 0x00007f64d4560166 in WebCore::DocumentWriter::end (this=0x7f64b502ef20) at ../../Source/WebCore/loader/DocumentWriter.cpp:247
#30 0x00007f64d454960a in WebCore::DocumentLoader::finishedLoading (this=0x7f64b502ee80, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:437
#31 0x00007f64d4549364 in WebCore::DocumentLoader::notifyFinished (this=0x7f64b502ee80, resource=0x7f64b50261c0) at ../../Source/WebCore/loader/DocumentLoader.cpp:384
#32 0x00007f64d45f5d0d in WebCore::CachedResource::checkNotify (this=0x7f64b50261c0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:297
#33 0x00007f64d45f5e22 in WebCore::CachedResource::finishLoading (this=0x7f64b50261c0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:313
#34 0x00007f64d45f2044 in WebCore::CachedRawResource::finishLoading (this=0x7f64b50261c0, data=0x7f64b53bf900) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:103
#35 0x00007f64d45ba1a1 in WebCore::SubresourceLoader::didFinishLoading (this=0x7f64b502fa80, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:372
#36 0x00007f64d45b4be7 in WebCore::ResourceLoader::didFinishLoading (this=0x7f64b502fa80, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:638
#37 0x00007f64d4dbeb45 in WebCore::readCallback (asyncResult=0xbab9a0, data=0x7f64b53bd740) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1341
#38 0x00007f64cc9814e6 in async_ready_callback_wrapper (source_object=0xabf5b0, res=0xbab9a0, user_data=0x7f64b53bd740) at ginputstream.c:523
#39 0x00007f64cc9a7a04 in g_task_return_now (task=0xbab9a0) at gtask.c:1077
#40 0x00007f64cc9a7a29 in complete_in_idle_cb (task=0xbab9a0) at gtask.c:1086
#41 0x00007f64cc3dd72a in g_main_dispatch (context=0xab9700) at gmain.c:3064
#42 g_main_context_dispatch (context=context@entry=0xab9700) at gmain.c:3663
#43 0x00007f64cdd34b50 in _ecore_glib_select__locked (ecore_timeout=&lt;optimized out&gt;, efds=0x7ffce346d7e0, wfds=0x7ffce346d760, rfds=0x7ffce346d6e0, ecore_fds=&lt;optimized out&gt;, ctx=&lt;optimized out&gt;) at lib/ecore/ecore_glib.c:175
#44 _ecore_glib_select (ecore_fds=&lt;optimized out&gt;, rfds=0x7ffce346d6e0, wfds=0x7ffce346d760, efds=0x7ffce346d7e0, ecore_timeout=&lt;optimized out&gt;) at lib/ecore/ecore_glib.c:208
#45 0x00007f64cdd37b8c in _ecore_main_select (timeout=&lt;optimized out&gt;) at lib/ecore/ecore_main.c:1481
#46 0x00007f64cdd38665 in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:1913
#47 0x00007f64cdd38827 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:988
#48 0x00007f64d5be0ebb in WTF::RunLoop::run () at ../../Source/WTF/wtf/efl/RunLoopEfl.cpp:49
#49 0x00007f64d3e81f7a in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7ffce346dc48) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#50 0x00007f64d3e81b88 in WebKit::WebProcessMainUnix (argc=2, argv=0x7ffce346dc48) at ../../Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:161
#51 0x000000000040089a in main (argc=2, argv=0x7ffce346dc48) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144401</commentid>
    <comment_count>1</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-11-25 02:20:24 -0800</bug_when>
    <thetext>Yeah, this is an actual issue, indeed. Thanks for reporting, I&apos;ll take care of it ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217778</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-04 18:29:56 -0700</bug_when>
    <thetext>This reproduces in r204037.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217780</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-04 18:30:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/27711829&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221457</commentid>
    <comment_count>4</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-19 13:36:00 -0700</bug_when>
    <thetext>Somehow, I forgot about this bug. I&apos;ll take a look as soon as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222798</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-08-24 13:14:18 -0700</bug_when>
    <thetext>This is just an unsupported alignment value (blocked on bug 135460).

*** This bug has been marked as a duplicate of bug 135460 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223019</commentid>
    <comment_count>6</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-25 02:55:21 -0700</bug_when>
    <thetext>Even though bug #135460 can be considered the root cause of this bug, I&apos;d not say it&apos;s duplicated. We shouldn&apos;t allow the layout code to reach those values, which are protected with an assert because the correspond to a new parsing logic of the new CSS Box Alignment specification.

I think we had the new parsing logic implemented behind the GRID_LAYOUT compile  flag, but if I remember correctly, we have remove it. 

I&apos;d like to reopen the bug to investigate what happened and whether there is a way to avoid the assert even when the new values are not implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223073</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-08-25 09:16:38 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Even though bug #135460 can be considered the root cause of this bug, I&apos;d
&gt; not say it&apos;s duplicated. We shouldn&apos;t allow the layout code to reach those
&gt; values, which are protected with an assert because the correspond to a new
&gt; parsing logic of the new CSS Box Alignment specification.
&gt; 
&gt; I think we had the new parsing logic implemented behind the GRID_LAYOUT
&gt; compile  flag, but if I remember correctly, we have remove it. 
&gt; 
&gt; I&apos;d like to reopen the bug to investigate what happened and whether there is
&gt; a way to avoid the assert even when the new values are not implemented.
Sure, please investigate it. Duping this to bug 135460 was more of a wishful thinking on my side :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223078</commentid>
    <comment_count>8</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-25 09:22:02 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; I&apos;d like to reopen the bug to investigate what happened and whether there is
&gt; &gt; a way to avoid the assert even when the new values are not implemented.
&gt; Sure, please investigate it. Duping this to bug 135460 was more of a wishful
&gt; thinking on my side :)

Np :) I&apos;m on it and hopefully will send a patch for review today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223444</commentid>
    <comment_count>9</comment_count>
      <attachid>287081</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-26 02:04:17 -0700</bug_when>
    <thetext>Created attachment 287081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223453</commentid>
    <comment_count>10</comment_count>
      <attachid>287087</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-26 02:22:09 -0700</bug_when>
    <thetext>Created attachment 287087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223516</commentid>
    <comment_count>11</comment_count>
      <attachid>287108</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-26 08:57:30 -0700</bug_when>
    <thetext>Created attachment 287108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223935</commentid>
    <comment_count>12</comment_count>
      <attachid>287108</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-27 13:29:12 -0700</bug_when>
    <thetext>Comment on attachment 287108
Patch

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

&gt; Source/WebCore/css/parser/CSSParser.cpp:824
&gt; +        // FIXME: For now, we will do it behing the GRID_LAYOUT compile flag.

Typo: behing

&gt; Source/WebCore/css/parser/CSSParser.cpp:830
&gt; +        // FIXME: For now, we will do it behing the GRID_LAYOUT compile flag.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224065</commentid>
    <comment_count>13</comment_count>
      <attachid>287232</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-28 07:15:05 -0700</bug_when>
    <thetext>Created attachment 287232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224066</commentid>
    <comment_count>14</comment_count>
      <attachid>287232</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-28 07:47:31 -0700</bug_when>
    <thetext>Comment on attachment 287232
Patch

Clearing flags on attachment: 287232

Committed r205102: &lt;http://trac.webkit.org/changeset/205102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224067</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-28 07:47:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225300</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-09-01 03:19:29 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Comment on attachment 287232 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 287232
&gt; 
&gt; Committed r205102: &lt;http://trac.webkit.org/changeset/205102&gt;

It broke the !ENABLE(CSS_GRID_LAYOUT) build:

../../Source/WebCore/css/parser/CSSParser.cpp: In function &apos;bool WebCore::isKeywordPropertyID(WebCore::CSSPropertyID)&apos;:
../../Source/WebCore/css/parser/CSSParser.cpp:1160:58: error: &apos;class WebCore::RuntimeEnabledFeatures&apos; has no member named &apos;isCSSGridLayoutEnabled&apos;

isCSSGridLayoutEnabled() shouldn&apos;t be used without #if ENABLE(CSS_GRID_LAYOUT) guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225305</commentid>
    <comment_count>17</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-09-01 03:56:46 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; Comment on attachment 287232 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 287232
&gt; &gt; 
&gt; &gt; Committed r205102: &lt;http://trac.webkit.org/changeset/205102&gt;
&gt; 
&gt; It broke the !ENABLE(CSS_GRID_LAYOUT) build:
&gt; 
&gt; ../../Source/WebCore/css/parser/CSSParser.cpp: In function &apos;bool
&gt; WebCore::isKeywordPropertyID(WebCore::CSSPropertyID)&apos;:
&gt; ../../Source/WebCore/css/parser/CSSParser.cpp:1160:58: error: &apos;class
&gt; WebCore::RuntimeEnabledFeatures&apos; has no member named &apos;isCSSGridLayoutEnabled&apos;
&gt; 
&gt; isCSSGridLayoutEnabled() shouldn&apos;t be used without #if
&gt; ENABLE(CSS_GRID_LAYOUT) guard.

Sorry about that. I&apos;ll land a fix ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225315</commentid>
    <comment_count>18</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-09-01 06:56:52 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #14)
&gt; &gt; &gt; Comment on attachment 287232 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Clearing flags on attachment: 287232
&gt; &gt; &gt; 
&gt; &gt; &gt; Committed r205102: &lt;http://trac.webkit.org/changeset/205102&gt;
&gt; &gt; 
&gt; &gt; It broke the !ENABLE(CSS_GRID_LAYOUT) build:
&gt; &gt; 
&gt; &gt; ../../Source/WebCore/css/parser/CSSParser.cpp: In function &apos;bool
&gt; &gt; WebCore::isKeywordPropertyID(WebCore::CSSPropertyID)&apos;:
&gt; &gt; ../../Source/WebCore/css/parser/CSSParser.cpp:1160:58: error: &apos;class
&gt; &gt; WebCore::RuntimeEnabledFeatures&apos; has no member named &apos;isCSSGridLayoutEnabled&apos;
&gt; &gt; 
&gt; &gt; isCSSGridLayoutEnabled() shouldn&apos;t be used without #if
&gt; &gt; ENABLE(CSS_GRID_LAYOUT) guard.
&gt; 
&gt; Sorry about that. I&apos;ll land a fix ASAP.

I&apos;ve filed bug #161485 to land the patch after getting green EWS.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>266140</attachid>
            <date>2015-11-24 10:26:59 -0800</date>
            <delta_ts>2015-11-24 10:26:59 -0800</delta_ts>
            <desc>Test</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>76</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PHN0eWxlPgogKiB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBl
bmQgc2FmZTsKfQo8L3N0eWxlPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287081</attachid>
            <date>2016-08-26 02:04:17 -0700</date>
            <delta_ts>2016-08-26 02:22:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151591-20160826110212.patch</filename>
            <type>text/plain</type>
            <size>12743</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTZlNTdmMjkzYTM1Y2U1
N2VkOWNmOWRkNWM1OWYwZTllYzE0OGRjYy4uYzYyY2NkYTVhNjU1ZTA0MDA0MmQxMjQ3Y2NjOWVj
MjE5NTdiNWYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA4LTI2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFNob3VsZCBu
ZXZlciBiZSByZWFjaGVkIGZhaWx1cmUgaW4gV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmFs
aWduQ2hpbGRyZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3MTE4Mjk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFsaWduLXNlbGYgYW5k
IGFsaWduLWl0ZW1zIENTUyBwcm9wZXJ0aWVzIHdlcmUgb3JpZ2luYWxseSBkZWZpbmVkIGluIHRo
ZQorICAgICAgICBGbGV4YmlibGUgQm94IHNwZWNpZmljYXRpb24uIFRoZSBuZXcgQ1NTIEJveCBB
bGlnbm1lbnQgc3BlY2lmaWNhdGlvbiB0cmllcworICAgICAgICB0byBnZW5lcmFsaXplIHRoZW0g
c28gdGhleSBjYW4gYmUgdXNlZCBieSBvdGhlciBsYXlvdXQgbW9kZWxzLCBhcyBpdCdzICB0aGUK
KyAgICAgICAgY2FzZSBvZiB0aGUgR3JpZExheW91dCBzcGVjLgorCisgICAgICAgIFNpbmNlIHdl
IGhhdmUgaW1wbGVtZW50ZWQgdGhlIEdyaWQgTGF5b3V0IHNwZWMgYmVoaW5kIGEgcnVudGltZSBm
bGFnLCB3ZSBzaG91bGQKKyAgICAgICAgZG8gdGhlIHNhbWUgd2l0aCB0aGUgbmV3IHN5bnRheCBv
ZiB0aGVzZSBwcm9wZXJ0aWVzLgorCisgICAgICAgIFRlc3Q6IGNzczMvZmxleGJveC9uZXctYWxp
Z25tZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQuaHRtbAorCisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1ZhbGlkS2V5d29yZFBy
b3BlcnR5QW5kVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6aXNLZXl3b3JkUHJvcGVydHlJRCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisKIDIwMTYtMDgtMjIgIEZyZWRlcmljIFdhbmcg
IDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbmFtZSBNYXRoTUxUZXh0RWxlbWVudCB0
byBNYXRoTUxUb2tlbkVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMGY2MmEz
OGFkYjY4Njk2ZmViZDgxNDFiNDQ4ODJmMTg3NzY0YjE5NS4uODU5ZTNkM2E3MmY2ZDQ0MWRiNjJl
YzBmN2Y5YTA4MjE3YzY0Y2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTgxOSw2
ICs4MTksMTggQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJvcGVydHlBbmRW
YWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQsIGludAogICAgICAgICBpZiAodmFsdWVJRCA9
PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUJhbGFuY2UpCiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWdu
SXRlbXM6CisgICAgICAgIC8vIEZJWE1FOiBQZXIgQ1NTIGFsaWdubWVudCwgdGhpcyBwcm9wZXJ0
eSBzaG91bGQgYWNjZXB0IHRoZSBzYW1lIGFyZ3VtZW50cyBhcyAnanVzdGlmeS1zZWxmJyBzbyB3
ZSBzaG91bGQgc2hhcmUgaXRzIHBhcnNpbmcgY29kZS4KKyAgICAgICAgLy8gRklYTUU6IEZvciBu
b3csIHdlIHdpbGwgZG8gaXQgYmVoaW5nIHRoZSBHUklEX0xBWU9VVCBjb21waWxlIGZsYWcuCisg
ICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlRmxleFN0YXJ0IHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVGbGV4RW5kIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVDZW50ZXIgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZUJhc2VsaW5lIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTdHJldGNoKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBbGln
blNlbGY6CisgICAgICAgIC8vIEZJWE1FOiBQZXIgQ1NTIGFsaWdubWVudCwgdGhpcyBwcm9wZXJ0
eSBzaG91bGQgYWNjZXB0IHRoZSBzYW1lIGFyZ3VtZW50cyBhcyAnanVzdGlmeS1zZWxmJyBzbyB3
ZSBzaG91bGQgc2hhcmUgaXRzIHBhcnNpbmcgY29kZS4KKyAgICAgICAgLy8gRklYTUU6IEZvciBu
b3csIHdlIHdpbGwgZG8gaXQgYmVoaW5nIHRoZSBHUklEX0xBWU9VVCBjb21waWxlIGZsYWcuCisg
ICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlQXV0byB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
RmxleFN0YXJ0IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVGbGV4RW5kIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVDZW50ZXIgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUJhc2VsaW5lIHx8IHZhbHVlSUQgPT0g
Q1NTVmFsdWVTdHJldGNoKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ1NTUHJvcGVydHlGbGV4RGlyZWN0aW9uOgogICAgICAgICBpZiAodmFsdWVJ
RCA9PSBDU1NWYWx1ZVJvdyB8fCB2YWx1ZUlEID09IENTU1ZhbHVlUm93UmV2ZXJzZSB8fCB2YWx1
ZUlEID09IENTU1ZhbHVlQ29sdW1uIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVDb2x1bW5SZXZlcnNl
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTQzLDYgKzExNTUsOSBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNLZXl3b3JkUHJvcGVydHlJRChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQp
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50Q2FwczoKICAgICBjYXNlIENTU1Byb3Bl
cnR5Rm9udFZhcmlhbnRBbHRlcm5hdGVzOgogICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5QWxpZ25JdGVtczoKKyAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25TZWxmOgor
ICAgICAgICByZXR1cm4gIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
aXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CkBAIC0yNzIzLDggKzI3MzgsMTAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBwYXJz
ZWRWYWx1ZSA9IHBhcnNlQ29udGVudERpc3RyaWJ1dGlvbk92ZXJmbG93UG9zaXRpb24oKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUp1c3RpZnlTZWxmOgorICAgICAgICBB
U1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pc0NTU0dyaWRM
YXlvdXRFbmFibGVkKCkpOwogICAgICAgICByZXR1cm4gcGFyc2VJdGVtUG9zaXRpb25PdmVyZmxv
d1Bvc2l0aW9uKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5SnVzdGlm
eUl0ZW1zOgorICAgICAgICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkKCkpOwogICAgICAgICBpZiAocGFyc2VMZWdh
Y3lQb3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgbV92YWx1ZUxpc3QtPnNldEN1cnJlbnRJbmRleCgwKTsKQEAgLTMxNDMsOSArMzE2
MCwxMSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VDb250ZW50RGlzdHJp
YnV0aW9uT3ZlcmZsb3dQb3NpdGlvbigpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1By
b3BlcnR5QWxpZ25TZWxmOgorICAgICAgICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkKCkpOwogICAgICAgICByZXR1
cm4gcGFyc2VJdGVtUG9zaXRpb25PdmVyZmxvd1Bvc2l0aW9uKHByb3BJZCwgaW1wb3J0YW50KTsK
IAogICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbkl0ZW1zOgorICAgICAgICBBU1NFUlQoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pc0NTU0dyaWRMYXlvdXRFbmFibGVk
KCkpOwogICAgICAgICByZXR1cm4gcGFyc2VJdGVtUG9zaXRpb25PdmVyZmxvd1Bvc2l0aW9uKHBy
b3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGU6
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckNvbGxhcHNlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggZjBmMzliMGU3MDIyM2M1ODBj
NGIwMDE2ZjI0YjlkY2E4ZWIyYzg4NS4uNzVhYTljNzZlNjhhMjcxYzUzZTFjNTFmM2IyNTBlOTUy
MWUxMDdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVyLmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVk
ZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0xMzk3LDYgKzEzOTgsOCBAQCB2b2lkIFJlbmRlckZs
ZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVD
b250ZXh0cykKICAgICAgICAgICAgICAgICAvLyB5ZXQgZm9yIEZsZXhpYmxlQm94LgogICAgICAg
ICAgICAgICAgIC8vIERlZmF1bHRpbmcgdG8gU3RyZXRjaCBmb3Igbm93LCBhcyBpdCB3aGF0IG1v
c3Qgb2YgRmxleEJveCBiYXNlZCByZW5kZXJzCiAgICAgICAgICAgICAgICAgLy8gZXhwZWN0IGFz
IGRlZmF1bHQuCisgICAgICAgICAgICAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSkKKyAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBjYXNlIEl0ZW1Qb3NpdGlv
blN0cmV0Y2g6IHsKICAgICAgICAgICAgICAgICBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxk
KCpjaGlsZCwgbGluZUNyb3NzQXhpc0V4dGVudCk7CiAgICAgICAgICAgICAgICAgLy8gU2luY2Ug
d3JhcC1yZXZlcnNlIGZsaXBzIGNyb3NzIHN0YXJ0IGFuZCBjcm9zcyBlbmQsIHN0cmVjaCBjaGls
ZHJlbiBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBjcm9zcyBlbmQuCkBAIC0xNDMxLDYgKzE0
MzQsOSBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3Rv
cjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykKICAgICAgICAgICAgIGNhc2UgSXRlbVBvc2l0
aW9uUmlnaHQ6CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzEzNTQ2MCAtIFRoZSBleHRlbmRlZCBncmFtbWFyIGlzIG5vdCBzdXBwb3J0ZWQKICAgICAgICAg
ICAgICAgICAvLyB5ZXQgZm9yIEZsZXhpYmxlQm94LgorICAgICAgICAgICAgICAgIGlmICghUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pc0NTU0dyaWRMYXlvdXRFbmFi
bGVkKCkpCisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkODhl
NTEzMTFiZWM1MTBkYWM4ZGEzMzkyNjM4ZWY4YWYyM2RiYmVlLi4yYjhmMGM2YWY2OTUzYzVkMzlk
ZmRlNGZmMGFiMGU4YjIwYzA4ZWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDgtMjYg
IEphdmllciBGZXJuYW5kZXogIDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgU2hv
dWxkIG5ldmVyIGJlIHJlYWNoZWQgZmFpbHVyZSBpbiBXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6YWxpZ25DaGlsZHJlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUxNTkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNzcxMTgyOT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRvIHZlcmlm
eSB0aGF0IGFsaWduLXNlbGYgYW5kIGFsaWduLWl0ZW1zIENTUyBwcm9wZXJ0aWVzIHVzZSB0aGUg
b2xkCisgICAgICAgIHN5bnRheCB3aGVuIHRoZSBHcmlkIExheW91dCBmZWF0dXJlIGlzIG5vdCBl
bmFibGVkLgorCisgICAgICAgICogY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWlu
dmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNzczMvZmxleGJveC9uZXctYWxpZ25tZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVu
YWJsZWQuaHRtbDogQWRkZWQuCisKIDIwMTYtMDgtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIExheW91dFRlc3QgaHR0cC90ZXN0cy9mZXRjaC9mZXRjaC1p
bi13b3JrZXItY3Jhc2guaHRtbCBpcyBmbGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12
YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mODgzYjJlNjYzMWM5NGQ2YTU0ODg4MzNlY2YxOWZlNThjN2VlZmU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFs
aWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NyBAQAorVGVz
dCB0byB2ZXJpZnkgdGhhdCB0aGUgbmV3IGFsaWdubWVudCB2YWx1ZXMgYXJlIHBhcnNlZCBhcyBp
bnZhbGlkIGlmIEdyaWQgTGF5b3V0IGlzIGRpc2FibGVkIGFuZCBpbiBhbnkgY2FzZSB0aGV5IGRv
IG5vdCBjYXVzZSBhIGNyYXNoIGJlY2F1c2UgYXNzZXJ0aW9ucyBpbiBmbGV4Ym94IGxheW91dCBj
b2RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitOZXcgYWxpZ25tZW50IHZh
bHVlcyBzaG91bGQgYmUgaW52YWxpZCB3aGVuIGdyaWQgbGF5b3V0IGlzIGRpc2FibGVkCisKK1Rl
c3RpbmcgU2VsZi1BbGlnbm1lbnQgdmFsdWVzLgorUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3Rh
cnQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlzICdm
bGV4LXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQnCitQQVNTIGFsaWduU2Vs
ZiBpcyAnZmxleC1zdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0JworCitUZXN0
aW5nIERlZmF1bHQtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25JdGVtcyBpcyAnZmxleC1l
bmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduSXRlbXMgaXMgJ2Zs
ZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnbkl0ZW1zIGlz
ICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25JdGVt
cyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWdu
SXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtZW5kJworUEFTUyBh
bGlnbkl0ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LWVuZCcKKwor
RXZlbiB3aGVuIGdyaWQgbGF5b3V0IGlzIGVuYWJsZWQsIG5ldyB2YWx1ZXMgc2hvdWxkIG5vdCB2
aW9sYXRlIGFzc2VydGlvbnMgaW4gRmxleGlibGVCb3ggbGF5b3V0IGxvZ2ljLgorCitUZXN0aW5n
IFNlbGYtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25TZWxmIGlzICdzdGFydCB1bnNhZmUn
CitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnZW5kJworUEFT
UyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQgc2FmZScKK1BBU1MgYWxpZ25TZWxmIGlzICdzZWxm
LXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ3NlbGYtZW5kJworCitUZXN0aW5nIERlZmF1bHQt
QWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25JdGVtcyBpcyAnc3RhcnQgdW5zYWZlJworUEFT
UyBhbGlnblNlbGYgaXMgJ3N0YXJ0IHVuc2FmZScKK1BBU1MgYWxpZ25JdGVtcyBpcyAnc3RhcnQn
CitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQnCitQQVNTIGFsaWduSXRlbXMgaXMgJ2VuZCcKK1BB
U1MgYWxpZ25TZWxmIGlzICdlbmQnCitQQVNTIGFsaWduSXRlbXMgaXMgJ2ZsZXgtc3RhcnQgc2Fm
ZScKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0IHNhZmUnCitQQVNTIGFsaWduSXRlbXMg
aXMgJ3NlbGYtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnc2VsZi1zdGFydCcKK1BBU1MgYWxp
Z25JdGVtcyBpcyAnc2VsZi1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnc2VsZi1lbmQnCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQt
aWYtZ3JpZC1ub3QtZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1h
bGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg3NTFmZWZmMmUxMDY5YTk0ZTUwZjk5ZWE5ZmUxYzIyYTZlMmM5YWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12YWx1ZXMtaW52
YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8ZGl2IGlkPSJmbGV4Q29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTogZmxleCI+Cisg
ICAgPGRpdiBpZD0iZmxleEl0ZW0iPjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBuZXcgYWxpZ25tZW50IHZhbHVlcyBhcmUgcGFyc2VkIGFz
IGludmFsaWQgaWYgR3JpZCBMYXlvdXQgaXMgZGlzYWJsZWQgYW5kIGluIGFueSBjYXNlIHRoZXkg
ZG8gbm90IGNhdXNlIGEgY3Jhc2ggYmVjYXVzZSBhc3NlcnRpb25zIGluIGZsZXhib3ggbGF5b3V0
IGNvZGUuJyk7CisKK2Z1bmN0aW9uIGNoZWNrQWxpZ25TZWxmVmFsdWUodmFsdWUsIGNvbXB1dGVk
VmFsdWUsIGdyaWRFbmFibGVkKQoreworICAgIGl0ZW0uc3R5bGUud2Via2l0QWxpZ25TZWxmID0g
dmFsdWU7CisgICAgYWxpZ25TZWxmID0gZ2V0Q29tcHV0ZWRTdHlsZShpdGVtLCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1hbGlnbi1zZWxmJyk7CisgICAgaWYgKGdyaWRFbmFibGVkKQor
ICAgICAgICBzaG91bGRCZSgiYWxpZ25TZWxmIiwgY29tcHV0ZWRWYWx1ZSk7CisgICAgZWxzZQor
ICAgICAgICBzaG91bGRCZSgiYWxpZ25TZWxmIiwgIidmbGV4LXN0YXJ0JyIpOworfQorCitmdW5j
dGlvbiBjaGVja0FsaWduSXRlbXNWYWx1ZSh2YWx1ZSwgY29tcHV0ZWRWYWx1ZSwgZ3JpZEVuYWJs
ZWQpCit7CisgICAgY29udGFpbmVyLnN0eWxlLndlYmtpdEFsaWduSXRlbXMgPSB2YWx1ZTsKKyAg
ICBhbGlnbkl0ZW1zID0gZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWFsaWduLWl0ZW1zJyk7CisgICAgYWxpZ25TZWxmID0gZ2V0Q29tcHV0
ZWRTdHlsZShpdGVtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1hbGlnbi1zZWxmJyk7
CisgICAgaWYgKGdyaWRFbmFibGVkKSB7CisgICAgICAgIHNob3VsZEJlKCJhbGlnbkl0ZW1zIiwg
Y29tcHV0ZWRWYWx1ZSk7CisgICAgICAgIHNob3VsZEJlKCJhbGlnblNlbGYiLCBjb21wdXRlZFZh
bHVlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzaG91bGRCZSgiYWxpZ25JdGVtcyIsICInZmxl
eC1lbmQnIik7CisgICAgICAgIHNob3VsZEJlKCJhbGlnblNlbGYiLCAiJ2ZsZXgtZW5kJyIpOwor
ICAgIH0KK30KKworZnVuY3Rpb24gY2hlY2tBbGlnbm1lbnRWYWx1ZXMoZ3JpZEVuYWJsZWQpCit7
CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXRDU1NHcmlk
TGF5b3V0RW5hYmxlZChncmlkRW5hYmxlZCk7CisKKyAgICBkZWJ1ZygnPGJyPlRlc3RpbmcgU2Vs
Zi1BbGlnbm1lbnQgdmFsdWVzLicpOworICAgIGNoZWNrQWxpZ25TZWxmVmFsdWUoInN0YXJ0IHVu
c2FmZSIsICInc3RhcnQgdW5zYWZlJyIsIGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25TZWxm
VmFsdWUoInN0YXJ0IiwgIidzdGFydCciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduU2Vs
ZlZhbHVlKCJlbmQiLCAiJ2VuZCciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduU2VsZlZh
bHVlKCJmbGV4LXN0YXJ0IHNhZmUiLCAiJ2ZsZXgtc3RhcnQgc2FmZSciLCBncmlkRW5hYmxlZCkK
KyAgICBjaGVja0FsaWduU2VsZlZhbHVlKCJzZWxmLXN0YXJ0IiwgIidzZWxmLXN0YXJ0JyIsIGdy
aWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25TZWxmVmFsdWUoInNlbGYtZW5kIiwgIidzZWxmLWVu
ZCciLCBncmlkRW5hYmxlZCkKKworICAgIGl0ZW0uc3R5bGUud2Via2l0QWxpZ25TZWxmID0gImF1
dG8iOworCisgICAgZGVidWcoJzxicj5UZXN0aW5nIERlZmF1bHQtQWxpZ25tZW50IHZhbHVlcy4n
KTsKKyAgICBjaGVja0FsaWduSXRlbXNWYWx1ZSgic3RhcnQgdW5zYWZlIiwgIidzdGFydCB1bnNh
ZmUnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0ZW1zVmFsdWUoInN0YXJ0IiwgIidz
dGFydCciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduSXRlbXNWYWx1ZSgiZW5kIiwgIidl
bmQnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0ZW1zVmFsdWUoImZsZXgtc3RhcnQg
c2FmZSIsICInZmxleC1zdGFydCBzYWZlJyIsIGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25J
dGVtc1ZhbHVlKCJzZWxmLXN0YXJ0IiwgIidzZWxmLXN0YXJ0JyIsIGdyaWRFbmFibGVkKQorICAg
IGNoZWNrQWxpZ25JdGVtc1ZhbHVlKCJzZWxmLWVuZCIsICInc2VsZi1lbmQnIiwgZ3JpZEVuYWJs
ZWQpCisKKyAgICBpdGVtLnN0eWxlLndlYmtpdEFsaWduU2VsZiA9ICJmbGV4LXN0YXJ0IjsKK30K
KwordmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4Q29udGFpbmVy
Iik7Cit2YXIgaXRlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4SXRlbSIpOworCitj
b250YWluZXIuc3R5bGUud2Via2l0QWxpZ25JdGVtcyA9ICJmbGV4LWVuZCI7CitpdGVtLnN0eWxl
LndlYmtpdEFsaWduU2VsZiA9ICJmbGV4LXN0YXJ0IjsKK3ZhciBhbGlnblNlbGYgPSAiZmxleC1z
dGFydCI7Cit2YXIgYWxpZ25JdGVtcyA9ICJmbGV4LXN0YXJ0IjsKKworZGVidWcoJzxicj5OZXcg
YWxpZ25tZW50IHZhbHVlcyBzaG91bGQgYmUgaW52YWxpZCB3aGVuIGdyaWQgbGF5b3V0IGlzIGRp
c2FibGVkJyk7CitjaGVja0FsaWdubWVudFZhbHVlcyhmYWxzZSk7CisKK2RlYnVnKCc8YnI+RXZl
biB3aGVuIGdyaWQgbGF5b3V0IGlzIGVuYWJsZWQsIG5ldyB2YWx1ZXMgc2hvdWxkIG5vdCB2aW9s
YXRlIGFzc2VydGlvbnMgaW4gRmxleGlibGVCb3ggbGF5b3V0IGxvZ2ljLicpOworY2hlY2tBbGln
bm1lbnRWYWx1ZXModHJ1ZSk7CisKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287087</attachid>
            <date>2016-08-26 02:22:09 -0700</date>
            <delta_ts>2016-08-26 08:57:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151591-20160826112004.patch</filename>
            <type>text/plain</type>
            <size>12814</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FlMmI3YTNjMWNmNTQ3
YTIxOTI3MzAzNzRjODkwNTk3N2U5YTYxOC4uZGQ2ODdmMzQwOWRiZDY3YzI3OWJlYTQzNWEyYTgy
YTFlYWQ3ZjE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA4LTI2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFNob3VsZCBu
ZXZlciBiZSByZWFjaGVkIGZhaWx1cmUgaW4gV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmFs
aWduQ2hpbGRyZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3MTE4Mjk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFsaWduLXNlbGYgYW5k
IGFsaWduLWl0ZW1zIENTUyBwcm9wZXJ0aWVzIHdlcmUgb3JpZ2luYWxseSBkZWZpbmVkIGluIHRo
ZQorICAgICAgICBGbGV4YmlibGUgQm94IHNwZWNpZmljYXRpb24uIFRoZSBuZXcgQ1NTIEJveCBB
bGlnbm1lbnQgc3BlY2lmaWNhdGlvbiB0cmllcworICAgICAgICB0byBnZW5lcmFsaXplIHRoZW0g
c28gdGhleSBjYW4gYmUgdXNlZCBieSBvdGhlciBsYXlvdXQgbW9kZWxzLCBhcyBpdCdzICB0aGUK
KyAgICAgICAgY2FzZSBvZiB0aGUgR3JpZExheW91dCBzcGVjLgorCisgICAgICAgIFNpbmNlIHdl
IGhhdmUgaW1wbGVtZW50ZWQgdGhlIEdyaWQgTGF5b3V0IHNwZWMgYmVoaW5kIGEgcnVudGltZSBm
bGFnLCB3ZSBzaG91bGQKKyAgICAgICAgZG8gdGhlIHNhbWUgd2l0aCB0aGUgbmV3IHN5bnRheCBv
ZiB0aGVzZSBwcm9wZXJ0aWVzLgorCisgICAgICAgIFRlc3Q6IGNzczMvZmxleGJveC9uZXctYWxp
Z25tZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQuaHRtbAorCisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1ZhbGlkS2V5d29yZFBy
b3BlcnR5QW5kVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6aXNLZXl3b3JkUHJvcGVydHlJRCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisKIDIwMTYtMDgtMjYgIE5hZWwgT3VlZHJhb2dv
ICA8bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIE1ha2UgY3VzdG9tIGNv
bnN0cnVjdG9ycyBjb25zaXN0ZW50IHdpdGggZ2VuZXJhdGVkIGJpbmRpbmdzIGNvZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAppbmRleCAwZjYyYTM4YWRiNjg2OTZmZWJk
ODE0MWI0NDg4MmYxODc3NjRiMTk1Li44NTllM2QzYTcyZjZkNDQxZGI2MmVjMGY3ZjlhMDgyMTdj
NjRjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC04MTks
NiArODE5LDE4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5k
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBpbnQKICAgICAgICAgaWYgKHZhbHVlSUQg
PT0gQ1NTVmFsdWVBdXRvIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVCYWxhbmNlKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBbGln
bkl0ZW1zOgorICAgICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVy
dHkgc2hvdWxkIGFjY2VwdCB0aGUgc2FtZSBhcmd1bWVudHMgYXMgJ2p1c3RpZnktc2VsZicgc28g
d2Ugc2hvdWxkIHNoYXJlIGl0cyBwYXJzaW5nIGNvZGUuCisgICAgICAgIC8vIEZJWE1FOiBGb3Ig
bm93LCB3ZSB3aWxsIGRvIGl0IGJlaGluZyB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgor
ICAgICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUZsZXhTdGFydCB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlRmxleEVuZCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0g
Q1NTVmFsdWVCYXNlbGluZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU3RyZXRjaCkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5QWxp
Z25TZWxmOgorICAgICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVy
dHkgc2hvdWxkIGFjY2VwdCB0aGUgc2FtZSBhcmd1bWVudHMgYXMgJ2p1c3RpZnktc2VsZicgc28g
d2Ugc2hvdWxkIHNoYXJlIGl0cyBwYXJzaW5nIGNvZGUuCisgICAgICAgIC8vIEZJWE1FOiBGb3Ig
bm93LCB3ZSB3aWxsIGRvIGl0IGJlaGluZyB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgor
ICAgICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWVJRCA9PSBDU1NWYWx1
ZUZsZXhTdGFydCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRmxleEVuZCB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVCYXNlbGluZSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlU3RyZXRjaCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVh
azsKICAgICBjYXNlIENTU1Byb3BlcnR5RmxleERpcmVjdGlvbjoKICAgICAgICAgaWYgKHZhbHVl
SUQgPT0gQ1NTVmFsdWVSb3cgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVJvd1JldmVyc2UgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZUNvbHVtbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sdW1uUmV2ZXJz
ZSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0Myw2ICsxMTU1LDkgQEAgc3RhdGlj
IGlubGluZSBib29sIGlzS2V5d29yZFByb3BlcnR5SUQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlk
KQogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHM6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUZvbnRWYXJpYW50QWx0ZXJuYXRlczoKICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFsaWduSXRlbXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWduU2VsZjoK
KyAgICAgICAgcmV0dXJuICFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQpAQCAtMjcyMyw4ICsyNzM4LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcGFy
c2VkVmFsdWUgPSBwYXJzZUNvbnRlbnREaXN0cmlidXRpb25PdmVyZmxvd1Bvc2l0aW9uKCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5U2VsZjoKKyAgICAgICAg
QVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlk
TGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZs
b3dQb3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUp1c3Rp
ZnlJdGVtczoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgaWYgKHBhcnNlTGVn
YWN5UG9zaXRpb24ocHJvcElkLCBpbXBvcnRhbnQpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIG1fdmFsdWVMaXN0LT5zZXRDdXJyZW50SW5kZXgoMCk7CkBAIC0zMTQzLDkgKzMx
NjAsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KQogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlQ29udGVudERpc3Ry
aWJ1dGlvbk92ZXJmbG93UG9zaXRpb24oKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUFsaWduU2VsZjoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcmV0
dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCk7
CiAKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25JdGVtczoKKyAgICAgICAgQVNTRVJUKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxl
ZCgpKTsKICAgICAgICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihw
cm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVN0eWxl
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJDb2xsYXBzZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGYwZjM5YjBlNzAyMjNjNTgw
YzRiMDAxNmYyNGI5ZGNhOGViMmM4ODUuLjc1YWE5Yzc2ZTY4YTI3MWM1M2UxYzUxZjNiMjUwZTk1
MjFlMTA3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgog
I2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1
ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTM5Nyw2ICsxMzk4LDggQEAgdm9pZCBSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbihjb25zdCBWZWN0b3I8TGluZUNvbnRleHQ+JiBsaW5l
Q29udGV4dHMpCiAgICAgICAgICAgICAgICAgLy8geWV0IGZvciBGbGV4aWJsZUJveC4KICAgICAg
ICAgICAgICAgICAvLyBEZWZhdWx0aW5nIHRvIFN0cmV0Y2ggZm9yIG5vdywgYXMgaXQgd2hhdCBt
b3N0IG9mIEZsZXhCb3ggYmFzZWQgcmVuZGVycwogICAgICAgICAgICAgICAgIC8vIGV4cGVjdCBh
cyBkZWZhdWx0LgorICAgICAgICAgICAgICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkKCkpCisgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgY2FzZSBJdGVtUG9zaXRp
b25TdHJldGNoOiB7CiAgICAgICAgICAgICAgICAgYXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGls
ZCgqY2hpbGQsIGxpbmVDcm9zc0F4aXNFeHRlbnQpOwogICAgICAgICAgICAgICAgIC8vIFNpbmNl
IHdyYXAtcmV2ZXJzZSBmbGlwcyBjcm9zcyBzdGFydCBhbmQgY3Jvc3MgZW5kLCBzdHJlY2ggY2hp
bGRyZW4gc2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgY3Jvc3MgZW5kLgpAQCAtMTQzMSw2ICsx
NDM0LDkgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbihjb25zdCBWZWN0
b3I8TGluZUNvbnRleHQ+JiBsaW5lQ29udGV4dHMpCiAgICAgICAgICAgICBjYXNlIEl0ZW1Qb3Np
dGlvblJpZ2h0OgogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL3dlYmtpdC5vcmcv
Yi8xMzU0NjAgLSBUaGUgZXh0ZW5kZWQgZ3JhbW1hciBpcyBub3Qgc3VwcG9ydGVkCiAgICAgICAg
ICAgICAgICAgLy8geWV0IGZvciBGbGV4aWJsZUJveC4KKyAgICAgICAgICAgICAgICBpZiAoIVJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5h
YmxlZCgpKQorICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmJm
MDhlYTBkZjIyNWJjZDIyMzZhM2M2MDA2Zjc5YWZkZjJiMzk3NS4uY2YyZjAyZWQ0NTM2YWYyNTIw
MWNiOGVhYzM3OGY5Y2E1NzlhMjM2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA4LTI2
ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFNo
b3VsZCBuZXZlciBiZSByZWFjaGVkIGZhaWx1cmUgaW4gV2ViQ29yZTo6UmVuZGVyRmxleGlibGVC
b3g6OmFsaWduQ2hpbGRyZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3MTE4Mjk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0byB2ZXJp
ZnkgdGhhdCBhbGlnbi1zZWxmIGFuZCBhbGlnbi1pdGVtcyBDU1MgcHJvcGVydGllcyB1c2UgdGhl
IG9sZAorICAgICAgICBzeW50YXggd2hlbiB0aGUgR3JpZCBMYXlvdXQgZmVhdHVyZSBpcyBub3Qg
ZW5hYmxlZC4KKworICAgICAgICAqIGNzczMvZmxleGJveC9uZXctYWxpZ25tZW50LXZhbHVlcy1p
bnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1l
bmFibGVkLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA4LTI2ICBOYWVsIE91ZWRyYW9nbyAgPG5hZWwu
b3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBNYWtlIGN1c3RvbSBjb25zdHJ1Y3Rv
cnMgY29uc2lzdGVudCB3aXRoIGdlbmVyYXRlZCBiaW5kaW5ncyBjb2RlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12YWx1ZXMtaW52YWxpZC1pZi1n
cmlkLW5vdC1lbmFibGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9u
ZXctYWxpZ25tZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4ODNiMmU2NjMxYzk0ZDZhNTQ4ODgzM2VjZjE5ZmU1OGM3ZWVmZTQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVu
dC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDU3IEBACitUZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBuZXcgYWxpZ25tZW50IHZhbHVlcyBh
cmUgcGFyc2VkIGFzIGludmFsaWQgaWYgR3JpZCBMYXlvdXQgaXMgZGlzYWJsZWQgYW5kIGluIGFu
eSBjYXNlIHRoZXkgZG8gbm90IGNhdXNlIGEgY3Jhc2ggYmVjYXVzZSBhc3NlcnRpb25zIGluIGZs
ZXhib3ggbGF5b3V0IGNvZGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK05l
dyBhbGlnbm1lbnQgdmFsdWVzIHNob3VsZCBiZSBpbnZhbGlkIHdoZW4gZ3JpZCBsYXlvdXQgaXMg
ZGlzYWJsZWQKKworVGVzdGluZyBTZWxmLUFsaWdubWVudCB2YWx1ZXMuCitQQVNTIGFsaWduU2Vs
ZiBpcyAnZmxleC1zdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0JworUEFTUyBh
bGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCcK
K1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgt
c3RhcnQnCisKK1Rlc3RpbmcgRGVmYXVsdC1BbGlnbm1lbnQgdmFsdWVzLgorUEFTUyBhbGlnbkl0
ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxp
Z25JdGVtcyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1lbmQnCitQQVNT
IGFsaWduSXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtZW5kJwor
UEFTUyBhbGlnbkl0ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LWVu
ZCcKK1BBU1MgYWxpZ25JdGVtcyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxl
eC1lbmQnCitQQVNTIGFsaWduSXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMg
J2ZsZXgtZW5kJworCitFdmVuIHdoZW4gZ3JpZCBsYXlvdXQgaXMgZW5hYmxlZCwgbmV3IHZhbHVl
cyBzaG91bGQgbm90IHZpb2xhdGUgYXNzZXJ0aW9ucyBpbiBGbGV4aWJsZUJveCBsYXlvdXQgbG9n
aWMuCisKK1Rlc3RpbmcgU2VsZi1BbGlnbm1lbnQgdmFsdWVzLgorUEFTUyBhbGlnblNlbGYgaXMg
J3N0YXJ0IHVuc2FmZScKK1BBU1MgYWxpZ25TZWxmIGlzICdzdGFydCcKK1BBU1MgYWxpZ25TZWxm
IGlzICdlbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCBzYWZlJworUEFTUyBhbGln
blNlbGYgaXMgJ3NlbGYtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnc2VsZi1lbmQnCisKK1Rl
c3RpbmcgRGVmYXVsdC1BbGlnbm1lbnQgdmFsdWVzLgorUEFTUyBhbGlnbkl0ZW1zIGlzICdzdGFy
dCB1bnNhZmUnCitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQgdW5zYWZlJworUEFTUyBhbGlnbkl0
ZW1zIGlzICdzdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlzICdzdGFydCcKK1BBU1MgYWxpZ25JdGVt
cyBpcyAnZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2VuZCcKK1BBU1MgYWxpZ25JdGVtcyBpcyAn
ZmxleC1zdGFydCBzYWZlJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQgc2FmZScKK1BB
U1MgYWxpZ25JdGVtcyBpcyAnc2VsZi1zdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlzICdzZWxmLXN0
YXJ0JworUEFTUyBhbGlnbkl0ZW1zIGlzICdzZWxmLWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdz
ZWxmLWVuZCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12
YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZsZXhib3gvbmV3LWFsaWdubWVudC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODc1MWZlZmYyZTEwNjlhOTRlNTBmOTllYTlmZTFjMjJhNmUyYzlh
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9uZXctYWxpZ25t
ZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQuaHRtbApAQCAtMCwwICsxLDcz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxkaXYgaWQ9ImZsZXhDb250YWluZXIiIHN0eWxlPSJkaXNw
bGF5OiBmbGV4Ij4KKyAgICA8ZGl2IGlkPSJmbGV4SXRlbSI+PC9kaXY+Cis8L2Rpdj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ1Rlc3QgdG8gdmVyaWZ5IHRoYXQgdGhlIG5ldyBhbGlnbm1lbnQgdmFsdWVz
IGFyZSBwYXJzZWQgYXMgaW52YWxpZCBpZiBHcmlkIExheW91dCBpcyBkaXNhYmxlZCBhbmQgaW4g
YW55IGNhc2UgdGhleSBkbyBub3QgY2F1c2UgYSBjcmFzaCBiZWNhdXNlIGFzc2VydGlvbnMgaW4g
ZmxleGJveCBsYXlvdXQgY29kZS4nKTsKKworZnVuY3Rpb24gY2hlY2tBbGlnblNlbGZWYWx1ZSh2
YWx1ZSwgY29tcHV0ZWRWYWx1ZSwgZ3JpZEVuYWJsZWQpCit7CisgICAgaXRlbS5zdHlsZS53ZWJr
aXRBbGlnblNlbGYgPSB2YWx1ZTsKKyAgICBhbGlnblNlbGYgPSBnZXRDb21wdXRlZFN0eWxlKGl0
ZW0sICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWFsaWduLXNlbGYnKTsKKyAgICBpZiAo
Z3JpZEVuYWJsZWQpCisgICAgICAgIHNob3VsZEJlKCJhbGlnblNlbGYiLCBjb21wdXRlZFZhbHVl
KTsKKyAgICBlbHNlCisgICAgICAgIHNob3VsZEJlKCJhbGlnblNlbGYiLCAiJ2ZsZXgtc3RhcnQn
Iik7Cit9CisKK2Z1bmN0aW9uIGNoZWNrQWxpZ25JdGVtc1ZhbHVlKHZhbHVlLCBjb21wdXRlZFZh
bHVlLCBncmlkRW5hYmxlZCkKK3sKKyAgICBjb250YWluZXIuc3R5bGUud2Via2l0QWxpZ25JdGVt
cyA9IHZhbHVlOworICAgIGFsaWduSXRlbXMgPSBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lciwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtYWxpZ24taXRlbXMnKTsKKyAgICBhbGlnblNl
bGYgPSBnZXRDb21wdXRlZFN0eWxlKGl0ZW0sICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWFsaWduLXNlbGYnKTsKKyAgICBpZiAoZ3JpZEVuYWJsZWQpIHsKKyAgICAgICAgc2hvdWxkQmUo
ImFsaWduSXRlbXMiLCBjb21wdXRlZFZhbHVlKTsKKyAgICAgICAgc2hvdWxkQmUoImFsaWduU2Vs
ZiIsIGNvbXB1dGVkVmFsdWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNob3VsZEJlKCJhbGln
bkl0ZW1zIiwgIidmbGV4LWVuZCciKTsKKyAgICAgICAgc2hvdWxkQmUoImFsaWduU2VsZiIsICIn
ZmxleC1lbmQnIik7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja0FsaWdubWVudFZhbHVlcyhn
cmlkRW5hYmxlZCkKK3sKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJu
YWxzLnNldENTU0dyaWRMYXlvdXRFbmFibGVkKGdyaWRFbmFibGVkKTsKKworICAgIGRlYnVnKCc8
YnI+VGVzdGluZyBTZWxmLUFsaWdubWVudCB2YWx1ZXMuJyk7CisgICAgY2hlY2tBbGlnblNlbGZW
YWx1ZSgic3RhcnQgdW5zYWZlIiwgIidzdGFydCB1bnNhZmUnIiwgZ3JpZEVuYWJsZWQpCisgICAg
Y2hlY2tBbGlnblNlbGZWYWx1ZSgic3RhcnQiLCAiJ3N0YXJ0JyIsIGdyaWRFbmFibGVkKQorICAg
IGNoZWNrQWxpZ25TZWxmVmFsdWUoImVuZCIsICInZW5kJyIsIGdyaWRFbmFibGVkKQorICAgIGNo
ZWNrQWxpZ25TZWxmVmFsdWUoImZsZXgtc3RhcnQgc2FmZSIsICInZmxleC1zdGFydCBzYWZlJyIs
IGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25TZWxmVmFsdWUoInNlbGYtc3RhcnQiLCAiJ3Nl
bGYtc3RhcnQnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnblNlbGZWYWx1ZSgic2VsZi1l
bmQiLCAiJ3NlbGYtZW5kJyIsIGdyaWRFbmFibGVkKQorCisgICAgaXRlbS5zdHlsZS53ZWJraXRB
bGlnblNlbGYgPSAiYXV0byI7CisKKyAgICBkZWJ1ZygnPGJyPlRlc3RpbmcgRGVmYXVsdC1BbGln
bm1lbnQgdmFsdWVzLicpOworICAgIGNoZWNrQWxpZ25JdGVtc1ZhbHVlKCJzdGFydCB1bnNhZmUi
LCAiJ3N0YXJ0IHVuc2FmZSciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduSXRlbXNWYWx1
ZSgic3RhcnQiLCAiJ3N0YXJ0JyIsIGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25JdGVtc1Zh
bHVlKCJlbmQiLCAiJ2VuZCciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduSXRlbXNWYWx1
ZSgiZmxleC1zdGFydCBzYWZlIiwgIidmbGV4LXN0YXJ0IHNhZmUnIiwgZ3JpZEVuYWJsZWQpCisg
ICAgY2hlY2tBbGlnbkl0ZW1zVmFsdWUoInNlbGYtc3RhcnQiLCAiJ3NlbGYtc3RhcnQnIiwgZ3Jp
ZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0ZW1zVmFsdWUoInNlbGYtZW5kIiwgIidzZWxmLWVu
ZCciLCBncmlkRW5hYmxlZCkKKworICAgIGl0ZW0uc3R5bGUud2Via2l0QWxpZ25TZWxmID0gImZs
ZXgtc3RhcnQiOworfQorCit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZsZXhDb250YWluZXIiKTsKK3ZhciBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZs
ZXhJdGVtIik7CisKK2NvbnRhaW5lci5zdHlsZS53ZWJraXRBbGlnbkl0ZW1zID0gImZsZXgtZW5k
IjsKK2l0ZW0uc3R5bGUud2Via2l0QWxpZ25TZWxmID0gImZsZXgtc3RhcnQiOwordmFyIGFsaWdu
U2VsZiA9ICJmbGV4LXN0YXJ0IjsKK3ZhciBhbGlnbkl0ZW1zID0gImZsZXgtc3RhcnQiOworCitk
ZWJ1ZygnPGJyPk5ldyBhbGlnbm1lbnQgdmFsdWVzIHNob3VsZCBiZSBpbnZhbGlkIHdoZW4gZ3Jp
ZCBsYXlvdXQgaXMgZGlzYWJsZWQnKTsKK2NoZWNrQWxpZ25tZW50VmFsdWVzKGZhbHNlKTsKKwor
ZGVidWcoJzxicj5FdmVuIHdoZW4gZ3JpZCBsYXlvdXQgaXMgZW5hYmxlZCwgbmV3IHZhbHVlcyBz
aG91bGQgbm90IHZpb2xhdGUgYXNzZXJ0aW9ucyBpbiBGbGV4aWJsZUJveCBsYXlvdXQgbG9naWMu
Jyk7CitjaGVja0FsaWdubWVudFZhbHVlcyh0cnVlKTsKKworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287108</attachid>
            <date>2016-08-26 08:57:30 -0700</date>
            <delta_ts>2016-08-28 07:14:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151591-20160826175525.patch</filename>
            <type>text/plain</type>
            <size>12764</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FlMmI3YTNjMWNmNTQ3
YTIxOTI3MzAzNzRjODkwNTk3N2U5YTYxOC4uZGQ2ODdmMzQwOWRiZDY3YzI3OWJlYTQzNWEyYTgy
YTFlYWQ3ZjE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA4LTI2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFNob3VsZCBu
ZXZlciBiZSByZWFjaGVkIGZhaWx1cmUgaW4gV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmFs
aWduQ2hpbGRyZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3MTE4Mjk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFsaWduLXNlbGYgYW5k
IGFsaWduLWl0ZW1zIENTUyBwcm9wZXJ0aWVzIHdlcmUgb3JpZ2luYWxseSBkZWZpbmVkIGluIHRo
ZQorICAgICAgICBGbGV4YmlibGUgQm94IHNwZWNpZmljYXRpb24uIFRoZSBuZXcgQ1NTIEJveCBB
bGlnbm1lbnQgc3BlY2lmaWNhdGlvbiB0cmllcworICAgICAgICB0byBnZW5lcmFsaXplIHRoZW0g
c28gdGhleSBjYW4gYmUgdXNlZCBieSBvdGhlciBsYXlvdXQgbW9kZWxzLCBhcyBpdCdzICB0aGUK
KyAgICAgICAgY2FzZSBvZiB0aGUgR3JpZExheW91dCBzcGVjLgorCisgICAgICAgIFNpbmNlIHdl
IGhhdmUgaW1wbGVtZW50ZWQgdGhlIEdyaWQgTGF5b3V0IHNwZWMgYmVoaW5kIGEgcnVudGltZSBm
bGFnLCB3ZSBzaG91bGQKKyAgICAgICAgZG8gdGhlIHNhbWUgd2l0aCB0aGUgbmV3IHN5bnRheCBv
ZiB0aGVzZSBwcm9wZXJ0aWVzLgorCisgICAgICAgIFRlc3Q6IGNzczMvZmxleGJveC9uZXctYWxp
Z25tZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQuaHRtbAorCisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1ZhbGlkS2V5d29yZFBy
b3BlcnR5QW5kVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6aXNLZXl3b3JkUHJvcGVydHlJRCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisKIDIwMTYtMDgtMjYgIE5hZWwgT3VlZHJhb2dv
ICA8bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIE1ha2UgY3VzdG9tIGNv
bnN0cnVjdG9ycyBjb25zaXN0ZW50IHdpdGggZ2VuZXJhdGVkIGJpbmRpbmdzIGNvZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAppbmRleCAwZjYyYTM4YWRiNjg2OTZmZWJk
ODE0MWI0NDg4MmYxODc3NjRiMTk1Li44NTllM2QzYTcyZjZkNDQxZGI2MmVjMGY3ZjlhMDgyMTdj
NjRjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC04MTks
NiArODE5LDE4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5k
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBpbnQKICAgICAgICAgaWYgKHZhbHVlSUQg
PT0gQ1NTVmFsdWVBdXRvIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVCYWxhbmNlKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBbGln
bkl0ZW1zOgorICAgICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVy
dHkgc2hvdWxkIGFjY2VwdCB0aGUgc2FtZSBhcmd1bWVudHMgYXMgJ2p1c3RpZnktc2VsZicgc28g
d2Ugc2hvdWxkIHNoYXJlIGl0cyBwYXJzaW5nIGNvZGUuCisgICAgICAgIC8vIEZJWE1FOiBGb3Ig
bm93LCB3ZSB3aWxsIGRvIGl0IGJlaGluZyB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgor
ICAgICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUZsZXhTdGFydCB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlRmxleEVuZCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0g
Q1NTVmFsdWVCYXNlbGluZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU3RyZXRjaCkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5QWxp
Z25TZWxmOgorICAgICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVy
dHkgc2hvdWxkIGFjY2VwdCB0aGUgc2FtZSBhcmd1bWVudHMgYXMgJ2p1c3RpZnktc2VsZicgc28g
d2Ugc2hvdWxkIHNoYXJlIGl0cyBwYXJzaW5nIGNvZGUuCisgICAgICAgIC8vIEZJWE1FOiBGb3Ig
bm93LCB3ZSB3aWxsIGRvIGl0IGJlaGluZyB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgor
ICAgICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWVJRCA9PSBDU1NWYWx1
ZUZsZXhTdGFydCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRmxleEVuZCB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVCYXNlbGluZSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlU3RyZXRjaCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVh
azsKICAgICBjYXNlIENTU1Byb3BlcnR5RmxleERpcmVjdGlvbjoKICAgICAgICAgaWYgKHZhbHVl
SUQgPT0gQ1NTVmFsdWVSb3cgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVJvd1JldmVyc2UgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZUNvbHVtbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sdW1uUmV2ZXJz
ZSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0Myw2ICsxMTU1LDkgQEAgc3RhdGlj
IGlubGluZSBib29sIGlzS2V5d29yZFByb3BlcnR5SUQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlk
KQogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHM6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUZvbnRWYXJpYW50QWx0ZXJuYXRlczoKICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFsaWduSXRlbXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWduU2VsZjoK
KyAgICAgICAgcmV0dXJuICFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQpAQCAtMjcyMyw4ICsyNzM4LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcGFy
c2VkVmFsdWUgPSBwYXJzZUNvbnRlbnREaXN0cmlidXRpb25PdmVyZmxvd1Bvc2l0aW9uKCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5U2VsZjoKKyAgICAgICAg
QVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlk
TGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZs
b3dQb3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUp1c3Rp
ZnlJdGVtczoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgaWYgKHBhcnNlTGVn
YWN5UG9zaXRpb24ocHJvcElkLCBpbXBvcnRhbnQpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIG1fdmFsdWVMaXN0LT5zZXRDdXJyZW50SW5kZXgoMCk7CkBAIC0zMTQzLDkgKzMx
NjAsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KQogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlQ29udGVudERpc3Ry
aWJ1dGlvbk92ZXJmbG93UG9zaXRpb24oKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUFsaWduU2VsZjoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcmV0
dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCk7
CiAKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25JdGVtczoKKyAgICAgICAgQVNTRVJUKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxl
ZCgpKTsKICAgICAgICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihw
cm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVN0eWxl
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJDb2xsYXBzZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGYwZjM5YjBlNzAyMjNjNTgw
YzRiMDAxNmYyNGI5ZGNhOGViMmM4ODUuLmFiMThjMjY4MTZlNzVlYWM3M2JlNjgyODFiNTg1MTgx
NTZhYjc1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgog
I2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1
ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTM5Nyw2ICsxMzk4LDggQEAgdm9pZCBSZW5kZXJG
bGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbihjb25zdCBWZWN0b3I8TGluZUNvbnRleHQ+JiBsaW5l
Q29udGV4dHMpCiAgICAgICAgICAgICAgICAgLy8geWV0IGZvciBGbGV4aWJsZUJveC4KICAgICAg
ICAgICAgICAgICAvLyBEZWZhdWx0aW5nIHRvIFN0cmV0Y2ggZm9yIG5vdywgYXMgaXQgd2hhdCBt
b3N0IG9mIEZsZXhCb3ggYmFzZWQgcmVuZGVycwogICAgICAgICAgICAgICAgIC8vIGV4cGVjdCBh
cyBkZWZhdWx0LgorICAgICAgICAgICAgICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSk7CisgICAgICAgICAg
ICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgICAgICBjYXNlIEl0ZW1Qb3NpdGlvblN0cmV0Y2g6
IHsKICAgICAgICAgICAgICAgICBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkKCpjaGlsZCwg
bGluZUNyb3NzQXhpc0V4dGVudCk7CiAgICAgICAgICAgICAgICAgLy8gU2luY2Ugd3JhcC1yZXZl
cnNlIGZsaXBzIGNyb3NzIHN0YXJ0IGFuZCBjcm9zcyBlbmQsIHN0cmVjaCBjaGlsZHJlbiBzaG91
bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBjcm9zcyBlbmQuCkBAIC0xNDMxLDYgKzE0MzQsOCBAQCB2
b2lkIFJlbmRlckZsZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3RvcjxMaW5lQ29u
dGV4dD4mIGxpbmVDb250ZXh0cykKICAgICAgICAgICAgIGNhc2UgSXRlbVBvc2l0aW9uUmlnaHQ6
CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzNTQ2MCAt
IFRoZSBleHRlbmRlZCBncmFtbWFyIGlzIG5vdCBzdXBwb3J0ZWQKICAgICAgICAgICAgICAgICAv
LyB5ZXQgZm9yIEZsZXhpYmxlQm94LgorICAgICAgICAgICAgICAgIEFTU0VSVChSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGZiZjA4ZWEwZGYyMjViY2QyMjM2YTNjNjAwNmY3OWFmZGYyYjM5NzUuLmNmMmYwMmVkNDUz
NmFmMjUyMDFjYjhlYWMzNzhmOWNhNTc5YTIzNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Ni0wOC0yNiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAg
ICAgICBTaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCBmYWlsdXJlIGluIFdlYkNvcmU6OlJlbmRlckZs
ZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3NzExODI5
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qg
dG8gdmVyaWZ5IHRoYXQgYWxpZ24tc2VsZiBhbmQgYWxpZ24taXRlbXMgQ1NTIHByb3BlcnRpZXMg
dXNlIHRoZSBvbGQKKyAgICAgICAgc3ludGF4IHdoZW4gdGhlIEdyaWQgTGF5b3V0IGZlYXR1cmUg
aXMgbm90IGVuYWJsZWQuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12
YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3Jp
ZC1ub3QtZW5hYmxlZC5odG1sOiBBZGRlZC4KKwogMjAxNi0wOC0yNiAgTmFlbCBPdWVkcmFvZ28g
IDxuYWVsLm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CiAKICAgICAgICAgTWFrZSBjdXN0b20gY29u
c3RydWN0b3JzIGNvbnNpc3RlbnQgd2l0aCBnZW5lcmF0ZWQgYmluZGluZ3MgY29kZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFs
aWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvbmV3LWFsaWdubWVudC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODgzYjJlNjYzMWM5NGQ2YTU0ODg4MzNlY2YxOWZlNThj
N2VlZmU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1h
bGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1NyBAQAorVGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgbmV3IGFsaWdubWVudCB2
YWx1ZXMgYXJlIHBhcnNlZCBhcyBpbnZhbGlkIGlmIEdyaWQgTGF5b3V0IGlzIGRpc2FibGVkIGFu
ZCBpbiBhbnkgY2FzZSB0aGV5IGRvIG5vdCBjYXVzZSBhIGNyYXNoIGJlY2F1c2UgYXNzZXJ0aW9u
cyBpbiBmbGV4Ym94IGxheW91dCBjb2RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworCitOZXcgYWxpZ25tZW50IHZhbHVlcyBzaG91bGQgYmUgaW52YWxpZCB3aGVuIGdyaWQgbGF5
b3V0IGlzIGRpc2FibGVkCisKK1Rlc3RpbmcgU2VsZi1BbGlnbm1lbnQgdmFsdWVzLgorUEFTUyBh
bGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCcK
K1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgt
c3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlz
ICdmbGV4LXN0YXJ0JworCitUZXN0aW5nIERlZmF1bHQtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1Mg
YWxpZ25JdGVtcyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1lbmQnCitQ
QVNTIGFsaWduSXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtZW5k
JworUEFTUyBhbGlnbkl0ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4
LWVuZCcKK1BBU1MgYWxpZ25JdGVtcyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAn
ZmxleC1lbmQnCitQQVNTIGFsaWduSXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYg
aXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnbkl0ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25T
ZWxmIGlzICdmbGV4LWVuZCcKKworRXZlbiB3aGVuIGdyaWQgbGF5b3V0IGlzIGVuYWJsZWQsIG5l
dyB2YWx1ZXMgc2hvdWxkIG5vdCB2aW9sYXRlIGFzc2VydGlvbnMgaW4gRmxleGlibGVCb3ggbGF5
b3V0IGxvZ2ljLgorCitUZXN0aW5nIFNlbGYtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25T
ZWxmIGlzICdzdGFydCB1bnNhZmUnCitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQnCitQQVNTIGFs
aWduU2VsZiBpcyAnZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQgc2FmZScKK1BB
U1MgYWxpZ25TZWxmIGlzICdzZWxmLXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ3NlbGYtZW5k
JworCitUZXN0aW5nIERlZmF1bHQtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25JdGVtcyBp
cyAnc3RhcnQgdW5zYWZlJworUEFTUyBhbGlnblNlbGYgaXMgJ3N0YXJ0IHVuc2FmZScKK1BBU1Mg
YWxpZ25JdGVtcyBpcyAnc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQnCitQQVNTIGFs
aWduSXRlbXMgaXMgJ2VuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdlbmQnCitQQVNTIGFsaWduSXRl
bXMgaXMgJ2ZsZXgtc3RhcnQgc2FmZScKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0IHNh
ZmUnCitQQVNTIGFsaWduSXRlbXMgaXMgJ3NlbGYtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAn
c2VsZi1zdGFydCcKK1BBU1MgYWxpZ25JdGVtcyBpcyAnc2VsZi1lbmQnCitQQVNTIGFsaWduU2Vs
ZiBpcyAnc2VsZi1lbmQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGln
bm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3Qt
ZW5hYmxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NTFmZWZmMmUxMDY5YTk0ZTUwZjk5ZWE5ZmUxYzIy
YTZlMmM5YWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3
LWFsaWdubWVudC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLmh0bWwKQEAgLTAs
MCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8ZGl2IGlkPSJmbGV4Q29udGFpbmVyIiBzdHls
ZT0iZGlzcGxheTogZmxleCI+CisgICAgPGRpdiBpZD0iZmxleEl0ZW0iPjwvZGl2PgorPC9kaXY+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBuZXcgYWxpZ25tZW50
IHZhbHVlcyBhcmUgcGFyc2VkIGFzIGludmFsaWQgaWYgR3JpZCBMYXlvdXQgaXMgZGlzYWJsZWQg
YW5kIGluIGFueSBjYXNlIHRoZXkgZG8gbm90IGNhdXNlIGEgY3Jhc2ggYmVjYXVzZSBhc3NlcnRp
b25zIGluIGZsZXhib3ggbGF5b3V0IGNvZGUuJyk7CisKK2Z1bmN0aW9uIGNoZWNrQWxpZ25TZWxm
VmFsdWUodmFsdWUsIGNvbXB1dGVkVmFsdWUsIGdyaWRFbmFibGVkKQoreworICAgIGl0ZW0uc3R5
bGUud2Via2l0QWxpZ25TZWxmID0gdmFsdWU7CisgICAgYWxpZ25TZWxmID0gZ2V0Q29tcHV0ZWRT
dHlsZShpdGVtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1hbGlnbi1zZWxmJyk7Cisg
ICAgaWYgKGdyaWRFbmFibGVkKQorICAgICAgICBzaG91bGRCZSgiYWxpZ25TZWxmIiwgY29tcHV0
ZWRWYWx1ZSk7CisgICAgZWxzZQorICAgICAgICBzaG91bGRCZSgiYWxpZ25TZWxmIiwgIidmbGV4
LXN0YXJ0JyIpOworfQorCitmdW5jdGlvbiBjaGVja0FsaWduSXRlbXNWYWx1ZSh2YWx1ZSwgY29t
cHV0ZWRWYWx1ZSwgZ3JpZEVuYWJsZWQpCit7CisgICAgY29udGFpbmVyLnN0eWxlLndlYmtpdEFs
aWduSXRlbXMgPSB2YWx1ZTsKKyAgICBhbGlnbkl0ZW1zID0gZ2V0Q29tcHV0ZWRTdHlsZShjb250
YWluZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWFsaWduLWl0ZW1zJyk7CisgICAg
YWxpZ25TZWxmID0gZ2V0Q29tcHV0ZWRTdHlsZShpdGVtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1hbGlnbi1zZWxmJyk7CisgICAgaWYgKGdyaWRFbmFibGVkKSB7CisgICAgICAgIHNo
b3VsZEJlKCJhbGlnbkl0ZW1zIiwgY29tcHV0ZWRWYWx1ZSk7CisgICAgICAgIHNob3VsZEJlKCJh
bGlnblNlbGYiLCBjb21wdXRlZFZhbHVlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzaG91bGRC
ZSgiYWxpZ25JdGVtcyIsICInZmxleC1lbmQnIik7CisgICAgICAgIHNob3VsZEJlKCJhbGlnblNl
bGYiLCAiJ2ZsZXgtZW5kJyIpOworICAgIH0KK30KKworZnVuY3Rpb24gY2hlY2tBbGlnbm1lbnRW
YWx1ZXMoZ3JpZEVuYWJsZWQpCit7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
IGludGVybmFscy5zZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChncmlkRW5hYmxlZCk7CisKKyAgICBk
ZWJ1ZygnPGJyPlRlc3RpbmcgU2VsZi1BbGlnbm1lbnQgdmFsdWVzLicpOworICAgIGNoZWNrQWxp
Z25TZWxmVmFsdWUoInN0YXJ0IHVuc2FmZSIsICInc3RhcnQgdW5zYWZlJyIsIGdyaWRFbmFibGVk
KQorICAgIGNoZWNrQWxpZ25TZWxmVmFsdWUoInN0YXJ0IiwgIidzdGFydCciLCBncmlkRW5hYmxl
ZCkKKyAgICBjaGVja0FsaWduU2VsZlZhbHVlKCJlbmQiLCAiJ2VuZCciLCBncmlkRW5hYmxlZCkK
KyAgICBjaGVja0FsaWduU2VsZlZhbHVlKCJmbGV4LXN0YXJ0IHNhZmUiLCAiJ2ZsZXgtc3RhcnQg
c2FmZSciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduU2VsZlZhbHVlKCJzZWxmLXN0YXJ0
IiwgIidzZWxmLXN0YXJ0JyIsIGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25TZWxmVmFsdWUo
InNlbGYtZW5kIiwgIidzZWxmLWVuZCciLCBncmlkRW5hYmxlZCkKKworICAgIGl0ZW0uc3R5bGUu
d2Via2l0QWxpZ25TZWxmID0gImF1dG8iOworCisgICAgZGVidWcoJzxicj5UZXN0aW5nIERlZmF1
bHQtQWxpZ25tZW50IHZhbHVlcy4nKTsKKyAgICBjaGVja0FsaWduSXRlbXNWYWx1ZSgic3RhcnQg
dW5zYWZlIiwgIidzdGFydCB1bnNhZmUnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0
ZW1zVmFsdWUoInN0YXJ0IiwgIidzdGFydCciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWdu
SXRlbXNWYWx1ZSgiZW5kIiwgIidlbmQnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0
ZW1zVmFsdWUoImZsZXgtc3RhcnQgc2FmZSIsICInZmxleC1zdGFydCBzYWZlJyIsIGdyaWRFbmFi
bGVkKQorICAgIGNoZWNrQWxpZ25JdGVtc1ZhbHVlKCJzZWxmLXN0YXJ0IiwgIidzZWxmLXN0YXJ0
JyIsIGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25JdGVtc1ZhbHVlKCJzZWxmLWVuZCIsICIn
c2VsZi1lbmQnIiwgZ3JpZEVuYWJsZWQpCisKKyAgICBpdGVtLnN0eWxlLndlYmtpdEFsaWduU2Vs
ZiA9ICJmbGV4LXN0YXJ0IjsKK30KKwordmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmbGV4Q29udGFpbmVyIik7Cit2YXIgaXRlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmbGV4SXRlbSIpOworCitjb250YWluZXIuc3R5bGUud2Via2l0QWxpZ25JdGVtcyA9ICJm
bGV4LWVuZCI7CitpdGVtLnN0eWxlLndlYmtpdEFsaWduU2VsZiA9ICJmbGV4LXN0YXJ0IjsKK3Zh
ciBhbGlnblNlbGYgPSAiZmxleC1zdGFydCI7Cit2YXIgYWxpZ25JdGVtcyA9ICJmbGV4LXN0YXJ0
IjsKKworZGVidWcoJzxicj5OZXcgYWxpZ25tZW50IHZhbHVlcyBzaG91bGQgYmUgaW52YWxpZCB3
aGVuIGdyaWQgbGF5b3V0IGlzIGRpc2FibGVkJyk7CitjaGVja0FsaWdubWVudFZhbHVlcyhmYWxz
ZSk7CisKK2RlYnVnKCc8YnI+RXZlbiB3aGVuIGdyaWQgbGF5b3V0IGlzIGVuYWJsZWQsIG5ldyB2
YWx1ZXMgc2hvdWxkIG5vdCB2aW9sYXRlIGFzc2VydGlvbnMgaW4gRmxleGlibGVCb3ggbGF5b3V0
IGxvZ2ljLicpOworY2hlY2tBbGlnbm1lbnRWYWx1ZXModHJ1ZSk7CisKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287232</attachid>
            <date>2016-08-28 07:15:05 -0700</date>
            <delta_ts>2016-08-28 07:47:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151591-20160828161257.patch</filename>
            <type>text/plain</type>
            <size>12758</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FlMmI3YTNjMWNmNTQ3
YTIxOTI3MzAzNzRjODkwNTk3N2U5YTYxOC4uM2JhMDZmZmFlNTBjNzI2NTFlMzBhMjFhYjMyZDcx
MjAzMGY1YWQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA4LTI2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFNob3VsZCBu
ZXZlciBiZSByZWFjaGVkIGZhaWx1cmUgaW4gV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmFs
aWduQ2hpbGRyZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3MTE4Mjk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhlIGFsaWduLXNlbGYgYW5kIGFs
aWduLWl0ZW1zIENTUyBwcm9wZXJ0aWVzIHdlcmUgb3JpZ2luYWxseSBkZWZpbmVkIGluIHRoZQor
ICAgICAgICBGbGV4YmlibGUgQm94IHNwZWNpZmljYXRpb24uIFRoZSBuZXcgQ1NTIEJveCBBbGln
bm1lbnQgc3BlY2lmaWNhdGlvbiB0cmllcworICAgICAgICB0byBnZW5lcmFsaXplIHRoZW0gc28g
dGhleSBjYW4gYmUgdXNlZCBieSBvdGhlciBsYXlvdXQgbW9kZWxzLCBhcyBpdCdzICB0aGUKKyAg
ICAgICAgY2FzZSBvZiB0aGUgR3JpZExheW91dCBzcGVjLgorCisgICAgICAgIFNpbmNlIHdlIGhh
dmUgaW1wbGVtZW50ZWQgdGhlIEdyaWQgTGF5b3V0IHNwZWMgYmVoaW5kIGEgcnVudGltZSBmbGFn
LCB3ZSBzaG91bGQKKyAgICAgICAgZG8gdGhlIHNhbWUgd2l0aCB0aGUgbmV3IHN5bnRheCBvZiB0
aGVzZSBwcm9wZXJ0aWVzLgorCisgICAgICAgIFRlc3Q6IGNzczMvZmxleGJveC9uZXctYWxpZ25t
ZW50LXZhbHVlcy1pbnZhbGlkLWlmLWdyaWQtbm90LWVuYWJsZWQuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1ZhbGlkS2V5d29yZFByb3Bl
cnR5QW5kVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6aXNLZXl3b3JkUHJvcGVydHlJRCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4
aWJsZUJveDo6YWxpZ25DaGlsZHJlbik6CisKIDIwMTYtMDgtMjYgIE5hZWwgT3VlZHJhb2dvICA8
bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIE1ha2UgY3VzdG9tIGNvbnN0
cnVjdG9ycyBjb25zaXN0ZW50IHdpdGggZ2VuZXJhdGVkIGJpbmRpbmdzIGNvZGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAppbmRleCAwZjYyYTM4YWRiNjg2OTZmZWJkODE0
MWI0NDg4MmYxODc3NjRiMTk1Li5lMDc4Njk1NTY1YjAwNzRhNTA1MzM3MzkxYzgwNDdlNjg1MWY2
Y2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC04MTksNiAr
ODE5LDE4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFs
dWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBpbnQKICAgICAgICAgaWYgKHZhbHVlSUQgPT0g
Q1NTVmFsdWVBdXRvIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVCYWxhbmNlKQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbkl0
ZW1zOgorICAgICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVydHkg
c2hvdWxkIGFjY2VwdCB0aGUgc2FtZSBhcmd1bWVudHMgYXMgJ2p1c3RpZnktc2VsZicgc28gd2Ug
c2hvdWxkIHNoYXJlIGl0cyBwYXJzaW5nIGNvZGUuCisgICAgICAgIC8vIEZJWE1FOiBGb3Igbm93
LCB3ZSB3aWxsIGRvIGl0IGJlaGluZCB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgorICAg
ICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUZsZXhTdGFydCB8fCB2YWx1ZUlEID09IENTU1Zh
bHVlRmxleEVuZCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVCYXNlbGluZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU3RyZXRjaCkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25T
ZWxmOgorICAgICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVydHkg
c2hvdWxkIGFjY2VwdCB0aGUgc2FtZSBhcmd1bWVudHMgYXMgJ2p1c3RpZnktc2VsZicgc28gd2Ug
c2hvdWxkIHNoYXJlIGl0cyBwYXJzaW5nIGNvZGUuCisgICAgICAgIC8vIEZJWE1FOiBGb3Igbm93
LCB3ZSB3aWxsIGRvIGl0IGJlaGluZCB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgorICAg
ICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUZs
ZXhTdGFydCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRmxleEVuZCB8fCB2YWx1ZUlEID09IENTU1Zh
bHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVCYXNlbGluZSB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlU3RyZXRjaCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVhazsK
ICAgICBjYXNlIENTU1Byb3BlcnR5RmxleERpcmVjdGlvbjoKICAgICAgICAgaWYgKHZhbHVlSUQg
PT0gQ1NTVmFsdWVSb3cgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVJvd1JldmVyc2UgfHwgdmFsdWVJ
RCA9PSBDU1NWYWx1ZUNvbHVtbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sdW1uUmV2ZXJzZSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE0Myw2ICsxMTU1LDkgQEAgc3RhdGljIGlu
bGluZSBib29sIGlzS2V5d29yZFByb3BlcnR5SUQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQog
ICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHM6CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eUZvbnRWYXJpYW50QWx0ZXJuYXRlczoKICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUFsaWduSXRlbXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWduU2VsZjoKKyAg
ICAgICAgcmV0dXJuICFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmlz
Q1NTR3JpZExheW91dEVuYWJsZWQoKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQpAQCAtMjcyMyw4ICsyNzM4LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZh
bHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcGFyc2Vk
VmFsdWUgPSBwYXJzZUNvbnRlbnREaXN0cmlidXRpb25PdmVyZmxvd1Bvc2l0aW9uKCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5U2VsZjoKKyAgICAgICAgQVNT
RVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5
b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQ
b3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUp1c3RpZnlJ
dGVtczoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgaWYgKHBhcnNlTGVnYWN5
UG9zaXRpb24ocHJvcElkLCBpbXBvcnRhbnQpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIG1fdmFsdWVMaXN0LT5zZXRDdXJyZW50SW5kZXgoMCk7CkBAIC0zMTQzLDkgKzMxNjAs
MTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJv
b2wgaW1wb3J0YW50KQogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlQ29udGVudERpc3RyaWJ1
dGlvbk92ZXJmbG93UG9zaXRpb24oKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUFsaWduU2VsZjoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcmV0dXJu
IHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihwcm9wSWQsIGltcG9ydGFudCk7CiAK
ICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25JdGVtczoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgp
KTsKICAgICAgICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihwcm9w
SWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVN0eWxlOgog
ICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJDb2xsYXBzZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGYwZjM5YjBlNzAyMjNjNTgwYzRi
MDAxNmYyNGI5ZGNhOGViMmM4ODUuLmFiMThjMjY4MTZlNzVlYWM3M2JlNjgyODFiNTg1MTgxNTZh
Yjc1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUg
IlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTM5Nyw2ICsxMzk4LDggQEAgdm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6YWxpZ25DaGlsZHJlbihjb25zdCBWZWN0b3I8TGluZUNvbnRleHQ+JiBsaW5lQ29u
dGV4dHMpCiAgICAgICAgICAgICAgICAgLy8geWV0IGZvciBGbGV4aWJsZUJveC4KICAgICAgICAg
ICAgICAgICAvLyBEZWZhdWx0aW5nIHRvIFN0cmV0Y2ggZm9yIG5vdywgYXMgaXQgd2hhdCBtb3N0
IG9mIEZsZXhCb3ggYmFzZWQgcmVuZGVycwogICAgICAgICAgICAgICAgIC8vIGV4cGVjdCBhcyBk
ZWZhdWx0LgorICAgICAgICAgICAgICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSk7CisgICAgICAgICAgICAg
ICAgRkFMTFRIUk9VR0g7CiAgICAgICAgICAgICBjYXNlIEl0ZW1Qb3NpdGlvblN0cmV0Y2g6IHsK
ICAgICAgICAgICAgICAgICBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkKCpjaGlsZCwgbGlu
ZUNyb3NzQXhpc0V4dGVudCk7CiAgICAgICAgICAgICAgICAgLy8gU2luY2Ugd3JhcC1yZXZlcnNl
IGZsaXBzIGNyb3NzIHN0YXJ0IGFuZCBjcm9zcyBlbmQsIHN0cmVjaCBjaGlsZHJlbiBzaG91bGQg
YmUgYWxpZ25lZCB3aXRoIHRoZSBjcm9zcyBlbmQuCkBAIC0xNDMxLDYgKzE0MzQsOCBAQCB2b2lk
IFJlbmRlckZsZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3RvcjxMaW5lQ29udGV4
dD4mIGxpbmVDb250ZXh0cykKICAgICAgICAgICAgIGNhc2UgSXRlbVBvc2l0aW9uUmlnaHQ6CiAg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzNTQ2MCAtIFRo
ZSBleHRlbmRlZCBncmFtbWFyIGlzIG5vdCBzdXBwb3J0ZWQKICAgICAgICAgICAgICAgICAvLyB5
ZXQgZm9yIEZsZXhpYmxlQm94LgorICAgICAgICAgICAgICAgIEFTU0VSVChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGZiZjA4ZWEwZGYyMjViY2QyMjM2YTNjNjAwNmY3OWFmZGYyYjM5NzUuLjcwMmJjMDIxMzhjMWYy
MDMzYWUxOWRkMzk1OTNmNTg3N2QzNjA3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0w
OC0yNiAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAg
ICBTaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCBmYWlsdXJlIGluIFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94OjphbGlnbkNoaWxkcmVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3NzExODI5Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRlc3QgdG8gdmVy
aWZ5IHRoYXQgYWxpZ24tc2VsZiBhbmQgYWxpZ24taXRlbXMgQ1NTIHByb3BlcnRpZXMgdXNlIHRo
ZSBvbGQKKyAgICAgICAgc3ludGF4IHdoZW4gdGhlIEdyaWQgTGF5b3V0IGZlYXR1cmUgaXMgbm90
IGVuYWJsZWQuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvbmV3LWFsaWdubWVudC12YWx1ZXMt
aW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3Qt
ZW5hYmxlZC5odG1sOiBBZGRlZC4KKwogMjAxNi0wOC0yNiAgTmFlbCBPdWVkcmFvZ28gIDxuYWVs
Lm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CiAKICAgICAgICAgTWFrZSBjdXN0b20gY29uc3RydWN0
b3JzIGNvbnNpc3RlbnQgd2l0aCBnZW5lcmF0ZWQgYmluZGluZ3MgY29kZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYt
Z3JpZC1ub3QtZW5hYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
bmV3LWFsaWdubWVudC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mODgzYjJlNjYzMWM5NGQ2YTU0ODg4MzNlY2YxOWZlNThjN2VlZmU0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1l
bnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1NyBAQAorVGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgbmV3IGFsaWdubWVudCB2YWx1ZXMg
YXJlIHBhcnNlZCBhcyBpbnZhbGlkIGlmIEdyaWQgTGF5b3V0IGlzIGRpc2FibGVkIGFuZCBpbiBh
bnkgY2FzZSB0aGV5IGRvIG5vdCBjYXVzZSBhIGNyYXNoIGJlY2F1c2UgYXNzZXJ0aW9ucyBpbiBm
bGV4Ym94IGxheW91dCBjb2RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitO
ZXcgYWxpZ25tZW50IHZhbHVlcyBzaG91bGQgYmUgaW52YWxpZCB3aGVuIGdyaWQgbGF5b3V0IGlz
IGRpc2FibGVkCisKK1Rlc3RpbmcgU2VsZi1BbGlnbm1lbnQgdmFsdWVzLgorUEFTUyBhbGlnblNl
bGYgaXMgJ2ZsZXgtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCcKK1BBU1Mg
YWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQn
CitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1zdGFydCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4
LXN0YXJ0JworCitUZXN0aW5nIERlZmF1bHQtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25J
dGVtcyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1lbmQnCitQQVNTIGFs
aWduSXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtZW5kJworUEFT
UyBhbGlnbkl0ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LWVuZCcK
K1BBU1MgYWxpZ25JdGVtcyBpcyAnZmxleC1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAnZmxleC1l
bmQnCitQQVNTIGFsaWduSXRlbXMgaXMgJ2ZsZXgtZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2Zs
ZXgtZW5kJworUEFTUyBhbGlnbkl0ZW1zIGlzICdmbGV4LWVuZCcKK1BBU1MgYWxpZ25TZWxmIGlz
ICdmbGV4LWVuZCcKKworRXZlbiB3aGVuIGdyaWQgbGF5b3V0IGlzIGVuYWJsZWQsIG5ldyB2YWx1
ZXMgc2hvdWxkIG5vdCB2aW9sYXRlIGFzc2VydGlvbnMgaW4gRmxleGlibGVCb3ggbGF5b3V0IGxv
Z2ljLgorCitUZXN0aW5nIFNlbGYtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25TZWxmIGlz
ICdzdGFydCB1bnNhZmUnCitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQnCitQQVNTIGFsaWduU2Vs
ZiBpcyAnZW5kJworUEFTUyBhbGlnblNlbGYgaXMgJ2ZsZXgtc3RhcnQgc2FmZScKK1BBU1MgYWxp
Z25TZWxmIGlzICdzZWxmLXN0YXJ0JworUEFTUyBhbGlnblNlbGYgaXMgJ3NlbGYtZW5kJworCitU
ZXN0aW5nIERlZmF1bHQtQWxpZ25tZW50IHZhbHVlcy4KK1BBU1MgYWxpZ25JdGVtcyBpcyAnc3Rh
cnQgdW5zYWZlJworUEFTUyBhbGlnblNlbGYgaXMgJ3N0YXJ0IHVuc2FmZScKK1BBU1MgYWxpZ25J
dGVtcyBpcyAnc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnc3RhcnQnCitQQVNTIGFsaWduSXRl
bXMgaXMgJ2VuZCcKK1BBU1MgYWxpZ25TZWxmIGlzICdlbmQnCitQQVNTIGFsaWduSXRlbXMgaXMg
J2ZsZXgtc3RhcnQgc2FmZScKK1BBU1MgYWxpZ25TZWxmIGlzICdmbGV4LXN0YXJ0IHNhZmUnCitQ
QVNTIGFsaWduSXRlbXMgaXMgJ3NlbGYtc3RhcnQnCitQQVNTIGFsaWduU2VsZiBpcyAnc2VsZi1z
dGFydCcKK1BBU1MgYWxpZ25JdGVtcyBpcyAnc2VsZi1lbmQnCitQQVNTIGFsaWduU2VsZiBpcyAn
c2VsZi1lbmQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L25ldy1hbGlnbm1lbnQt
dmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L25ldy1hbGlnbm1lbnQtdmFsdWVzLWludmFsaWQtaWYtZ3JpZC1ub3QtZW5hYmxl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3NTFmZWZmMmUxMDY5YTk0ZTUwZjk5ZWE5ZmUxYzIyYTZlMmM5
YWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvbmV3LWFsaWdu
bWVudC12YWx1ZXMtaW52YWxpZC1pZi1ncmlkLW5vdC1lbmFibGVkLmh0bWwKQEAgLTAsMCArMSw3
MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8ZGl2IGlkPSJmbGV4Q29udGFpbmVyIiBzdHlsZT0iZGlz
cGxheTogZmxleCI+CisgICAgPGRpdiBpZD0iZmxleEl0ZW0iPjwvZGl2PgorPC9kaXY+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCdUZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBuZXcgYWxpZ25tZW50IHZhbHVl
cyBhcmUgcGFyc2VkIGFzIGludmFsaWQgaWYgR3JpZCBMYXlvdXQgaXMgZGlzYWJsZWQgYW5kIGlu
IGFueSBjYXNlIHRoZXkgZG8gbm90IGNhdXNlIGEgY3Jhc2ggYmVjYXVzZSBhc3NlcnRpb25zIGlu
IGZsZXhib3ggbGF5b3V0IGNvZGUuJyk7CisKK2Z1bmN0aW9uIGNoZWNrQWxpZ25TZWxmVmFsdWUo
dmFsdWUsIGNvbXB1dGVkVmFsdWUsIGdyaWRFbmFibGVkKQoreworICAgIGl0ZW0uc3R5bGUud2Vi
a2l0QWxpZ25TZWxmID0gdmFsdWU7CisgICAgYWxpZ25TZWxmID0gZ2V0Q29tcHV0ZWRTdHlsZShp
dGVtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1hbGlnbi1zZWxmJyk7CisgICAgaWYg
KGdyaWRFbmFibGVkKQorICAgICAgICBzaG91bGRCZSgiYWxpZ25TZWxmIiwgY29tcHV0ZWRWYWx1
ZSk7CisgICAgZWxzZQorICAgICAgICBzaG91bGRCZSgiYWxpZ25TZWxmIiwgIidmbGV4LXN0YXJ0
JyIpOworfQorCitmdW5jdGlvbiBjaGVja0FsaWduSXRlbXNWYWx1ZSh2YWx1ZSwgY29tcHV0ZWRW
YWx1ZSwgZ3JpZEVuYWJsZWQpCit7CisgICAgY29udGFpbmVyLnN0eWxlLndlYmtpdEFsaWduSXRl
bXMgPSB2YWx1ZTsKKyAgICBhbGlnbkl0ZW1zID0gZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWFsaWduLWl0ZW1zJyk7CisgICAgYWxpZ25T
ZWxmID0gZ2V0Q29tcHV0ZWRTdHlsZShpdGVtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1hbGlnbi1zZWxmJyk7CisgICAgaWYgKGdyaWRFbmFibGVkKSB7CisgICAgICAgIHNob3VsZEJl
KCJhbGlnbkl0ZW1zIiwgY29tcHV0ZWRWYWx1ZSk7CisgICAgICAgIHNob3VsZEJlKCJhbGlnblNl
bGYiLCBjb21wdXRlZFZhbHVlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzaG91bGRCZSgiYWxp
Z25JdGVtcyIsICInZmxleC1lbmQnIik7CisgICAgICAgIHNob3VsZEJlKCJhbGlnblNlbGYiLCAi
J2ZsZXgtZW5kJyIpOworICAgIH0KK30KKworZnVuY3Rpb24gY2hlY2tBbGlnbm1lbnRWYWx1ZXMo
Z3JpZEVuYWJsZWQpCit7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVy
bmFscy5zZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChncmlkRW5hYmxlZCk7CisKKyAgICBkZWJ1Zygn
PGJyPlRlc3RpbmcgU2VsZi1BbGlnbm1lbnQgdmFsdWVzLicpOworICAgIGNoZWNrQWxpZ25TZWxm
VmFsdWUoInN0YXJ0IHVuc2FmZSIsICInc3RhcnQgdW5zYWZlJyIsIGdyaWRFbmFibGVkKQorICAg
IGNoZWNrQWxpZ25TZWxmVmFsdWUoInN0YXJ0IiwgIidzdGFydCciLCBncmlkRW5hYmxlZCkKKyAg
ICBjaGVja0FsaWduU2VsZlZhbHVlKCJlbmQiLCAiJ2VuZCciLCBncmlkRW5hYmxlZCkKKyAgICBj
aGVja0FsaWduU2VsZlZhbHVlKCJmbGV4LXN0YXJ0IHNhZmUiLCAiJ2ZsZXgtc3RhcnQgc2FmZSci
LCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduU2VsZlZhbHVlKCJzZWxmLXN0YXJ0IiwgIidz
ZWxmLXN0YXJ0JyIsIGdyaWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25TZWxmVmFsdWUoInNlbGYt
ZW5kIiwgIidzZWxmLWVuZCciLCBncmlkRW5hYmxlZCkKKworICAgIGl0ZW0uc3R5bGUud2Via2l0
QWxpZ25TZWxmID0gImF1dG8iOworCisgICAgZGVidWcoJzxicj5UZXN0aW5nIERlZmF1bHQtQWxp
Z25tZW50IHZhbHVlcy4nKTsKKyAgICBjaGVja0FsaWduSXRlbXNWYWx1ZSgic3RhcnQgdW5zYWZl
IiwgIidzdGFydCB1bnNhZmUnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0ZW1zVmFs
dWUoInN0YXJ0IiwgIidzdGFydCciLCBncmlkRW5hYmxlZCkKKyAgICBjaGVja0FsaWduSXRlbXNW
YWx1ZSgiZW5kIiwgIidlbmQnIiwgZ3JpZEVuYWJsZWQpCisgICAgY2hlY2tBbGlnbkl0ZW1zVmFs
dWUoImZsZXgtc3RhcnQgc2FmZSIsICInZmxleC1zdGFydCBzYWZlJyIsIGdyaWRFbmFibGVkKQor
ICAgIGNoZWNrQWxpZ25JdGVtc1ZhbHVlKCJzZWxmLXN0YXJ0IiwgIidzZWxmLXN0YXJ0JyIsIGdy
aWRFbmFibGVkKQorICAgIGNoZWNrQWxpZ25JdGVtc1ZhbHVlKCJzZWxmLWVuZCIsICInc2VsZi1l
bmQnIiwgZ3JpZEVuYWJsZWQpCisKKyAgICBpdGVtLnN0eWxlLndlYmtpdEFsaWduU2VsZiA9ICJm
bGV4LXN0YXJ0IjsKK30KKwordmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJmbGV4Q29udGFpbmVyIik7Cit2YXIgaXRlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
bGV4SXRlbSIpOworCitjb250YWluZXIuc3R5bGUud2Via2l0QWxpZ25JdGVtcyA9ICJmbGV4LWVu
ZCI7CitpdGVtLnN0eWxlLndlYmtpdEFsaWduU2VsZiA9ICJmbGV4LXN0YXJ0IjsKK3ZhciBhbGln
blNlbGYgPSAiZmxleC1zdGFydCI7Cit2YXIgYWxpZ25JdGVtcyA9ICJmbGV4LXN0YXJ0IjsKKwor
ZGVidWcoJzxicj5OZXcgYWxpZ25tZW50IHZhbHVlcyBzaG91bGQgYmUgaW52YWxpZCB3aGVuIGdy
aWQgbGF5b3V0IGlzIGRpc2FibGVkJyk7CitjaGVja0FsaWdubWVudFZhbHVlcyhmYWxzZSk7CisK
K2RlYnVnKCc8YnI+RXZlbiB3aGVuIGdyaWQgbGF5b3V0IGlzIGVuYWJsZWQsIG5ldyB2YWx1ZXMg
c2hvdWxkIG5vdCB2aW9sYXRlIGFzc2VydGlvbnMgaW4gRmxleGlibGVCb3ggbGF5b3V0IGxvZ2lj
LicpOworY2hlY2tBbGlnbm1lbnRWYWx1ZXModHJ1ZSk7CisKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>