<?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>137502</bug_id>
          
          <creation_ts>2014-10-07 15:32:59 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: underlyingStringIsValid()</short_desc>
          <delta_ts>2014-10-08 06:25:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1040147</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-10-07 15:32:59 -0700</bug_when>
    <thetext>0   com.apple.JavaScriptCore      	0x0000000105da776a WTFCrash + 42
1   com.apple.WebCore             	0x00000001072ea78f WTF::StringView::characters8() const + 127 (StringView.h:260)
2   com.apple.WebCore             	0x0000000107c3c2c8 WebCore::TextRun::data8(unsigned int) const + 184 (TextRun.h:151)
3   com.apple.WebCore             	0x00000001092b3c6f WebCore::WidthIterator::advance(int, WebCore::GlyphBuffer*) + 127 (WidthIterator.cpp:345)
4   com.apple.WebCore             	0x0000000107ae19e7 WebCore::Font::getGlyphsAndAdvancesForSimpleText(WebCore::TextRun const&amp;, int, int, WebCore::GlyphBuffer&amp;, WebCore::Font::ForTextEmphasisOrNot) const + 231 (FontFastPath.cpp:141)
5   com.apple.WebCore             	0x0000000107ae1b91 WebCore::Font::drawSimpleText(WebCore::GraphicsContext*, WebCore::TextRun const&amp;, WebCore::FloatPoint const&amp;, int, int) const + 113 (FontFastPath.cpp:164)
6   com.apple.WebCore             	0x0000000107abb971 WebCore::Font::drawText(WebCore::GraphicsContext*, WebCore::TextRun const&amp;, WebCore::FloatPoint const&amp;, int, int, WebCore::Font::CustomFontNotReadyAction) const + 289 (Font.cpp:348)
7   com.apple.WebCore             	0x0000000107c33fde WebCore::GraphicsContext::drawText(WebCore::Font const&amp;, WebCore::TextRun const&amp;, WebCore::FloatPoint const&amp;, int, int) + 110 (GraphicsContext.cpp:450)
8   com.apple.WebCore             	0x0000000108e642df WebCore::SimpleLineLayout::paintFlow(WebCore::RenderBlockFlow const&amp;, WebCore::SimpleLineLayout::Layout const&amp;, WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;) + 959 (SimpleLineLayoutFunctions.cpp:96)
9   com.apple.WebCore             	0x00000001089c0808 WebCore::RenderBlockFlow::paintInlineChildren(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;) + 136 (RenderBlockFlow.cpp:3402)
10  com.apple.WebCore             	0x000000010897ab2c WebCore::RenderBlock::paintContents(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;) + 140 (RenderBlock.cpp:1542)
11  com.apple.WebCore             	0x000000010897b7fe WebCore::RenderBlock::paintObject(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;) + 798 (RenderBlock.cpp:1687)
12  com.apple.WebCore             	0x000000010897a96c WebCore::RenderBlock::paint(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;) + 396 (RenderBlock.cpp:1523)
13  com.apple.WebCore             	0x0000000108accf9e WebCore::RenderLayer::paintForegroundForFragmentsWithPhase(WebCore::PaintPhase, WTF::Vector&lt;WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow&gt; const&amp;, WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int, WebCore::RenderObject*) + 654 (RenderLayer.cpp:4573)
14  com.apple.WebCore             	0x0000000108acab25 WebCore::RenderLayer::paintForegroundForFragments(WTF::Vector&lt;WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow&gt; const&amp;, WebCore::GraphicsContext*, WebCore::GraphicsContext*, WebCore::LayoutRect const&amp;, bool, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int, WebCore::RenderObject*, bool) + 741 (RenderLayer.cpp:4538)
15  com.apple.WebCore             	0x0000000108ac6db2 WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2450 (RenderLayer.cpp:4161)
16  com.apple.WebCore             	0x0000000108ac641a WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 266 (RenderLayer.cpp:3851)
17  com.apple.WebCore             	0x0000000108ac5143 WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2531 (RenderLayer.cpp:3833)
18  com.apple.WebCore             	0x0000000108aca813 WebCore::RenderLayer::paintList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul, WTF::CrashOnOverflow&gt;*, WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 195 (RenderLayer.cpp:4250)
19  com.apple.WebCore             	0x0000000108ac6e8b WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2667 (RenderLayer.cpp:4171)
20  com.apple.WebCore             	0x0000000108ac641a WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 266 (RenderLayer.cpp:3851)
21  com.apple.WebCore             	0x0000000108ac5143 WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2531 (RenderLayer.cpp:3833)
22  com.apple.WebCore             	0x0000000108aca813 WebCore::RenderLayer::paintList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul, WTF::CrashOnOverflow&gt;*, WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 195 (RenderLayer.cpp:4250)
23  com.apple.WebCore             	0x0000000108ac6e8b WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2667 (RenderLayer.cpp:4171)
24  com.apple.WebCore             	0x0000000108ac641a WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 266 (RenderLayer.cpp:3851)
25  com.apple.WebCore             	0x0000000108ac5143 WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2531 (RenderLayer.cpp:3833)
26  com.apple.WebCore             	0x0000000108ac46a1 WebCore::RenderLayer::paint(WebCore::GraphicsContext*, WebCore::LayoutRect const&amp;, WebCore::LayoutSize const&amp;, unsigned int, WebCore::RenderObject*, unsigned int) + 177 (RenderLayer.cpp:3633)
27  com.apple.WebCore             	0x0000000107be63ff WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&amp;) + 959 (FrameView.cpp:3812)
28  com.apple.WebKitLegacy        	0x0000000104e42b47 -[WebFrame(WebInternal) _drawRect:contentsOnly:] + 823 (WebFrame.mm:659)
29  com.apple.WebKitLegacy        	0x0000000104e9742e -[WebHTMLView drawSingleRect:] + 782 (WebHTMLView.mm:3480)
30  com.apple.WebKitLegacy        	0x0000000104e97b24 -[WebHTMLView drawRect:] + 548 (WebHTMLView.mm:3554)
31  com.apple.AppKit              	0x00007fff84eedc39 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1186
32  com.apple.WebKitLegacy        	0x0000000104e8b848 -[WebHTMLView(WebPrivate) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 264 (WebHTMLView.mm:1489)
33  com.apple.AppKit              	0x00007fff84eed688 __46-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke + 218
34  com.apple.AppKit              	0x00007fff84eed421 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2407
35  com.apple.AppKit              	0x00007fff84eecaa3 -[NSView(NSLayerKitGlue) drawLayer:inContext:] + 108
36  com.apple.WebKitLegacy        	0x0000000104ea27bf -[WebHTMLView(WebInternal) drawLayer:inContext:] + 191 (WebHTMLView.mm:5963)
37  com.apple.QuartzCore          	0x00007fff8c2c3153 CABackingStoreUpdate_ + 3306
38  com.apple.QuartzCore          	0x00007fff8c2c2463 ___ZN2CA5Layer8display_Ev_block_invoke + 59
39  com.apple.QuartzCore          	0x00007fff8c2c241f x_blame_allocations + 81
40  com.apple.QuartzCore          	0x00007fff8c2c1f1c CA::Layer::display_() + 1546
41  com.apple.AppKit              	0x00007fff84eec97f _NSBackingLayerDisplay + 617
42  com.apple.AppKit              	0x00007fff84ec2736 -[_NSViewBackingLayer display] + 834
43  com.apple.QuartzCore          	0x00007fff8c2c1641 CA::Layer::display_if_needed(CA::Transaction*) + 603</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040148</commentid>
    <comment_count>1</comment_count>
      <attachid>239436</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-10-07 15:33:23 -0700</bug_when>
    <thetext>Created attachment 239436
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040199</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-07 21:21:36 -0700</bug_when>
    <thetext>An obvious bug:

        TextRun textRun(run.text());

The result of run.text() is a String, which is destroyed after changing TextRun to point to it. We need to put the string into a local variable. But also, run.text() should return a StringView, not a String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040204</commentid>
    <comment_count>3</comment_count>
      <attachid>239453</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-07 21:49:35 -0700</bug_when>
    <thetext>Created attachment 239453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040205</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-07 21:50:45 -0700</bug_when>
    <thetext>I now understand why I didn’t hit this crash during my testing. The refactoring to use StringView in TextRun was done after my testing, and I think it introduced this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040274</commentid>
    <comment_count>5</comment_count>
      <attachid>239453</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-10-08 06:20:27 -0700</bug_when>
    <thetext>Comment on attachment 239453
Patch

Very nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040275</commentid>
    <comment_count>6</comment_count>
      <attachid>239453</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-08 06:25:16 -0700</bug_when>
    <thetext>Comment on attachment 239453
Patch

Clearing flags on attachment: 239453

Committed r174451: &lt;http://trac.webkit.org/changeset/174451&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040276</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-08 06:25:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>239436</attachid>
            <date>2014-10-07 15:33:23 -0700</date>
            <delta_ts>2014-10-07 15:33:23 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>repaint-always.html</filename>
            <type>text/html</type>
            <size>557</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGU+CiAgI3Njcm9sbF9jb250YWluZXIgewogICAgcG9zaXRpb246
IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMHB4OwogIH0KCiAgI2lubm9jZW50X3JlcGFpbnRfdmlj
dGltIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNjAwcHg7CiAgICBib3JkZXI6
IDFweCBzb2xpZCBncmVlbjsKICB9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgPGRpdiBpZD0i
c2Nyb2xsX2NvbnRhaW5lciI+dGhpcyBpcyBzY3JvbGxpbmcgYW5kIHNob3VsZCBiZSByZXBhaW50
ZWQuPC9kaXY+CiAgPGRpdiBpZD0iaW5ub2NlbnRfcmVwYWludF92aWN0aW0iPnRoaXMgc2hvdWxk
IG5vdCBiZSByZXBhaW50aW5nPC9kaXY+CiAgPHNjcmlwdD4KICAgIHZhciBmbGlwID0gZmFsc2U7
CiAgICBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNj
cm9sbF9jb250YWluZXIiKS5zdHlsZS50b3AgPSBmbGlwID8gIjBweCIgOiAiMnB4IjsgZmxpcCA9
ICFmbGlwOyB9LCA1MDApOwogIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239453</attachid>
            <date>2014-10-07 21:49:35 -0700</date>
            <delta_ts>2014-10-08 06:25:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137502-20141007214937.patch</filename>
            <type>text/plain</type>
            <size>6570</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzFhZTViYTczNzk5ZDU3
MGIzYjdkYjZkMTEyMDQwZTQ5NDZjNGZjNi4uYTc4ZGU5ZDIyM2NjMDA5ZjgxNmQ4YzdmMzc0ODBh
ZDJiZjc5NWNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTEwLTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiB1
bmRlcmx5aW5nU3RyaW5nSXNWYWxpZCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzc1MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnF1b3RlQW5kRXNjYXBlTm9uUHJpbnRhYmxlcyk6IFRha2UgYSBTdHJpbmdW
aWV3IGluc3RlYWQgb2YgYSBTdHJpbmcuCisgICAgICAgIChXZWJDb3JlOjp3cml0ZVRleHRSdW4p
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU2ltcGxlTGluZSk6IERpdHRvLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaDogUmVtb3ZlZCB1bm5lZWRlZCBp
bmNsdWRlLCB0d2Vha2VkIGZvcm1hdHRpbmcsCisgICAgICAgIGNoYW5nZWQgcXVvdGVBbmRFc2Nh
cGVOb25QcmludGFibGVzIHRvIHRha2UgYSBTdHJpbmdWaWV3LgorCisgICAgICAgICogcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2lt
cGxlTGluZUxheW91dDo6cGFpbnRGbG93KTogVGlnaHRlbiBjb2RlIHVzaW5nIGEgbW9kZXJuIGZv
ciBsb29wLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6c2hvd0xpbmVMYXlv
dXRGb3JGbG93KTogVXBkYXRlIHRvIHdvcmsgd2l0aCBhCisgICAgICAgIFN0cmluZ1ZpZXcgcmVz
dWx0IGZvciBTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6UnVuOjp0ZXh0LgorCisgICAg
ICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OlJ1bjo6dGV4dCk6IENoYW5nZWQg
cmV0dXJuIHR5cGUgdG8KKyAgICAgICAgU3RyaW5nVmlldyB0byBmaXggdGhlIGxpZmV0aW1lIGJ1
ZyBhbmQgYWxzbyB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIGJ5IGdldHRpbmcKKyAgICAgICAgcmlk
IG9mIHRoZSBuZWVkIHRvIGFsbG9jYXRlIGFuZCBkZXN0cm95IGEgU3RyaW5nSW1wbCBvYmplY3Qu
CisKIDIwMTQtMTAtMDggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAg
IFNhZmFyaSA4IG9uIE9TWCAxMC4xMCBkb2VzIG5vdCBydW4gV2ViR0wgaW4gUmV0aW5hIEhpRFBJ
IG1vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAK
aW5kZXggOTI3ZGQ1MzVjYmYwZTA5ZTkwY2ZhY2YwNzM2OTgyZDQ5YWI0NjYxOC4uMzliNzQ0ZTQ0
ZWVkNTA2NjI1ODkzYjA2M2ViMTdjNGY1NTg0NTBmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBi
b29sIGlzRW1wdHlPclVuc3R5bGVkQXBwbGVTdHlsZVNwYW4oY29uc3QgTm9kZSogbm9kZSkKICAg
ICByZXR1cm4gKCFpbmxpbmVTdHlsZURlY2wgfHwgaW5saW5lU3R5bGVEZWNsLT5pc0VtcHR5KCkp
OwogfQogCi1TdHJpbmcgcXVvdGVBbmRFc2NhcGVOb25QcmludGFibGVzKGNvbnN0IFN0cmluZyYg
cykKK1N0cmluZyBxdW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXMoU3RyaW5nVmlldyBzKQogewog
ICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKQEAgLTQ3
OSwxMSArNDc5LDExIEBAIHN0YXRpYyB2b2lkIHdyaXRlVGV4dFJ1bihUZXh0U3RyZWFtJiB0cywg
Y29uc3QgUmVuZGVyVGV4dCYgbywgY29uc3QgSW5saW5lVGV4dEJvCiAgICAgdHMgPDwgIjogIgog
ICAgICAgICA8PCBxdW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXMoU3RyaW5nKG8udGV4dCgpKS5z
dWJzdHJpbmcocnVuLnN0YXJ0KCksIHJ1bi5sZW4oKSkpOwogICAgIGlmIChydW4uaGFzSHlwaGVu
KCkpCi0gICAgICAgIHRzIDw8ICIgKyBoeXBoZW4gc3RyaW5nICIgPDwgcXVvdGVBbmRFc2NhcGVO
b25QcmludGFibGVzKG8uc3R5bGUoKS5oeXBoZW5TdHJpbmcoKSk7CisgICAgICAgIHRzIDw8ICIg
KyBoeXBoZW4gc3RyaW5nICIgPDwgcXVvdGVBbmRFc2NhcGVOb25QcmludGFibGVzKG8uc3R5bGUo
KS5oeXBoZW5TdHJpbmcoKS5zdHJpbmcoKSk7CiAgICAgdHMgPDwgIlxuIjsKIH0KIAotc3RhdGlj
IHZvaWQgd3JpdGVTaW1wbGVMaW5lKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJUZXh0JiBv
LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTdHJpbmcmIHRleHQpCitzdGF0aWMgdm9p
ZCB3cml0ZVNpbXBsZUxpbmUoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlclRleHQmIG8sIGNv
bnN0IExheW91dFJlY3QmIHJlY3QsIFN0cmluZ1ZpZXcgdGV4dCkKIHsKICAgICBpbnQgeCA9IHJl
Y3QueCgpOwogICAgIGludCB5ID0gcmVjdC55KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRyZWVBc1RleHQuaAppbmRleCBmMzViNTNjOWUwOWRlNGMyNzU1ZDZiMTRiMmJkYzZi
NmU2MmI4NDRjLi44OTkyZjVlYTdmNjUxOTA1YWVkYzMyYzNjMzZkZDcwODc5MmZhZWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKQEAgLTI1LDcgKzI1
LDYgQEAKIAogI2lmbmRlZiBSZW5kZXJUcmVlQXNUZXh0X2gKICNkZWZpbmUgUmVuZGVyVHJlZUFz
VGV4dF9oCi0jaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KIApAQCAtNjAsMTQgKzU5LDEzIEBAIGNsYXNzIFJlbmRlclRyZWVBc1RleHQgewogLy8gaXQg
dG8gdXNlIHZpc2l0ZWREZXBlbmRlbnRDb2xvciBpbnN0ZWFkLiAoVGhpcyBqdXN0IGludm9sdmVz
IHJlYmFzZWxpbmluZyBtYW55IHJlc3VsdHMgdGhvdWdoLCBzbyBmb3Igbm93IGl0J3MKIC8vIG5v
dCBiZWluZyBkb25lKS4KIHB1YmxpYzoKLXN0YXRpYyB2b2lkIHdyaXRlUmVuZGVyT2JqZWN0KFRl
eHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmplY3QmIG8sIFJlbmRlckFzVGV4dEJlaGF2aW9y
IGJlaGF2aW9yKTsKKyAgICBzdGF0aWMgdm9pZCB3cml0ZVJlbmRlck9iamVjdChUZXh0U3RyZWFt
JiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IpOwogfTsKIAogLy8g
SGVscGVyIGZ1bmN0aW9uIHNoYXJlZCB3aXRoIFNWR1JlbmRlclRyZWVBc1RleHQKLVN0cmluZyBx
dW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXMoY29uc3QgU3RyaW5nJik7CitTdHJpbmcgcXVvdGVB
bmRFc2NhcGVOb25QcmludGFibGVzKFN0cmluZ1ZpZXcpOwogCiBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY291bnRlclZhbHVlRm9yRWxlbWVudChFbGVtZW50Kik7Ci0KIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oRWxlbWVudCopOwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZ1bmN0aW9ucy5jcHAKaW5kZXggY2NmMWJmYTE1MjA5ZWU2NDkyYWQxYWU2YTViYWZhMjQy
Mjc2NDk2YS4uNjBhYmZiMjk0ZjFiYmQ3MDIxOWZkZmVlYjEyNjNjZjVkMjg5OTg3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rp
b25zLmNwcApAQCAtODMsOSArODMsNyBAQCB2b2lkIHBhaW50Rmxvdyhjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmIGZsb3csIGNvbnN0IExheW91dCYgbGF5b3V0LCBQYWludEluZm8mIHBhaQogICAgIHBh
aW50UmVjdC5tb3ZlQnkoLXBhaW50T2Zmc2V0KTsKIAogICAgIGF1dG8gcmVzb2x2ZXIgPSBydW5S
ZXNvbHZlcihmbG93LCBsYXlvdXQpOwotICAgIGF1dG8gcmFuZ2UgPSByZXNvbHZlci5yYW5nZUZv
clJlY3QocGFpbnRSZWN0KTsKLSAgICBmb3IgKGF1dG8gaXQgPSByYW5nZS5iZWdpbigpLCBlbmQg
PSByYW5nZS5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGNvbnN0IGF1dG8mIHJ1
biA9ICppdDsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHJ1biA6IHJlc29sdmVyLnJhbmdlRm9yUmVj
dChwYWludFJlY3QpKSB7CiAgICAgICAgIGlmICghcnVuLnJlY3QoKS5pbnRlcnNlY3RzKHBhaW50
UmVjdCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgVGV4dFJ1biB0ZXh0UnVuKHJ1
bi50ZXh0KCkpOwpAQCAtMjIzLDcgKzIyMSw3IEBAIHZvaWQgc2hvd0xpbmVMYXlvdXRGb3JGbG93
KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgY29uc3QgTGF5b3V0JiBsYXlvdXQsIGluCiAg
ICAgICAgIExheW91dFJlY3QgciA9IHJ1bi5yZWN0KCk7CiAgICAgICAgIHByaW50UHJlZml4KHBy
aW50ZWRDaGFyYWN0ZXJzLCBkZXB0aCk7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAibGluZSAl
dSBydW4oJXUsICV1KSAoJS4yZiwgJS4yZikgKCUuMmYsICUuMmYpIFwiJXNcIlxuIiwgcnVuLmxp
bmVJbmRleCgpLCBydW4uc3RhcnQoKSwgcnVuLmVuZCgpLAotICAgICAgICAgICAgci54KCkudG9G
bG9hdCgpLCByLnkoKS50b0Zsb2F0KCksIHIud2lkdGgoKS50b0Zsb2F0KCksIHIuaGVpZ2h0KCku
dG9GbG9hdCgpLCBydW4udGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgci54KCku
dG9GbG9hdCgpLCByLnkoKS50b0Zsb2F0KCksIHIud2lkdGgoKS50b0Zsb2F0KCksIHIuaGVpZ2h0
KCkudG9GbG9hdCgpLCBydW4udGV4dCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS51dGY4KCku
ZGF0YSgpKTsKICAgICB9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAppbmRleCBiYjlhYTcyZjZiMzA0NjQ1MTVj
Yjk4ZTY2OTBlZjdlZWEzZWZhMjhlLi44MDUwZjI1NGJmNzJkNTk4YzQwY2I0NjE4ZDFkNTYyYmNj
MzUwZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRSZXNvbHZlci5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgICAgICBMYXlv
dXRSZWN0IHJlY3QoKSBjb25zdDsKICAgICAgICAgRmxvYXRQb2ludCBiYXNlbGluZSgpIGNvbnN0
OwotICAgICAgICBTdHJpbmcgdGV4dCgpIGNvbnN0OworICAgICAgICBTdHJpbmdWaWV3IHRleHQo
KSBjb25zdDsKIAogICAgICAgICB1bnNpZ25lZCBsaW5lSW5kZXgoKSBjb25zdDsKIApAQCAtMTgy
LDExICsxODIsMTEgQEAgaW5saW5lIEZsb2F0UG9pbnQgUnVuUmVzb2x2ZXI6OlJ1bjo6YmFzZWxp
bmUoKSBjb25zdAogICAgIHJldHVybiBGbG9hdFBvaW50KHJ1bi5sZWZ0LCByb3VuZFRvSW50KGJh
c2VsaW5lUG9zaXRpb24gKyByZXNvbHZlci5tX2JvcmRlckFuZFBhZGRpbmdCZWZvcmUpKTsKIH0K
IAotaW5saW5lIFN0cmluZyBSdW5SZXNvbHZlcjo6UnVuOjp0ZXh0KCkgY29uc3QKK2lubGluZSBT
dHJpbmdWaWV3IFJ1blJlc29sdmVyOjpSdW46OnRleHQoKSBjb25zdAogewogICAgIGF1dG8mIHJl
c29sdmVyID0gbV9pdGVyYXRvci5yZXNvbHZlcigpOwogICAgIGF1dG8mIHJ1biA9IG1faXRlcmF0
b3Iuc2ltcGxlUnVuKCk7Ci0gICAgcmV0dXJuIHJlc29sdmVyLm1fc3RyaW5nLnN1YnN0cmluZ1No
YXJpbmdJbXBsKHJ1bi5zdGFydCwgcnVuLmVuZCAtIHJ1bi5zdGFydCk7CisgICAgcmV0dXJuIFN0
cmluZ1ZpZXcocmVzb2x2ZXIubV9zdHJpbmcpLnN1YnN0cmluZyhydW4uc3RhcnQsIHJ1bi5lbmQg
LSBydW4uc3RhcnQpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgUnVuUmVzb2x2ZXI6OlJ1bjo6bGlu
ZUluZGV4KCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>