<?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>194143</bug_id>
          
          <creation_ts>2019-01-31 22:33:34 -0800</creation_ts>
          <short_desc>Unable to move selection into editable roots with 0 height</short_desc>
          <delta_ts>2019-02-03 13:13:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1501006</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-31 22:33:34 -0800</bug_when>
    <thetext>Unable to move selection into editable roots with 0 height</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501444</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-01 21:49:46 -0800</bug_when>
    <thetext>In particular, this is needed for compatibility with at least one commonly used web-based rich text editor, when pasting content. The relevant code is in Position::isCandidate():

  if (block.logicalHeight() || is&lt;HTMLBodyElement&gt;(m_anchorNode)) {
      …
  }

...wherein we preclude childless non-body elements with 0 height from being the anchor for a VisiblePosition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501446</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-01 21:54:01 -0800</bug_when>
    <thetext>We can almost get away with changing that check to this:

  if (block.logicalHeight() || m_anchorNode-&gt;isRootEditableElement()) {
      …
  }

...but that causes a couple of problems, as observed in our editing tests. The following two tests:

  editing/pasteboard/datatransfer-items-copy-html.html
  editing/execCommand/indent-no-visible-contents-crash.html

...exercise scenarios in which the potential visible position&apos;s anchor node is the body element, but is also non-editable, so isRootEditableElement() returns false. We can fix these tests by doing this instead:

  if (block.logicalHeight() || is&lt;HTMLBodyElement&gt;(m_anchorNode) || m_anchorNode-&gt;isRootEditableElement()) {
      …
  }

However, there&apos;s a third test failure I have yet to figure out: editing/pasteboard/styled-element-markup.html...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501576</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-02 20:15:22 -0800</bug_when>
    <thetext>&gt; However, there&apos;s a third test failure I have yet to figure out:
&gt; editing/pasteboard/styled-element-markup.html...

So in this test, we try to set the DOMSelection to offset 0 in an editable div, and then we select all, copy, and finally paste. It&apos;s important to note that in this test, these steps happen _before_ the image element has loaded, which makes the height of the editable element&apos;s renderer 0 because the editable div is otherwise empty.

We&apos;re getting different results after the change because we&apos;re considering the position Offset(&lt;div&gt;, 0) to be a visible position, whereas we didn&apos;t before (instead, the position of Offset(&lt;div&gt;, 0) would be canonicalized to Before(&lt;img&gt;)). Prior to this change, the following would happen when canonicalizing the Position Offset(&lt;div&gt;, 0):

    1. We check upstream and downstream Positions (in this case, they&apos;re both still Offset(&lt;div&gt;, 0)) and see if they&apos;re candidates by invoking Position::isCandidate.
    2. In Position::isCandidate, the &lt;div&gt;&apos;s RenderBlock&apos;s height is 0 because the image hasn&apos;t loaded, so we bail and return false.
    3. We continue canonicalization by searching the next and previous positions, and eventually settle on Before(&lt;img&gt;).

After the change, when calling Position::isCandidate in step (2), we notice that the anchor node is a root editable element, despite its RenderBlock&apos;s height being 0. This means we&apos;ll enter the if statement, observe that hasRenderedNonAnonymousDescendantsWithHeight returns false, and return true from Position::isCandidate because we&apos;re at the first editing position in the node.

A few observations:

- It seems like this test was intended to check the case where the image element is not empty (i.e. the image has loaded). And indeed, putting this logic in the load event handler causes the test to pass.
- In the case of a br element instead of an image, we will canonicalize Offset(&lt;div&gt;, 0) to Before(&lt;br&gt;) because the br element has a nonzero height. This means hasRenderedNonAnonymousDescendantsWithHeight returns true, and then we return false from Position::isCandidate for Offset(&lt;div&gt;, 0) because we are not at an editing boundary.
- It&apos;s not clear to me whether the new behavior is wrong in this case. One way to ensure that the old behavior remains is to not only check `m_anchorNode-&gt;isRootEditableElement()`, but additionally require the Position to be either at an editing boundary, or be the only editing position in the editable root.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501581</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-02 20:40:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47767284&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501582</commentid>
    <comment_count>5</comment_count>
      <attachid>360996</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-02 20:54:09 -0800</bug_when>
    <thetext>Created attachment 360996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501654</commentid>
    <comment_count>6</comment_count>
      <attachid>361022</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-02-03 12:15:35 -0800</bug_when>
    <thetext>Created attachment 361022
Patch for landing (w/ typo fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501664</commentid>
    <comment_count>7</comment_count>
      <attachid>361022</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-03 12:53:03 -0800</bug_when>
    <thetext>Comment on attachment 361022
Patch for landing (w/ typo fix)

Clearing flags on attachment: 361022

Committed r240905: &lt;https://trac.webkit.org/changeset/240905&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360996</attachid>
            <date>2019-02-02 20:54:09 -0800</date>
            <delta_ts>2019-02-02 22:06:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194143-20190202205408.patch</filename>
            <type>text/plain</type>
            <size>9015</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwODYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBlZTA5Yzc3N2VlZjEw
ZDE3ZmZjZDhkYmE4ZTAzMjQ2NmEzYmExZS4uYTc3MjVjZTAyNmViMTIzZjg0MDNjYzAwOTY4NzU1
MGFlYzJmM2U3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTAyLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuYWJsZSB0byBt
b3ZlIHNlbGVjdGlvbiBpbnRvIGVkaXRhYmxlIHJvb3RzIHdpdGggMCBoZWlnaHQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDE0MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDc3NjcyODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCBwb3NpdGlvbnMgaW5zaWRlIGVkaXRhYmxlIGVs
ZW1lbnRzIG9mIGhlaWdodCAwIGFyZSBub3QgY29uc2lkZXJlZCB0byBiZSBjYW5kaWRhdGVzIHdo
ZW4KKyAgICAgICAgY2Fub25pY2FsaXppbmcgYSBwb3NpdGlvbiB0byBpdHMgdmlzaWJsZSBjb3Vu
dGVycGFydC4gVGhpcyBwcmV2ZW50cyB1cyBmcm9tIG1vdmluZyB0aGUgc2VsZWN0aW9uIGludG8g
dGhlc2UKKyAgICAgICAgZWRpdGFibGUgcm9vdHMgYXQgYWxsLiBUbyBmaXggdGhpcywgd2UgcmVs
YXggdGhpcyBjb25zdHJhaW50IGJ5IGFsbG93aW5nIHBvc2l0aW9ucyBhbmNob3JlZCBieSByb290
IGVkaXRhYmxlCisgICAgICAgIGVsZW1lbnRzIHRvIGJlIGNhbmRpZGF0ZXMuCisKKyAgICAgICAg
VGVzdDogZWRpdGluZy9zZWxlY3Rpb24vaW5zZXJ0LXRleHQtaW4tZW1wdHktY29udGVudC1lZGl0
YWJsZS5odG1sCisKKyAgICAgICAgKiBkb20vUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UG9zaXRpb246OmlzQ2FuZGlkYXRlIGNvbnN0KToKKwogMjAxOS0wMi0wMSAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgdXNlIGJhc2UgbGF5ZXIo
KSBhcyB0aGUgc2Nyb2xsIGxheWVyIGluIHNjcm9sbGluZyB0cmVlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlv
bi5jcHAKaW5kZXggZjIzNjI3ZjhjNWFiN2U3YzU0OWZkNWNjZjJmNWIzODNiMTQ2NjI1Mi4uNWVm
NWIxMTMyY2RjMjY1MjcyMzRkNTcwYjY1NzZmMDBjMzMzMWZlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRp
b24uY3BwCkBAIC0xMDMyLDcgKzEwMzIsNyBAQCBib29sIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgp
IGNvbnN0CiAKICAgICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93PigqcmVuZGVyZXIpIHx8IGlzPFJl
bmRlckdyaWQ+KCpyZW5kZXJlcikgfHwgaXM8UmVuZGVyRmxleGlibGVCb3g+KCpyZW5kZXJlcikp
IHsKICAgICAgICAgUmVuZGVyQmxvY2smIGJsb2NrID0gZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpy
ZW5kZXJlcik7Ci0gICAgICAgIGlmIChibG9jay5sb2dpY2FsSGVpZ2h0KCkgfHwgaXM8SFRNTEJv
ZHlFbGVtZW50PigqbV9hbmNob3JOb2RlKSkgeworICAgICAgICBpZiAoYmxvY2subG9naWNhbEhl
aWdodCgpIHx8IGlzPEhUTUxCb2R5RWxlbWVudD4oKm1fYW5jaG9yTm9kZSkgfHwgbV9hbmNob3JO
b2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkgewogICAgICAgICAgICAgaWYgKCFQb3NpdGlv
bjo6aGFzUmVuZGVyZWROb25Bbm9ueW1vdXNEZXNjZW5kYW50c1dpdGhIZWlnaHQoYmxvY2spKQog
ICAgICAgICAgICAgICAgIHJldHVybiBhdEZpcnN0RWRpdGluZ1Bvc2l0aW9uRm9yTm9kZSgpICYm
ICFQb3NpdGlvbjo6bm9kZUlzVXNlclNlbGVjdE5vbmUoZGVwcmVjYXRlZE5vZGUoKSk7CiAgICAg
ICAgICAgICByZXR1cm4gbV9hbmNob3JOb2RlLT5oYXNFZGl0YWJsZVN0eWxlKCkgJiYgIVBvc2l0
aW9uOjpub2RlSXNVc2VyU2VsZWN0Tm9uZShkZXByZWNhdGVkTm9kZSgpKSAmJiBhdEVkaXRpbmdC
b3VuZGFyeSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDQ4OTliNDQ1ZTBkM2RmMzA0ZTBjNDZmZDk5NjJhZDUwZmNjYWJk
NDQuLjRkMzNhMTgwNjBkZDg0ZGUxYTY4ZDU1ZDhkZGJlNWZlNzNlZGM1N2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOS0wMi0wMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KKworICAgICAgICBVbmFibGUgdG8gbW92ZSBzZWxlY3Rpb24gaW50byBlZGl0YWJsZSBy
b290cyB3aXRoIDAgaGVpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTQxNDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NzY3Mjg0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBs
YXlvdXQgdGVzdCB0aGF0IGV4ZWN1dGVzIGVkaXRpbmcgY29tbWFuZHMgaW4gYSBjb250ZW50ZWRp
dGFibGUgZWxlbWVudCBvZiBoZWlnaHQgMCwgYW5kIGFkanVzdCBhbgorICAgICAgICBleGlzdGlu
ZyBsYXlvdXQgdGVzdCB0aGF0IGNvcGllcyBhbmQgcGFzdGVzIGFuIGltYWdlIGVsZW1lbnQgdG8g
d2FpdCB1bnRpbCB0aGUgaW1hZ2UgaGFzIGxvYWRlZC4KKworICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9zdHlsZWQtZWxlbWVudC1tYXJrdXAuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9pbnNlcnQtdGV4dC1pbi1lbXB0eS1jb250ZW50LWVkaXRhYmxlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW5zZXJ0LXRleHQtaW4tZW1w
dHktY29udGVudC1lZGl0YWJsZS5odG1sOiBBZGRlZC4KKwogMjAxOS0wMS0zMSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDb25zaXN0ZW50
IDEgc2VjIGhhbmcgd2hlbiB0cmlnZ2VyaW5nIG1vZGFsIGFsZXJ0cyB3aGlsZSBoYW5kbGluZyBz
eW5jaHJvbm91cyB0b3VjaCBldmVudHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9zdHlsZWQtZWxlbWVudC1tYXJrdXAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9zdHlsZWQtZWxlbWVudC1tYXJrdXAuaHRtbAppbmRleCBhODMxZTI4ZTBj
MTExMzhkNDgyMTYwYWEwODg5MDIxYTI0NmUxZjAwLi4wNjM4MjQ3NDhjYjEzZDY3ZDRlODYzMzRl
MTM1MzM4YWZjZTc1YTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvc3R5bGVkLWVsZW1lbnQtbWFya3VwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3N0eWxlZC1lbGVtZW50LW1hcmt1cC5odG1sCkBAIC0xLDE2ICsxLDE2IEBACi08
c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICB0ZXN0UnVubmVyLmR1bXBFZGl0
aW5nQ2FsbGJhY2tzKCk7Ci08L3NjcmlwdD4KIDxwPlRoaXMgdGVzdHMgY29weS9wYXN0ZSBvZiBz
dHlsZWQgZWxlbWVudHMsIGxpa2UgaW1hZ2VzLiAgVGhlIGltYWdlIGluIHRoZSByZWdpb24gYmVs
b3cgc2hvdWxkIGJlIGNlbnRlcmVkIGFmdGVyIGl0cyBjb3BpZWQgYW5kIHBhc3RlZC48L3A+CiA8
cD48Yj5UaGlzIGRlbW9uc3RyYXRlcyBhIGJ1ZzogY3JlYXRlTWFya3VwIHB1dHMgdGhlIHRleHQt
YWxpZ24gcHJvcGVydHkgb24gdGhlIGltYWdlLCB3aGljaCBkb2Vzbid0IGNlbnRlciBpdCwgc28g
aXRzIGxlZnQgYWxpZ25lZCBvbiBwYXN0ZS48L2I+PC9wPgogPGRpdiBjb250ZW50ZWRpdGFibGU9
InRydWUiIGlkPSJjb3B5Ij48Y2VudGVyPjxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyI+
PC9jZW50ZXI+PC9kaXY+CiA8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9InBhc3RlIj48
L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5k
dW1wRWRpdGluZ0NhbGxiYWNrcygpOwogCi08c2NyaXB0PjsKLXdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5zZXRQb3NpdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpKTsKLWRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iik7
Ci13aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIikpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIik7CithZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgKCkgPT4geworICAgIGdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5IikpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIpOworICAgIGdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiKTsKK30pOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbnNlcnQtdGV4dC1pbi1l
bXB0eS1jb250ZW50LWVkaXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2luc2VydC10ZXh0LWluLWVtcHR5LWNvbnRlbnQtZWRpdGFibGUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA5ZDZjOWMyNWM0MjBlYzA4ZTcyNzM2ZjA5OGUwNTQ3OGYwOGQ4ODMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbnNlcnQt
dGV4dC1pbi1lbXB0eS1jb250ZW50LWVkaXRhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5
IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJhbmdlOnJhbmdl
IGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVnaW5F
ZGl0aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJl
YW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElO
RyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2Yg
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMTEgb2YgI3RleHQgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byAxMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
OldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBE
RUxFR0FURTogc2hvdWxkRW5kRWRpdGluZ0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZEVuZEVkaXRpbmc6V2ViVmlld0RpZEVuZEVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJTkcg
REVMRUdBVEU6IHNob3VsZEJlZ2luRWRpdGluZ0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRCZWdpbkVkaXRpbmc6V2ViVmll
d0RpZEJlZ2luRWRpdGluZ05vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVj
dGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpX
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBz
aG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRv
RE9NUmFuZ2U6cmFuZ2UgZnJvbSAxMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDExIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZm
aW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UK
K0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitWZXJpZmllcyB0aGUgYWJpbGl0eSB0
byBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzIGFuZCBpbnNlcnQgdGV4dCBpbiBhbiBlbXB0eSBlZGl0
YWJsZSBlbGVtZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBlZGl0
b3IxLnRleHRDb250ZW50IGlzICJIZWxsbyB3b3JsZCIKK1BBU1MgZWRpdG9yMi50ZXh0Q29udGVu
dCBpcyAiSGVsbG8gd29ybGQhIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitIZWxsbyB3b3JsZAorSGVsbG8gd29ybGQhCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbnNlcnQtdGV4dC1pbi1lbXB0eS1jb250ZW50LWVk
aXRhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbnNlcnQtdGV4dC1p
bi1lbXB0eS1jb250ZW50LWVkaXRhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JlYzA2NjYzM2U4MDQ1
NGMxMGM5ODEzNDg5MThiYzYzODRmMTkxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2luc2VydC10ZXh0LWluLWVtcHR5LWNvbnRlbnQtZWRpdGFibGUu
aHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICAj
ZWRpdG9yIHsKKyAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgIGhlaWdodDogMDsKKyAgICB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIg
aWQ9ImVkaXRvcjEiPjwvZGl2PgorPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIGlkPSJlZGl0
b3IyIj4hPC9kaXY+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wRWRpdGluZ0NhbGxiYWNrcygpOworCisgICAgZGVzY3JpcHRpb24o
IlZlcmlmaWVzIHRoZSBhYmlsaXR5IHRvIHByb2dyYW1tYXRpY2FsbHkgZm9jdXMgYW5kIGluc2Vy
dCB0ZXh0IGluIGFuIGVtcHR5IGVkaXRhYmxlIGVsZW1lbnQuIik7CisgICAgZWRpdG9yMSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0b3IxIik7CisgICAgZWRpdG9yMS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgdHJ1ZSwgIkhlbGxvIHdvcmxk
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlZGl0b3IxLnRleHRDb250ZW50IiwgIkhl
bGxvIHdvcmxkIik7CisKKyAgICBlZGl0b3IyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVk
aXRvcjIiKTsKKyAgICBlZGl0b3IyLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
Ikluc2VydFRleHQiLCB0cnVlLCAiSGVsbG8gd29ybGQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImVkaXRvcjIudGV4dENvbnRlbnQiLCAiSGVsbG8gd29ybGQhIik7Cis8L3NjcmlwdD4K
KzwvYm9keT4K
</data>
<flag name="review"
          id="377678"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361022</attachid>
            <date>2019-02-03 12:15:35 -0800</date>
            <delta_ts>2019-02-03 12:53:03 -0800</delta_ts>
            <desc>Patch for landing (w/ typo fix)</desc>
            <filename>bug-194143-20190203121534.patch</filename>
            <type>text/plain</type>
            <size>9042</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwOTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkwYzk1NTk5MWQ0NWFi
N2M2M2UxY2E5YmVmNmU0MTAzMjljZTcxMi4uNDk5ZjA1OTk0OTQ0MzRiMDU2MTcyZDNjYzEwZDE3
MzAxNTYwYTMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTAyLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuYWJsZSB0byBt
b3ZlIHNlbGVjdGlvbiBpbnRvIGVkaXRhYmxlIHJvb3RzIHdpdGggMCBoZWlnaHQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDE0MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDc3NjcyODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgorCisgICAgICAgIEN1cnJlbnRseSwgcG9zaXRpb25zIGluc2lkZSBlZGl0YWJsZSBlbGVt
ZW50cyBvZiBoZWlnaHQgMCBhcmUgbm90IGNvbnNpZGVyZWQgdG8gYmUgY2FuZGlkYXRlcyB3aGVu
CisgICAgICAgIGNhbm9uaWNhbGl6aW5nIGEgcG9zaXRpb24gdG8gaXRzIHZpc2libGUgY291bnRl
cnBhcnQuIFRoaXMgcHJldmVudHMgdXMgZnJvbSBtb3ZpbmcgdGhlIHNlbGVjdGlvbiBpbnRvIHRo
ZXNlCisgICAgICAgIGVkaXRhYmxlIHJvb3RzIGF0IGFsbC4gVG8gZml4IHRoaXMsIHdlIHJlbGF4
IHRoaXMgY29uc3RyYWludCBieSBhbGxvd2luZyBwb3NpdGlvbnMgYW5jaG9yZWQgYnkgcm9vdCBl
ZGl0YWJsZQorICAgICAgICBlbGVtZW50cyB0byBiZSBjYW5kaWRhdGVzLgorCisgICAgICAgIFRl
c3Q6IGVkaXRpbmcvc2VsZWN0aW9uL2luc2VydC10ZXh0LWluLWVtcHR5LWNvbnRlbnQtZWRpdGFi
bGUuaHRtbAorCisgICAgICAgICogZG9tL1Bvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBvc2l0aW9uOjppc0NhbmRpZGF0ZSBjb25zdCk6CisKIDIwMTktMDItMDIgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVGlkeSB1cCBkYXRhIG1lbWVi
ZXJzIG9mIEZyYW1lVmlldyBhbmQgcmVsYXRlZCBjbGFzc2VzIHRvIHNocmluayBjbGFzcyBzaXpl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKaW5kZXggZjIzNjI3ZjhjNWFiN2U3YzU0OWZkNWNjZjJm
NWIzODNiMTQ2NjI1Mi4uNWVmNWIxMTMyY2RjMjY1MjcyMzRkNTcwYjY1NzZmMDBjMzMzMWZlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCkBAIC0xMDMyLDcgKzEwMzIsNyBAQCBib29sIFBvc2l0
aW9uOjppc0NhbmRpZGF0ZSgpIGNvbnN0CiAKICAgICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93Pigq
cmVuZGVyZXIpIHx8IGlzPFJlbmRlckdyaWQ+KCpyZW5kZXJlcikgfHwgaXM8UmVuZGVyRmxleGli
bGVCb3g+KCpyZW5kZXJlcikpIHsKICAgICAgICAgUmVuZGVyQmxvY2smIGJsb2NrID0gZG93bmNh
c3Q8UmVuZGVyQmxvY2s+KCpyZW5kZXJlcik7Ci0gICAgICAgIGlmIChibG9jay5sb2dpY2FsSGVp
Z2h0KCkgfHwgaXM8SFRNTEJvZHlFbGVtZW50PigqbV9hbmNob3JOb2RlKSkgeworICAgICAgICBp
ZiAoYmxvY2subG9naWNhbEhlaWdodCgpIHx8IGlzPEhUTUxCb2R5RWxlbWVudD4oKm1fYW5jaG9y
Tm9kZSkgfHwgbV9hbmNob3JOb2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkgewogICAgICAg
ICAgICAgaWYgKCFQb3NpdGlvbjo6aGFzUmVuZGVyZWROb25Bbm9ueW1vdXNEZXNjZW5kYW50c1dp
dGhIZWlnaHQoYmxvY2spKQogICAgICAgICAgICAgICAgIHJldHVybiBhdEZpcnN0RWRpdGluZ1Bv
c2l0aW9uRm9yTm9kZSgpICYmICFQb3NpdGlvbjo6bm9kZUlzVXNlclNlbGVjdE5vbmUoZGVwcmVj
YXRlZE5vZGUoKSk7CiAgICAgICAgICAgICByZXR1cm4gbV9hbmNob3JOb2RlLT5oYXNFZGl0YWJs
ZVN0eWxlKCkgJiYgIVBvc2l0aW9uOjpub2RlSXNVc2VyU2VsZWN0Tm9uZShkZXByZWNhdGVkTm9k
ZSgpKSAmJiBhdEVkaXRpbmdCb3VuZGFyeSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk2NjY4MGY5MGMzYmY3NjE5NmQ4
YTJhNDAyNWRmZjFlN2E5NGI2ZTUuLjRkZWM3ZDFkY2NhZmQ5NTJmYWE5YzViNTRmZDliZDJlZDEy
ODYwNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0wMi0wMyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBVbmFibGUgdG8gbW92ZSBzZWxlY3Rp
b24gaW50byBlZGl0YWJsZSByb290cyB3aXRoIDAgaGVpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQxNDMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ3NzY3Mjg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAg
ICAgICBBZGQgYSBuZXcgbGF5b3V0IHRlc3QgdGhhdCBleGVjdXRlcyBlZGl0aW5nIGNvbW1hbmRz
IGluIGEgY29udGVudGVkaXRhYmxlIGVsZW1lbnQgb2YgaGVpZ2h0IDAsIGFuZCBhZGp1c3QgYW4K
KyAgICAgICAgZXhpc3RpbmcgbGF5b3V0IHRlc3QgdGhhdCBjb3BpZXMgYW5kIHBhc3RlcyBhbiBp
bWFnZSBlbGVtZW50IHRvIHdhaXQgdW50aWwgdGhlIGltYWdlIGhhcyBsb2FkZWQuCisKKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvc3R5bGVkLWVsZW1lbnQtbWFya3VwLmh0bWw6CisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW5zZXJ0LXRleHQtaW4tZW1wdHktY29udGVudC1lZGl0
YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lu
c2VydC10ZXh0LWluLWVtcHR5LWNvbnRlbnQtZWRpdGFibGUuaHRtbDogQWRkZWQuCisKIDIwMTkt
MDItMDIgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2Vi
R1BVXSBGaXggR1BVUmVuZGVyUGFzc0VuY29kZXI6OnNldFZlcnRleEJ1ZmZlcnMgYW5kIGFsbG93
IG92ZXJsYXBwaW5nIGluZGljZXMgd2l0aCBHUFVCaW5kR3JvdXBzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvc3R5bGVkLWVsZW1lbnQtbWFya3VwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvc3R5bGVkLWVsZW1lbnQtbWFya3VwLmh0bWwK
aW5kZXggYTgzMWUyOGUwYzExMTM4ZDQ4MjE2MGFhMDg4OTAyMWEyNDZlMWYwMC4uMDYzODI0NzQ4
Y2IxM2Q2N2Q0ZTg2MzM0ZTEzNTMzOGFmY2U3NWE0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3N0eWxlZC1lbGVtZW50LW1hcmt1cC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9zdHlsZWQtZWxlbWVudC1tYXJrdXAuaHRtbApAQCAt
MSwxNiArMSwxNiBAQAotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgdGVz
dFJ1bm5lci5kdW1wRWRpdGluZ0NhbGxiYWNrcygpOwotPC9zY3JpcHQ+CiA8cD5UaGlzIHRlc3Rz
IGNvcHkvcGFzdGUgb2Ygc3R5bGVkIGVsZW1lbnRzLCBsaWtlIGltYWdlcy4gIFRoZSBpbWFnZSBp
biB0aGUgcmVnaW9uIGJlbG93IHNob3VsZCBiZSBjZW50ZXJlZCBhZnRlciBpdHMgY29waWVkIGFu
ZCBwYXN0ZWQuPC9wPgogPHA+PGI+VGhpcyBkZW1vbnN0cmF0ZXMgYSBidWc6IGNyZWF0ZU1hcmt1
cCBwdXRzIHRoZSB0ZXh0LWFsaWduIHByb3BlcnR5IG9uIHRoZSBpbWFnZSwgd2hpY2ggZG9lc24n
dCBjZW50ZXIgaXQsIHNvIGl0cyBsZWZ0IGFsaWduZWQgb24gcGFzdGUuPC9iPjwvcD4KIDxkaXYg
Y29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iY29weSI+PGNlbnRlcj48aW1nIHNyYz0iLi4vcmVz
b3VyY2VzL2FiZS5wbmciPjwvY2VudGVyPjwvZGl2PgogPGRpdiBjb250ZW50ZWRpdGFibGU9InRy
dWUiIGlkPSJwYXN0ZSI+PC9kaXY+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgIHRlc3RSdW5uZXIuZHVtcEVkaXRpbmdDYWxsYmFja3MoKTsKIAotPHNjcmlwdD47Ci13aW5k
b3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKSk7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7Ci1kb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIpOwotd2luZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIpOworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsICgpID0+IHsKKyAgICBnZXRTZWxlY3Rpb24o
KS5zZXRQb3NpdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIik7Cit9
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aW5zZXJ0LXRleHQtaW4tZW1wdHktY29udGVudC1lZGl0YWJsZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbnNlcnQtdGV4dC1pbi1lbXB0eS1jb250ZW50LWVk
aXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWQ2YzljMjVjNDIwZWMwOGU3MjczNmYw
OThlMDU0NzhmMDhkODgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaW5zZXJ0LXRleHQtaW4tZW1wdHktY29udGVudC1lZGl0YWJsZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyOSBAQAorRURJVElORyBERUxFR0FURTogc2hvdWxkQmVnaW5FZGl0aW5n
SW5ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAorRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZEJlZ2luRWRpdGluZzpXZWJWaWV3RGlkQmVnaW5FZGl0aW5nTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9u
QWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDExIG9mICN0
ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTEgb2YgI3RleHQgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93
bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmlj
YXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZEVuZEVkaXRpbmdJbkRPTVJhbmdlOnJhbmdl
IGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mIERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRFbmRFZGl0aW5nOldlYlZpZXdEaWRFbmRFZGl0aW5nTm90aWZp
Y2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJhbmdlOnJh
bmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mIERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVn
aW5FZGl0aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJTkcgREVM
RUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJ
VElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAg
b2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMTEgb2YgI3RleHQgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorVmVyaWZp
ZXMgdGhlIGFiaWxpdHkgdG8gcHJvZ3JhbW1hdGljYWxseSBmb2N1cyBhbmQgaW5zZXJ0IHRleHQg
aW4gYW4gZW1wdHkgZWRpdGFibGUgZWxlbWVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgZWRpdG9yMS50ZXh0Q29udGVudCBpcyAiSGVsbG8gd29ybGQiCitQQVNTIGVk
aXRvcjIudGV4dENvbnRlbnQgaXMgIkhlbGxvIHdvcmxkISIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorSGVsbG8gd29ybGQKK0hlbGxvIHdvcmxkIQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW5zZXJ0LXRleHQtaW4t
ZW1wdHktY29udGVudC1lZGl0YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaW5zZXJ0LXRleHQtaW4tZW1wdHktY29udGVudC1lZGl0YWJsZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYxNGVmMDc0NDFhYWY0ZmYzMDcwMDhmNjBiYzlkYzY0NDNkZGE2NTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pbnNlcnQtdGV4dC1pbi1lbXB0eS1j
b250ZW50LWVkaXRhYmxlLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CisgICAgI2VkaXRvcjEsICNlZGl0b3IyIHsKKyAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgIGhlaWdodDogMDsKKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9ImVkaXRvcjEiPjwvZGl2PgorPGRpdiBjb250
ZW50ZWRpdGFibGU9InRydWUiIGlkPSJlZGl0b3IyIj4hPC9kaXY+Cis8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wRWRpdGluZ0NhbGxi
YWNrcygpOworCisgICAgZGVzY3JpcHRpb24oIlZlcmlmaWVzIHRoZSBhYmlsaXR5IHRvIHByb2dy
YW1tYXRpY2FsbHkgZm9jdXMgYW5kIGluc2VydCB0ZXh0IGluIGFuIGVtcHR5IGVkaXRhYmxlIGVs
ZW1lbnQuIik7CisgICAgZWRpdG9yMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0b3Ix
Iik7CisgICAgZWRpdG9yMS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNl
cnRUZXh0IiwgdHJ1ZSwgIkhlbGxvIHdvcmxkIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJlZGl0b3IxLnRleHRDb250ZW50IiwgIkhlbGxvIHdvcmxkIik7CisKKyAgICBlZGl0b3IyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXRvcjIiKTsKKyAgICBlZGl0b3IyLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFRleHQiLCB0cnVlLCAiSGVsbG8gd29y
bGQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVkaXRvcjIudGV4dENvbnRlbnQiLCAi
SGVsbG8gd29ybGQhIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>