<?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>122777</bug_id>
          
          <creation_ts>2013-10-14 14:26:55 -0700</creation_ts>
          <short_desc>Assertion failure in Range::processContentsBetweenOffsets</short_desc>
          <delta_ts>2013-10-14 23:19: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>DOM</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>BlinkMergeCandidate, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>939638</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-14 14:26:55 -0700</bug_when>
    <thetext>Merge https://chromium.googlesource.com/chromium/blink/+/c15de182774c7859c20d97126eb844ae97b792a4

https://code.google.com/p/chromium/issues/detail?id=240594

Make Range::processContentsBetweenOffsets() to handle node modification by mutation event handler

This patch changes ASSERT statements for checking |endOffset| inbound in Range::processContentsBetweenOffsets() to limit |endOffset|. This situation can be happened when DOMNodeRemovedFromDocument event handler splits text nodes, Range::insertNode() on text node, in the range calling Range::deleteContents().

This is the last part of fixing issue 240594.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939646</commentid>
    <comment_count>1</comment_count>
      <attachid>214189</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-14 14:40:29 -0700</bug_when>
    <thetext>Created attachment 214189
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939648</commentid>
    <comment_count>2</comment_count>
      <attachid>214189</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-14 14:41:54 -0700</bug_when>
    <thetext>Comment on attachment 214189
Fixes the bug

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

&gt; Source/WebCore/dom/Range.cpp:792
&gt; +        startOffset = std::min(startOffset, endOffset);

The Blink patch didn&apos;t adjust startOffset so I&apos;m doing that here.

&gt; Source/WebCore/dom/Range.cpp:807
&gt; +        startOffset = std::min(startOffset, endOffset);

Ditto.

&gt; LayoutTests/fast/dom/Range/range-delete-contents-mutation-event-crash-expected.txt:1
&gt; +This tests inserting a text node while calling deleteContents. WebKit should not hit an assertion.

I added this description.

&gt; LayoutTests/fast/dom/Range/range-delete-contents-mutation-event-crash.html:11
&gt; +var sample = document.getElementById(&apos;sample&apos;);

And got rid of obnoxious $ function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939652</commentid>
    <comment_count>3</comment_count>
      <attachid>214191</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-14 14:50:19 -0700</bug_when>
    <thetext>Created attachment 214191
Updated for ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939727</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-14 16:57:17 -0700</bug_when>
    <thetext>Committed r157431: &lt;http://trac.webkit.org/changeset/157431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939869</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-14 23:19:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/15228667&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214189</attachid>
            <date>2013-10-14 14:40:29 -0700</date>
            <delta_ts>2013-10-14 14:50:17 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-122777-20131014144029.patch</filename>
            <type>text/plain</type>
            <size>5058</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTEwLTE0ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIGlu
IFJhbmdlOjpwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNzc3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZ2UgaHR0cHM6Ly9jaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2Nocm9taXVtL2JsaW5rLysvYzE1ZGUxODI3NzRjNzg1OWMyMGQ5NzEyNmVi
ODQ0YWU5N2I3OTJhNAorCisgICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyBBU1NFUlQgc3RhdGVt
ZW50cyBmb3IgY2hlY2tpbmcgfGVuZE9mZnNldHwgaW5ib3VuZCBpbiBSYW5nZTo6cHJvY2Vzc0Nv
bnRlbnRzQmV0d2Vlbk9mZnNldHMoKQorICAgICAgICB0byBsaW1pdCB8ZW5kT2Zmc2V0fC4gVGhp
cyBpcyBuZWNlc3Nhcnkgd2hlbiBET01Ob2RlUmVtb3ZlZEZyb21Eb2N1bWVudCBldmVudCBoYW5k
bGVyIHNwbGl0cyB0ZXh0IG5vZGVzLAorICAgICAgICBSYW5nZTo6aW5zZXJ0Tm9kZSgpIG9uIHRl
eHQgbm9kZSwgaW4gdGhlIHJhbmdlIGNhbGxpbmcgUmFuZ2U6OmRlbGV0ZUNvbnRlbnRzKCkuCisK
KyAgICAgICAgVGVzdDogZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZGVsZXRlLWNvbnRlbnRzLW11dGF0
aW9uLWV2ZW50LWNyYXNoLmh0bWwKKworICAgICAgICAqIGRvbS9SYW5nZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSYW5nZTo6cHJvY2Vzc0NvbnRlbnRzQmV0d2Vlbk9mZnNldHMpOgorCiAyMDEz
LTEwLTE0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAg
IFZpcnR1YWxpemUgUGxhdGZvcm1DQUxheWVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUmFu
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHJldmlz
aW9uIDE1NzMyMykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc4OCw3ICs3ODgsOCBAQCBQYXNzUmVmUHRyPE5vZGU+IFJhbmdlOjpwcm9jZXNzQ29u
dGVudHNCCiAgICAgY2FzZSBOb2RlOjpURVhUX05PREU6CiAgICAgY2FzZSBOb2RlOjpDREFUQV9T
RUNUSU9OX05PREU6CiAgICAgY2FzZSBOb2RlOjpDT01NRU5UX05PREU6Ci0gICAgICAgIEFTU0VS
VChlbmRPZmZzZXQgPD0gc3RhdGljX2Nhc3Q8Q2hhcmFjdGVyRGF0YSo+KGNvbnRhaW5lciktPmxl
bmd0aCgpKTsKKyAgICAgICAgZW5kT2Zmc2V0ID0gc3RkOjptaW4oZW5kT2Zmc2V0LCBzdGF0aWNf
Y2FzdDxDaGFyYWN0ZXJEYXRhKj4oY29udGFpbmVyKS0+bGVuZ3RoKCkpOworICAgICAgICBzdGFy
dE9mZnNldCA9IHN0ZDo6bWluKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgICAgICBpZiAo
YWN0aW9uID09IEV4dHJhY3QgfHwgYWN0aW9uID09IENsb25lKSB7CiAgICAgICAgICAgICBSZWZQ
dHI8Q2hhcmFjdGVyRGF0YT4gYyA9IHN0YXRpY19wb2ludGVyX2Nhc3Q8Q2hhcmFjdGVyRGF0YT4o
Y29udGFpbmVyLT5jbG9uZU5vZGUodHJ1ZSkpOwogICAgICAgICAgICAgZGVsZXRlQ2hhcmFjdGVy
RGF0YShjLCBzdGFydE9mZnNldCwgZW5kT2Zmc2V0LCBlYyk7CkBAIC04MDIsNyArODAzLDggQEAg
UGFzc1JlZlB0cjxOb2RlPiBSYW5nZTo6cHJvY2Vzc0NvbnRlbnRzQgogICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8Q2hhcmFjdGVyRGF0YSo+KGNvbnRhaW5lciktPmRlbGV0ZURhdGEoc3RhcnRPZmZz
ZXQsIGVuZE9mZnNldCAtIHN0YXJ0T2Zmc2V0LCBlYyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgTm9kZTo6UFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOgotICAgICAgICBBU1NFUlQoZW5k
T2Zmc2V0IDw9IHN0YXRpY19jYXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+KGNvbnRhaW5lcikt
PmRhdGEoKS5sZW5ndGgoKSk7CisgICAgICAgIGVuZE9mZnNldCA9IHN0ZDo6bWluKGVuZE9mZnNl
dCwgc3RhdGljX2Nhc3Q8UHJvY2Vzc2luZ0luc3RydWN0aW9uKj4oY29udGFpbmVyKS0+ZGF0YSgp
Lmxlbmd0aCgpKTsKKyAgICAgICAgc3RhcnRPZmZzZXQgPSBzdGQ6Om1pbihzdGFydE9mZnNldCwg
ZW5kT2Zmc2V0KTsKICAgICAgICAgaWYgKGFjdGlvbiA9PSBFeHRyYWN0IHx8IGFjdGlvbiA9PSBD
bG9uZSkgewogICAgICAgICAgICAgUmVmUHRyPFByb2Nlc3NpbmdJbnN0cnVjdGlvbj4gYyA9IHN0
YXRpY19wb2ludGVyX2Nhc3Q8UHJvY2Vzc2luZ0luc3RydWN0aW9uPihjb250YWluZXItPmNsb25l
Tm9kZSh0cnVlKSk7CiAgICAgICAgICAgICBjLT5zZXREYXRhKGMtPmRhdGEoKS5zdWJzdHJpbmco
c3RhcnRPZmZzZXQsIGVuZE9mZnNldCAtIHN0YXJ0T2Zmc2V0KSwgZWMpOwpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gMTU3NDIxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTMtMTAtMTQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gUmFuZ2U6OnByb2Nlc3NDb250ZW50
c0JldHdlZW5PZmZzZXRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjI3NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1l
dmVudC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Jhbmdl
L3JhbmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVudC1jcmFzaC5odG1sOiBBZGRlZC4K
KwogMjAxMy0xMC0xNCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIGZpeCB0aGUgcGF0aHMgc28gdGhhdCB0aGUgdGVzdCBwYXNzZXMuCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1kZWxldGUtY29udGVudHMtbXV0YXRp
b24tZXZlbnQtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVudC1jcmFzaC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9y
YW5nZS1kZWxldGUtY29udGVudHMtbXV0YXRpb24tZXZlbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0cyBpbnNlcnRpbmcgYSB0ZXh0
IG5vZGUgd2hpbGUgY2FsbGluZyBkZWxldGVDb250ZW50cy4gV2ViS2l0IHNob3VsZCBub3QgaGl0
IGFuIGFzc2VydGlvbi4KKworUEFTUy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1Jhbmdl
L3JhbmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVudC1jcmFzaC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0ZS1jb250ZW50cy1t
dXRhdGlvbi1ldmVudC1jcmFzaC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9kb20vUmFuZ2UvcmFuZ2UtZGVsZXRlLWNvbnRlbnRzLW11dGF0aW9uLWV2ZW50LWNyYXNoLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKzxkaXYgaWQ9InNhbXBsZSI+Zm9vYmFy
PC9kaXY+YmF6Cis8L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK3ZhciBzYW1wbGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnc2FtcGxlJyk7CisKK2Z1bmN0aW9uIHJlbW92aW5nSGFuZGxlcigpCit7CisgICAg
ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQn
LCByZW1vdmluZ0hhbmRsZXIsIHRydWUpOworICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNyZWF0
ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2V0U3RhcnQoc2FtcGxlLm5leHRTaWJsaW5nLCAxKTsKKyAg
ICByYW5nZS5pbnNlcnROb2RlKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdGT08nKSk7Cit9CisK
K2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkRnJvbURvY3VtZW50Jywg
cmVtb3ZpbmdIYW5kbGVyLCB0cnVlKTsKKwordmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFu
Z2UoKTsKK3JhbmdlLnNldFN0YXJ0KHNhbXBsZSwgMCk7CityYW5nZS5zZXRFbmQoc2FtcGxlLm5l
eHRTaWJsaW5nLCAzKTsKK3JhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7CisKK2RvY3VtZW50LmJvZHku
aW5uZXJIVE1MID0gJ1RoaXMgdGVzdHMgaW5zZXJ0aW5nIGEgdGV4dCBub2RlIHdoaWxlIGNhbGxp
bmcgZGVsZXRlQ29udGVudHMuIFdlYktpdCBzaG91bGQgbm90IGhpdCBhbiBhc3NlcnRpb24uPGJy
Pjxicj5QQVNTLic7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214191</attachid>
            <date>2013-10-14 14:50:19 -0700</date>
            <delta_ts>2013-10-14 15:42:43 -0700</delta_ts>
            <desc>Updated for ToT</desc>
            <filename>bug-122777-20131014145018.patch</filename>
            <type>text/plain</type>
            <size>5022</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzQyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTEwLTE0ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIGlu
IFJhbmdlOjpwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNzc3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVyZ2UgaHR0cHM6Ly9jaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2Nocm9taXVtL2JsaW5rLysvYzE1ZGUxODI3NzRjNzg1OWMyMGQ5NzEyNmVi
ODQ0YWU5N2I3OTJhNAorCisgICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyBBU1NFUlQgc3RhdGVt
ZW50cyBmb3IgY2hlY2tpbmcgfGVuZE9mZnNldHwgaW5ib3VuZCBpbiBSYW5nZTo6cHJvY2Vzc0Nv
bnRlbnRzQmV0d2Vlbk9mZnNldHMoKQorICAgICAgICB0byBsaW1pdCB8ZW5kT2Zmc2V0fC4gVGhp
cyBpcyBuZWNlc3Nhcnkgd2hlbiBET01Ob2RlUmVtb3ZlZEZyb21Eb2N1bWVudCBldmVudCBoYW5k
bGVyIHNwbGl0cyB0ZXh0IG5vZGVzLAorICAgICAgICBSYW5nZTo6aW5zZXJ0Tm9kZSgpIG9uIHRl
eHQgbm9kZSwgaW4gdGhlIHJhbmdlIGNhbGxpbmcgUmFuZ2U6OmRlbGV0ZUNvbnRlbnRzKCkuCisK
KyAgICAgICAgVGVzdDogZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZGVsZXRlLWNvbnRlbnRzLW11dGF0
aW9uLWV2ZW50LWNyYXNoLmh0bWwKKworICAgICAgICAqIGRvbS9SYW5nZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSYW5nZTo6cHJvY2Vzc0NvbnRlbnRzQmV0d2Vlbk9mZnNldHMpOgorCiAyMDEz
LTEwLTE0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAg
IFZpcnR1YWxpemUgUGxhdGZvcm1DQUxheWVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUmFu
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHJldmlz
aW9uIDE1NzQyMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc4Nyw3ICs3ODcsOCBAQCBQYXNzUmVmUHRyPE5vZGU+IFJhbmdlOjpwcm9jZXNzQ29u
dGVudHNCCiAgICAgY2FzZSBOb2RlOjpURVhUX05PREU6CiAgICAgY2FzZSBOb2RlOjpDREFUQV9T
RUNUSU9OX05PREU6CiAgICAgY2FzZSBOb2RlOjpDT01NRU5UX05PREU6Ci0gICAgICAgIEFTU0VS
VChlbmRPZmZzZXQgPD0gdG9DaGFyYWN0ZXJEYXRhKGNvbnRhaW5lciktPmxlbmd0aCgpKTsKKyAg
ICAgICAgZW5kT2Zmc2V0ID0gc3RkOjptaW4oZW5kT2Zmc2V0LCBzdGF0aWNfY2FzdDxDaGFyYWN0
ZXJEYXRhKj4oY29udGFpbmVyKS0+bGVuZ3RoKCkpOworICAgICAgICBzdGFydE9mZnNldCA9IHN0
ZDo6bWluKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOwogICAgICAgICBpZiAoYWN0aW9uID09IEV4
dHJhY3QgfHwgYWN0aW9uID09IENsb25lKSB7CiAgICAgICAgICAgICBSZWZQdHI8Q2hhcmFjdGVy
RGF0YT4gYyA9IHN0YXRpY19wb2ludGVyX2Nhc3Q8Q2hhcmFjdGVyRGF0YT4oY29udGFpbmVyLT5j
bG9uZU5vZGUodHJ1ZSkpOwogICAgICAgICAgICAgZGVsZXRlQ2hhcmFjdGVyRGF0YShjLCBzdGFy
dE9mZnNldCwgZW5kT2Zmc2V0LCBlYyk7CkBAIC04MDEsNyArODAyLDggQEAgUGFzc1JlZlB0cjxO
b2RlPiBSYW5nZTo6cHJvY2Vzc0NvbnRlbnRzQgogICAgICAgICAgICAgdG9DaGFyYWN0ZXJEYXRh
KGNvbnRhaW5lciktPmRlbGV0ZURhdGEoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCAtIHN0YXJ0T2Zm
c2V0LCBlYyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTm9kZTo6UFJPQ0VTU0lOR19JTlNU
UlVDVElPTl9OT0RFOgotICAgICAgICBBU1NFUlQoZW5kT2Zmc2V0IDw9IHRvUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKGNvbnRhaW5lciktPmRhdGEoKS5sZW5ndGgoKSk7CisgICAgICAgIGVuZE9mZnNl
dCA9IHN0ZDo6bWluKGVuZE9mZnNldCwgc3RhdGljX2Nhc3Q8UHJvY2Vzc2luZ0luc3RydWN0aW9u
Kj4oY29udGFpbmVyKS0+ZGF0YSgpLmxlbmd0aCgpKTsKKyAgICAgICAgc3RhcnRPZmZzZXQgPSBz
dGQ6Om1pbihzdGFydE9mZnNldCwgZW5kT2Zmc2V0KTsKICAgICAgICAgaWYgKGFjdGlvbiA9PSBF
eHRyYWN0IHx8IGFjdGlvbiA9PSBDbG9uZSkgewogICAgICAgICAgICAgUmVmUHRyPFByb2Nlc3Np
bmdJbnN0cnVjdGlvbj4gYyA9IHN0YXRpY19wb2ludGVyX2Nhc3Q8UHJvY2Vzc2luZ0luc3RydWN0
aW9uPihjb250YWluZXItPmNsb25lTm9kZSh0cnVlKSk7CiAgICAgICAgICAgICBjLT5zZXREYXRh
KGMtPmRhdGEoKS5zdWJzdHJpbmcoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCAtIHN0YXJ0T2Zmc2V0
KSwgZWMpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NDIyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMTAtMTQgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4g
UmFuZ2U6OnByb2Nlc3NDb250ZW50c0JldHdlZW5PZmZzZXRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0
ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVudC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVu
dC1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMy0xMC0xNCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9A
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgcGF0aHMgc28gdGhhdCB0
aGUgdGVzdCBwYXNzZXMuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1k
ZWxldGUtY29udGVudHMtbXV0YXRpb24tZXZlbnQtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0ZS1jb250ZW50cy1t
dXRhdGlvbi1ldmVudC1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1kZWxldGUtY29udGVudHMtbXV0YXRpb24tZXZlbnQt
Y3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0
ZXN0cyBpbnNlcnRpbmcgYSB0ZXh0IG5vZGUgd2hpbGUgY2FsbGluZyBkZWxldGVDb250ZW50cy4g
V2ViS2l0IHNob3VsZCBub3QgaGl0IGFuIGFzc2VydGlvbi4KKworUEFTUy4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVu
dC1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3Jh
bmdlLWRlbGV0ZS1jb250ZW50cy1tdXRhdGlvbi1ldmVudC1jcmFzaC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZGVsZXRlLWNvbnRlbnRzLW11
dGF0aW9uLWV2ZW50LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKzxk
aXYgaWQ9InNhbXBsZSI+Zm9vYmFyPC9kaXY+YmF6Cis8L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK3ZhciBzYW1w
bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FtcGxlJyk7CisKK2Z1bmN0aW9uIHJlbW92
aW5nSGFuZGxlcigpCit7CisgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NTm9k
ZVJlbW92ZWRGcm9tRG9jdW1lbnQnLCByZW1vdmluZ0hhbmRsZXIsIHRydWUpOworICAgIHZhciBy
YW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2V0U3RhcnQoc2FtcGxl
Lm5leHRTaWJsaW5nLCAxKTsKKyAgICByYW5nZS5pbnNlcnROb2RlKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCdGT08nKSk7Cit9CisKK2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVS
ZW1vdmVkRnJvbURvY3VtZW50JywgcmVtb3ZpbmdIYW5kbGVyLCB0cnVlKTsKKwordmFyIHJhbmdl
ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKK3JhbmdlLnNldFN0YXJ0KHNhbXBsZSwgMCk7City
YW5nZS5zZXRFbmQoc2FtcGxlLm5leHRTaWJsaW5nLCAzKTsKK3JhbmdlLmRlbGV0ZUNvbnRlbnRz
KCk7CisKK2RvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJ1RoaXMgdGVzdHMgaW5zZXJ0aW5nIGEg
dGV4dCBub2RlIHdoaWxlIGNhbGxpbmcgZGVsZXRlQ29udGVudHMuIFdlYktpdCBzaG91bGQgbm90
IGhpdCBhbiBhc3NlcnRpb24uPGJyPjxicj5QQVNTLic7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>
<flag name="review"
          id="236711"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>