<?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>206093</bug_id>
          
          <creation_ts>2020-01-10 14:35:23 -0800</creation_ts>
          <short_desc>AX: Unable to use AccessibilityObject::replaceTextInRange to insert text at first time when the text fields are empty</short_desc>
          <delta_ts>2020-01-17 16:48:39 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Canhai Chen">canhai.chen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>rniwa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1605299</commentid>
    <comment_count>0</comment_count>
      <attachid>387374</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-10 14:35:23 -0800</bug_when>
    <thetext>Created attachment 387374
sample html with text fields

Overview:

Unable to use AccessibilityObject::replaceTextInRange to insert text at first time when the text fields are empty. After the first try, text are able to be inserted. This can be reproduced on text &lt;input&gt;, &lt;textarea&gt; and editable &lt;div&gt;. If there are pretyped text in the text fields, the API works well.

Steps to Reproduce:

1) View any web page with text &lt;input&gt;, &lt;textarea&gt; and editable &lt;div&gt; (attached a text html with these elements).

2) Focus on an empty text field

3) Type (via AccessibilityObject::replaceTextInRange; in our case, we are trying to adopt this API to Braille typing).

Actual Results:

Nothing gets inserted at the first insertion. After that, we are able to insert the text.

Expected Results:

Text get inserted properly even when the text fields are empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605301</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-10 14:35:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/58491448&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606672</commentid>
    <comment_count>2</comment_count>
      <attachid>387722</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-14 16:21:30 -0800</bug_when>
    <thetext>Created attachment 387722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606963</commentid>
    <comment_count>3</comment_count>
      <attachid>387722</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-01-15 09:50:59 -0800</bug_when>
    <thetext>Comment on attachment 387722
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1192
&gt; +    if (!range.start &amp;&amp; !range.length &amp;&amp; !textLength)

I think I agree that this is an invalid range, but should be also be checking for an invalid range passed into replaceTextInRange?

also is the client that&apos;s calling into here doing any value checking before they send the range in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606965</commentid>
    <comment_count>4</comment_count>
      <attachid>387722</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-01-15 09:51:39 -0800</bug_when>
    <thetext>Comment on attachment 387722
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1193
&gt; +        return nullptr;

I think this can be written as if (range.isNull() &amp;&amp; !textLength)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607257</commentid>
    <comment_count>5</comment_count>
      <attachid>387722</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-15 17:22:58 -0800</bug_when>
    <thetext>Comment on attachment 387722
Patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1192
&gt;&gt; +    if (!range.start &amp;&amp; !range.length &amp;&amp; !textLength)
&gt; 
&gt; I think I agree that this is an invalid range, but should be also be checking for an invalid range passed into replaceTextInRange?
&gt; 
&gt; also is the client that&apos;s calling into here doing any value checking before they send the range in?

Yes, I think another possible fix here is to check the range first in `accessibilityReplaceRange:withText:`, if the range is not (0, 0), we continue to call `AccessibilityObject::replaceTextInRange`, otherwise we call `AccessibilityObject::insertText`. But I think `AccessibilityObject::replaceTextInRange` itself should be able to handle (0, 0) case.

The client is calling here with `accessibilityReplaceRange:withText:` interface, so it does not have knowledge about whether the element is from WebKit or AppKit (although we have ways to try to determine it). And in AppKit, the `accessibilityReplaceRange:withText:` works fine even when the range is (0, 0).

I think the range (0, 0) is &quot;valid&quot; for `accessibilityReplaceRange:withText:` but &quot;invalid&quot; for a `VisibleSelection`. The reason it caused the text replacement failed is because the `WebCore::Range` it creates here will make the `setSelectedRange` create a new `VisibleSelection` whose container node will be used to determine whether the element is editable or not. Most of the cases in text replacement, the container node is an editable `WebCore::Text` element. But the new `VisibleSelection` it creates for (0, 0) here will return the parent node as the container node (could be a `HTMLDivElement` or `HTMLBodyElement`), which makes it uneditable.

Return nullptr if the range is (0, 0) and the text length is 0 here can avoid this, so that when the frame selection is trying to `setSelectedRange` before replacing text, instead of creating an uneditable `VisibleSelection`, it will just return and later in `Editor::replaceSelectionWithText`, it will use the default VisibleSelection with range (0, 0), of which the container node is an editable `TextControlInnerTextElement`.

One workaround for the client right now is to send a &quot;invalid&quot; range like (X, 0) when the range is (0, 0), so that it will fall into the invalid case here and use the correct `VisibleSelection` with `TextControlInnerTextElement` to do the text replacement.

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1193
&gt;&gt; +        return nullptr;
&gt; 
&gt; I think this can be written as if (range.isNull() &amp;&amp; !textLength)

Thanks for the note, will update in a new patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607264</commentid>
    <comment_count>6</comment_count>
      <attachid>387877</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-15 17:31:58 -0800</bug_when>
    <thetext>Created attachment 387877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607272</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-01-15 17:41:09 -0800</bug_when>
    <thetext>@Ryosuke, can you also take a look at this?

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607309</commentid>
    <comment_count>8</comment_count>
      <attachid>387877</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-15 18:43:39 -0800</bug_when>
    <thetext>Comment on attachment 387877
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        When we are trying to insert text in an empty text field with (0, 0) range, the frame selection will create a new VisibleSelection in FrameSelection::setSelectedRange, and the container node that this new VisibleSelection returns is the parent node of the text field element, which could be a HTMLDivElement or HTMLBodyElement. Because the container node is not editable, it failed to insert text in Editor::replaceSelectionWithText later.

Can we hard-wrap this line into multiple lines?
This is a really long single line comment.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1193
&gt; +    if (range.isNull() &amp;&amp; !textLength)
&gt; +        return nullptr;

Can we check that the backing element for this object is HTMLTextFormControlElement
to minimize the risk of this code change causing other kinds of issues?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607311</commentid>
    <comment_count>9</comment_count>
      <attachid>387877</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-15 18:47:06 -0800</bug_when>
    <thetext>Comment on attachment 387877
Patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1193
&gt;&gt; +        return nullptr;
&gt; 
&gt; Can we check that the backing element for this object is HTMLTextFormControlElement
&gt; to minimize the risk of this code change causing other kinds of issues?

Also, we should probably add a comment about why we have to do this.
Maybe something like: // Avoid setting selection to outside input element in setSelectionRange. See webkit.org/b/206093.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607727</commentid>
    <comment_count>10</comment_count>
      <attachid>387877</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-16 15:57:44 -0800</bug_when>
    <thetext>Comment on attachment 387877
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        When we are trying to insert text in an empty text field with (0, 0) range, the frame selection will create a new VisibleSelection in FrameSelection::setSelectedRange, and the container node that this new VisibleSelection returns is the parent node of the text field element, which could be a HTMLDivElement or HTMLBodyElement. Because the container node is not editable, it failed to insert text in Editor::replaceSelectionWithText later.
&gt; 
&gt; Can we hard-wrap this line into multiple lines?
&gt; This is a really long single line comment.

Will do. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607728</commentid>
    <comment_count>11</comment_count>
      <attachid>387877</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-16 15:58:33 -0800</bug_when>
    <thetext>Comment on attachment 387877
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1193
&gt;&gt;&gt; +        return nullptr;
&gt;&gt; 
&gt;&gt; Can we check that the backing element for this object is HTMLTextFormControlElement
&gt;&gt; to minimize the risk of this code change causing other kinds of issues?
&gt; 
&gt; Also, we should probably add a comment about why we have to do this.
&gt; Maybe something like: // Avoid setting selection to outside input element in setSelectionRange. See webkit.org/b/206093.

Will add the comment!

About the element check, this bug is not only reproducible on HTMLTextFormControlElement(&lt;input&gt; and &lt;textarea&gt;) but also on and content-editable &lt;div&gt; (See the added test for an example).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607743</commentid>
    <comment_count>12</comment_count>
      <attachid>387978</attachid>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-16 16:21:07 -0800</bug_when>
    <thetext>Created attachment 387978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607744</commentid>
    <comment_count>13</comment_count>
    <who name="Canhai Chen">canhai.chen</who>
    <bug_when>2020-01-16 16:21:55 -0800</bug_when>
    <thetext>Updates:

- Wrapped long notes into multiple lines in Changelog.
- Added a comment for the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608309</commentid>
    <comment_count>14</comment_count>
      <attachid>387978</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-17 16:48:37 -0800</bug_when>
    <thetext>Comment on attachment 387978
Patch

Clearing flags on attachment: 387978

Committed r254782: &lt;https://trac.webkit.org/changeset/254782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608310</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-17 16:48:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>387374</attachid>
            <date>2020-01-10 14:35:23 -0800</date>
            <delta_ts>2020-01-10 14:35:23 -0800</delta_ts>
            <desc>sample html with text fields</desc>
            <filename>text.html</filename>
            <type>text/html</type>
            <size>974</size>
            <attacher name="Canhai Chen">canhai.chen</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KCTx0aXRsZT5UZXh0IFRlc3RzPC90aXRsZT4K
Cgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJCS5ncm91cCB7CgkJCXdpZHRoOiA0ODBweDsKCQkJ
bWFyZ2luLWJvdHRvbTogMTJweDsKCQl9CgkJLmdyb3VwIGxhYmVsLAoJCS5ncm91cCBpbnB1dCwK
CQkuZ3JvdXAgdGV4dGFyZWEgewoJCQlkaXNwbGF5OiBibG9jazsKCQkJd2lkdGg6IDEwMCU7CgkJ
fQoJPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KCTxoMj5FbXB0eTwvaDI+Cgk8ZGl2IGNsYXNzPSJn
cm91cCI+CgkJPGxhYmVsPklucHV0OjwvbGFiZWw+CgkJPGlucHV0IHR5cGU9InRleHQiIC8+Cgk8
L2Rpdj4KCTxkaXYgY2xhc3M9Imdyb3VwIj4KCQk8bGFiZWw+VGV4dGFyZWE6PC9sYWJlbD4KCQk8
dGV4dGFyZWEgcm93cz0iNCI+PC90ZXh0YXJlYT4KCTwvZGl2PgoJPGRpdiBjbGFzcz0iZ3JvdXAi
PgoJCTxsYWJlbD5Db250ZW50LUVkaXRhYmxlLURpdjo8L2xhYmVsPgoJCTxkaXYgaWQ9ImNvbnRl
bnRlZGl0YWJsZSIgY29udGVudGVkaXRhYmxlPSJ0cnVlIiByb2xlPSJ0ZXh0Ym94Ij48L2Rpdj4K
CTwvZGl2PgoJPGgyPlByZXR5cGVkPC9oMj4KCTxkaXYgY2xhc3M9Imdyb3VwIj4KCQk8bGFiZWw+
SW5wdXQ6PC9sYWJlbD4KCQk8aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9Ik9uZSBBcHBsZSBBIERh
eSIgLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0iZ3JvdXAiPgoJCTxsYWJlbD5UZXh0YXJlYTo8L2xh
YmVsPgoJCTx0ZXh0YXJlYSByb3dzPSI0Ij5PbmUgQXBwbGUgQSBEYXk8L3RleHRhcmVhPgoJPC9k
aXY+Cgk8ZGl2IGNsYXNzPSJncm91cCI+CgkJPGxhYmVsPkNvbnRlbnQtRWRpdGFibGUtRGl2Ojwv
bGFiZWw+CgkJPGRpdiBpZD0iY29udGVudGVkaXRhYmxlIiBjb250ZW50ZWRpdGFibGU9InRydWUi
IHJvbGU9InRleHRib3giPk9uZSBBcHBsZSBBIERheTwvZGl2PgoJPC9kaXY+CjwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387722</attachid>
            <date>2020-01-14 16:21:30 -0800</date>
            <delta_ts>2020-01-15 17:31:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206093-20200114162129.patch</filename>
            <type>text/plain</type>
            <size>6641</size>
            <attacher name="Canhai Chen">canhai.chen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBlYTM2MTYwYjhmNDcz
NmQ4NWUyMjA2ZjAyZjE4ODQwZGQ0ODY3YS4uZGI5MzdlYTgxNmMwMzkzMjhiYTY4NDljZjdhYWJi
YWJlODI0Yzc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTE0ICBDYW5o
YWkgQ2hlbiAgPGNhbmhhaV9jaGVuQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVW5hYmxlIHRv
IHVzZSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UgdG8gaW5zZXJ0IHRl
eHQgYXQgZmlyc3QgdGltZSB3aGVuIHRoZSB0ZXh0IGZpZWxkcyBhcmUgZW1wdHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjA5MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTg0OTE0NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiB3ZSBhcmUgdHJ5aW5nIHRvIGluc2VydCB0ZXh0IGluIGFu
IGVtcHR5IHRleHQgZmllbGQgd2l0aCAoMCwgMCkgcmFuZ2UsIHRoZSBmcmFtZSBzZWxlY3Rpb24g
d2lsbCBjcmVhdGUgYSBuZXcgVmlzaWJsZVNlbGVjdGlvbiBpbiBGcmFtZVNlbGVjdGlvbjo6c2V0
U2VsZWN0ZWRSYW5nZSwgYW5kIHRoZSBjb250YWluZXIgbm9kZSB0aGF0IHRoaXMgbmV3IFZpc2li
bGVTZWxlY3Rpb24gcmV0dXJucyBpcyB0aGUgcGFyZW50IG5vZGUgb2YgdGhlIHRleHQgZmllbGQg
ZWxlbWVudCwgd2hpY2ggY291bGQgYmUgYSBIVE1MRGl2RWxlbWVudCBvciBIVE1MQm9keUVsZW1l
bnQuIEJlY2F1c2UgdGhlIGNvbnRhaW5lciBub2RlIGlzIG5vdCBlZGl0YWJsZSwgaXQgZmFpbGVk
IHRvIGluc2VydCB0ZXh0IGluIEVkaXRvcjo6cmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0IGxhdGVy
LgorCisgICAgICAgIFJldHVybiBudWxscHRyIGlmIHRoZSByYW5nZSBpcyAoMCwgMCkgYW5kIHRo
ZSB0ZXh0IGxlbmd0aCBpcyAwIGluIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnJhbmdlRm9yUGxhaW5U
ZXh0UmFuZ2UsIHNvIHRoYXQgd2hlbiB0aGUgZnJhbWUgc2VsZWN0aW9uIGlzIHRyeWluZyB0byBz
ZXRTZWxlY3RlZFJhbmdlIGJlZm9yZSByZXBsYWNpbmcgdGV4dCwgaW5zdGVhZCBvZiBjcmVhdGlu
ZyBhbiB1bmVkaXRhYmxlIFZpc2libGVTZWxlY3Rpb24sIGl0IHdpbGwganVzdCByZXR1cm4gYW5k
IGxhdGVyIGluIEVkaXRvcjo6cmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0LCBpdCB3aWxsIHVzZSB0
aGUgZGVmYXVsdCBWaXNpYmxlU2VsZWN0aW9uLCBvZiB3aGljaCB0aGUgY29udGFpbmVyIG5vZGUg
aXMgYW4gZWRpdGFibGUgVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50LgorCisgICAgICAgIFRo
aXMgY2hhbmdlIGRvZXMgbm90IGFmZmVjdCB0aGUgZXhpc3RpbmcgYmVoYXZpb3JzIG9mIHRleHQg
cmVwbGFjZW1lbnQuIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IHJlcGxhY2VtZW50IHdpdGggZW1w
dHkgcmFuZ2UuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9tYWMvcmVwbGFjZS10ZXh0
LXdpdGgtZW1wdHktcmFuZ2UuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnJhbmdlRm9yUGxhaW5UZXh0UmFuZ2UgY29uc3QpOgorCiAyMDIwLTAxLTE0ICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyNTQ1MDUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA2YjllMGVmNzYyZWUzMmU2NWRlODg3NjljZmNiNTdk
OTc3NzJkMzJkLi41Mjc4ZWNiMmYwNzM4NmM2Y2MxYmNlNDVmZWI1OWQxOWZjZDdiMzExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTExODksNiArMTE4OSw4IEBAIFJlZlB0cjxSYW5nZT4gQWNjZXNzaWJpbGl0eU9i
amVjdDo6cmFuZ2VGb3JQbGFpblRleHRSYW5nZShjb25zdCBQbGFpblRleHRSYW5nZSYKICAgICB1
bnNpZ25lZCB0ZXh0TGVuZ3RoID0gZ2V0TGVuZ3RoRm9yVGV4dFJhbmdlKCk7CiAgICAgaWYgKHJh
bmdlLnN0YXJ0ICsgcmFuZ2UubGVuZ3RoID4gdGV4dExlbmd0aCkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgaWYgKCFyYW5nZS5zdGFydCAmJiAhcmFuZ2UubGVuZ3RoICYmICF0ZXh0TGVu
Z3RoKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBpZiAoQVhPYmplY3RDYWNo
ZSogY2FjaGUgPSBheE9iamVjdENhY2hlKCkpIHsKICAgICAgICAgQ2hhcmFjdGVyT2Zmc2V0IHN0
YXJ0ID0gY2FjaGUtPmNoYXJhY3Rlck9mZnNldEZvckluZGV4KHJhbmdlLnN0YXJ0LCB0aGlzKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZDM2ZDliZmFmY2VhMzU3NzFhM2IxYjI2ZjZhNWUxMzZiMWQ0YmMxLi5lYTY5Zjcy
YWEzNDI1M2FiNmQxNmUyYThiZDkwNWZmYmQ0N2M1OTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjAtMDEtMTQgIENhbmhhaSBDaGVuICA8Y2FuaGFpX2NoZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEFYOiBVbmFibGUgdG8gdXNlIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnJlcGxhY2VUZXh0SW5S
YW5nZSB0byBpbnNlcnQgdGV4dCBhdCBmaXJzdCB0aW1lIHdoZW4gdGhlIHRleHQgZmllbGRzIGFy
ZSBlbXB0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA2MDkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODQ5MTQ0OD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRleHQgcmVwbGFjZW1lbnQg
d2l0aCBlbXB0eSByYW5nZSBpbiBlZGl0YWJsZSBkaXYsIHRleHQgaW5wdXQsIGFuZCB0ZXh0YXJl
YS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5
LXJhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMv
cmVwbGFjZS10ZXh0LXdpdGgtZW1wdHktcmFuZ2UuaHRtbDogQWRkZWQuCisKIDIwMjAtMDEtMTQg
IFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjI1NDUwNS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNGJjYzE1MDE0MzkyMzgwYTgyMmFjZjg5YWU3ZDFl
NmMyZTEyOGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvcmVwbGFjZS10ZXh0LXdpdGgtZW1wdHktcmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTUgQEAKK1RoaXMgdGVzdHMgdGhhdCB3aGVuIHdlIGFyZSBhZGRpbmcgdGV4dCB0byBlbXB0eSB0
ZXh0IGZpZWxkcywgdGhlIGFjY2Vzc2liaWxpdHkgcmVwbGFjZSB3aXRoIHJhbmdlIEFQSSBmdW5j
dGlvbnMgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGF4Q29udGVudEVkaXRhYmxlRGl2LnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSBp
cyB0cnVlCitQQVNTIGF4Q29udGVudEVkaXRhYmxlRGl2LnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVl
OiBIZWxsbycKK1BBU1MgYXhUZXh0LnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSBp
cyB0cnVlCitQQVNTIGF4VGV4dC5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogSGVsbG8nCitQQVNT
IGF4VGV4dGFyZWEucmVwbGFjZVRleHRJblJhbmdlKCdIZWxsbycsIDAsIDApIGlzIHRydWUKK1BB
U1MgYXhUZXh0YXJlYS5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogSGVsbG8nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvcmVwbGFjZS10ZXh0LXdpdGgtZW1wdHktcmFuZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVt
cHR5LXJhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY5OTVkNTkzYTg1ZDc5NDQzMTJiMWNkZjA0ODAx
NjlhZGU2MTIwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLmh0bWwKQEAgLTAsMCArMSw0NyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKwor
PGRpdiBpZD0iY29udGVudCI+CisgICAgPGRpdiBpZD0iY29udGVudC1lZGl0YWJsZS1kaXYiIGNv
bnRlbnRlZGl0YWJsZT0idHJ1ZSIgcm9sZT0idGV4dGJveCI+PC9kaXY+CisgICAgPGlucHV0IGlk
PSJ0ZXh0IiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIj4KKyAgICA8dGV4dGFyZWEgaWQ9InRleHRhcmVh
Ij48L3RleHRhcmVhPgorPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dHMgdGhhdCB3aGVuIHdlIGFyZSBhZGRpbmcgdGV4dCB0byBlbXB0eSB0ZXh0IGZpZWxkcywgdGhl
IGFjY2Vzc2liaWxpdHkgcmVwbGFjZSB3aXRoIHJhbmdlIEFQSSBmdW5jdGlvbnMgYXMgZXhwZWN0
ZWQuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAg
ICAgIHZhciBheENvbnRlbnRFZGl0YWJsZURpdiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgiY29udGVudC1lZGl0YWJsZS1kaXYiKTsKKyAgICAgICAgdmFy
IGNvbnRlbnRFZGl0YWJsZURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50LWVk
aXRhYmxlLWRpdiIpOworICAgICAgICBjb250ZW50RWRpdGFibGVEaXYuZm9jdXMoKTsKKyAgICAg
ICAgc2hvdWxkQmVUcnVlKCJheENvbnRlbnRFZGl0YWJsZURpdi5yZXBsYWNlVGV4dEluUmFuZ2Uo
J0hlbGxvJywgMCwgMCkiKTsKKyAgICAgICAgc2hvdWxkQmUoImF4Q29udGVudEVkaXRhYmxlRGl2
LnN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiBIZWxsbyciKTsKKyAgICAgICAgY29udGVudEVkaXRh
YmxlRGl2LmJsdXIoKTsKKworICAgICAgICB2YXIgYXhUZXh0ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0ZXh0Iik7CisgICAgICAgIHZhciB0ZXh0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQiKTsKKyAgICAgICAgdGV4dC5mb2N1cygpOwor
ICAgICAgICBzaG91bGRCZVRydWUoImF4VGV4dC5yZXBsYWNlVGV4dEluUmFuZ2UoJ0hlbGxvJywg
MCwgMCkiKTsKKyAgICAgICAgc2hvdWxkQmUoImF4VGV4dC5zdHJpbmdWYWx1ZSIsICInQVhWYWx1
ZTogSGVsbG8nIik7CisgICAgICAgIHRleHQuYmx1cigpOworCisgICAgICAgIHZhciBheFRleHRh
cmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0ZXh0
YXJlYSIpOworICAgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGV4dGFyZWEiKTsKKyAgICAgICAgdGV4dGFyZWEuZm9jdXMoKTsKKyAgICAgICAgc2hvdWxkQmVU
cnVlKCJheFRleHRhcmVhLnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSIpOworICAg
ICAgICBzaG91bGRCZSgiYXhUZXh0YXJlYS5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogSGVsbG8n
Iik7CisgICAgICAgIHRleHRhcmVhLmJsdXIoKTsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGVudCIpLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKKyAgICB9Cis8
L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387877</attachid>
            <date>2020-01-15 17:31:58 -0800</date>
            <delta_ts>2020-01-16 16:21:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206093-20200115173158.patch</filename>
            <type>text/plain</type>
            <size>6626</size>
            <attacher name="Canhai Chen">canhai.chen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBlYTM2MTYwYjhmNDcz
NmQ4NWUyMjA2ZjAyZjE4ODQwZGQ0ODY3YS4uZGI5MzdlYTgxNmMwMzkzMjhiYTY4NDljZjdhYWJi
YWJlODI0Yzc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTE0ICBDYW5o
YWkgQ2hlbiAgPGNhbmhhaV9jaGVuQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVW5hYmxlIHRv
IHVzZSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UgdG8gaW5zZXJ0IHRl
eHQgYXQgZmlyc3QgdGltZSB3aGVuIHRoZSB0ZXh0IGZpZWxkcyBhcmUgZW1wdHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjA5MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTg0OTE0NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiB3ZSBhcmUgdHJ5aW5nIHRvIGluc2VydCB0ZXh0IGluIGFu
IGVtcHR5IHRleHQgZmllbGQgd2l0aCAoMCwgMCkgcmFuZ2UsIHRoZSBmcmFtZSBzZWxlY3Rpb24g
d2lsbCBjcmVhdGUgYSBuZXcgVmlzaWJsZVNlbGVjdGlvbiBpbiBGcmFtZVNlbGVjdGlvbjo6c2V0
U2VsZWN0ZWRSYW5nZSwgYW5kIHRoZSBjb250YWluZXIgbm9kZSB0aGF0IHRoaXMgbmV3IFZpc2li
bGVTZWxlY3Rpb24gcmV0dXJucyBpcyB0aGUgcGFyZW50IG5vZGUgb2YgdGhlIHRleHQgZmllbGQg
ZWxlbWVudCwgd2hpY2ggY291bGQgYmUgYSBIVE1MRGl2RWxlbWVudCBvciBIVE1MQm9keUVsZW1l
bnQuIEJlY2F1c2UgdGhlIGNvbnRhaW5lciBub2RlIGlzIG5vdCBlZGl0YWJsZSwgaXQgZmFpbGVk
IHRvIGluc2VydCB0ZXh0IGluIEVkaXRvcjo6cmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0IGxhdGVy
LgorCisgICAgICAgIFJldHVybiBudWxscHRyIGlmIHRoZSByYW5nZSBpcyAoMCwgMCkgYW5kIHRo
ZSB0ZXh0IGxlbmd0aCBpcyAwIGluIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnJhbmdlRm9yUGxhaW5U
ZXh0UmFuZ2UsIHNvIHRoYXQgd2hlbiB0aGUgZnJhbWUgc2VsZWN0aW9uIGlzIHRyeWluZyB0byBz
ZXRTZWxlY3RlZFJhbmdlIGJlZm9yZSByZXBsYWNpbmcgdGV4dCwgaW5zdGVhZCBvZiBjcmVhdGlu
ZyBhbiB1bmVkaXRhYmxlIFZpc2libGVTZWxlY3Rpb24sIGl0IHdpbGwganVzdCByZXR1cm4gYW5k
IGxhdGVyIGluIEVkaXRvcjo6cmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0LCBpdCB3aWxsIHVzZSB0
aGUgZGVmYXVsdCBWaXNpYmxlU2VsZWN0aW9uLCBvZiB3aGljaCB0aGUgY29udGFpbmVyIG5vZGUg
aXMgYW4gZWRpdGFibGUgVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50LgorCisgICAgICAgIFRo
aXMgY2hhbmdlIGRvZXMgbm90IGFmZmVjdCB0aGUgZXhpc3RpbmcgYmVoYXZpb3JzIG9mIHRleHQg
cmVwbGFjZW1lbnQuIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IHJlcGxhY2VtZW50IHdpdGggZW1w
dHkgcmFuZ2UuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9tYWMvcmVwbGFjZS10ZXh0
LXdpdGgtZW1wdHktcmFuZ2UuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OnJhbmdlRm9yUGxhaW5UZXh0UmFuZ2UgY29uc3QpOgorCiAyMDIwLTAxLTE0ICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyNTQ1MDUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA2YjllMGVmNzYyZWUzMmU2NWRlODg3NjljZmNiNTdk
OTc3NzJkMzJkLi5mY2EwMjQyZWNlMzZkY2ZmZDI2ZjJlMzY1ZmFlNjFjODI3MDU1OTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTExODksNiArMTE4OSw4IEBAIFJlZlB0cjxSYW5nZT4gQWNjZXNzaWJpbGl0eU9i
amVjdDo6cmFuZ2VGb3JQbGFpblRleHRSYW5nZShjb25zdCBQbGFpblRleHRSYW5nZSYKICAgICB1
bnNpZ25lZCB0ZXh0TGVuZ3RoID0gZ2V0TGVuZ3RoRm9yVGV4dFJhbmdlKCk7CiAgICAgaWYgKHJh
bmdlLnN0YXJ0ICsgcmFuZ2UubGVuZ3RoID4gdGV4dExlbmd0aCkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgaWYgKHJhbmdlLmlzTnVsbCgpICYmICF0ZXh0TGVuZ3RoKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9i
amVjdENhY2hlKCkpIHsKICAgICAgICAgQ2hhcmFjdGVyT2Zmc2V0IHN0YXJ0ID0gY2FjaGUtPmNo
YXJhY3Rlck9mZnNldEZvckluZGV4KHJhbmdlLnN0YXJ0LCB0aGlzKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkZDM2ZDli
ZmFmY2VhMzU3NzFhM2IxYjI2ZjZhNWUxMzZiMWQ0YmMxLi5lYTY5ZjcyYWEzNDI1M2FiNmQxNmUy
YThiZDkwNWZmYmQ0N2M1OTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDEtMTQgIENh
bmhhaSBDaGVuICA8Y2FuaGFpX2NoZW5AYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBVbmFibGUg
dG8gdXNlIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnJlcGxhY2VUZXh0SW5SYW5nZSB0byBpbnNlcnQg
dGV4dCBhdCBmaXJzdCB0aW1lIHdoZW4gdGhlIHRleHQgZmllbGRzIGFyZSBlbXB0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDkzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81ODQ5MTQ0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUZXN0IHRleHQgcmVwbGFjZW1lbnQgd2l0aCBlbXB0eSByYW5n
ZSBpbiBlZGl0YWJsZSBkaXYsIHRleHQgaW5wdXQsIGFuZCB0ZXh0YXJlYS4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvcmVwbGFjZS10ZXh0LXdp
dGgtZW1wdHktcmFuZ2UuaHRtbDogQWRkZWQuCisKIDIwMjAtMDEtMTQgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjI1NDUwNS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlcGxh
Y2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kNGJjYzE1MDE0MzkyMzgwYTgyMmFjZjg5YWU3ZDFlNmMyZTEyOGU3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvcmVwbGFjZS10ZXh0
LXdpdGgtZW1wdHktcmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgdGVz
dHMgdGhhdCB3aGVuIHdlIGFyZSBhZGRpbmcgdGV4dCB0byBlbXB0eSB0ZXh0IGZpZWxkcywgdGhl
IGFjY2Vzc2liaWxpdHkgcmVwbGFjZSB3aXRoIHJhbmdlIEFQSSBmdW5jdGlvbnMgYXMgZXhwZWN0
ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGF4Q29udGVudEVkaXRh
YmxlRGl2LnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSBpcyB0cnVlCitQQVNTIGF4
Q29udGVudEVkaXRhYmxlRGl2LnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVlOiBIZWxsbycKK1BBU1Mg
YXhUZXh0LnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSBpcyB0cnVlCitQQVNTIGF4
VGV4dC5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogSGVsbG8nCitQQVNTIGF4VGV4dGFyZWEucmVw
bGFjZVRleHRJblJhbmdlKCdIZWxsbycsIDAsIDApIGlzIHRydWUKK1BBU1MgYXhUZXh0YXJlYS5z
dHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogSGVsbG8nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9tYWMvcmVwbGFjZS10ZXh0LXdpdGgtZW1wdHktcmFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjY5OTVkNTkzYTg1ZDc5NDQzMTJiMWNkZjA0ODAxNjlhZGU2MTIwZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4
dC13aXRoLWVtcHR5LXJhbmdlLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdiBpZD0iY29udGVu
dCI+CisgICAgPGRpdiBpZD0iY29udGVudC1lZGl0YWJsZS1kaXYiIGNvbnRlbnRlZGl0YWJsZT0i
dHJ1ZSIgcm9sZT0idGV4dGJveCI+PC9kaXY+CisgICAgPGlucHV0IGlkPSJ0ZXh0IiB0eXBlPSJ0
ZXh0IiB2YWx1ZT0iIj4KKyAgICA8dGV4dGFyZWEgaWQ9InRleHRhcmVhIj48L3RleHRhcmVhPgor
PC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB3aGVuIHdl
IGFyZSBhZGRpbmcgdGV4dCB0byBlbXB0eSB0ZXh0IGZpZWxkcywgdGhlIGFjY2Vzc2liaWxpdHkg
cmVwbGFjZSB3aXRoIHJhbmdlIEFQSSBmdW5jdGlvbnMgYXMgZXhwZWN0ZWQuIik7CisKKyAgICBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHZhciBheENvbnRl
bnRFZGl0YWJsZURpdiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiY29udGVudC1lZGl0YWJsZS1kaXYiKTsKKyAgICAgICAgdmFyIGNvbnRlbnRFZGl0YWJs
ZURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50LWVkaXRhYmxlLWRpdiIpOwor
ICAgICAgICBjb250ZW50RWRpdGFibGVEaXYuZm9jdXMoKTsKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJheENvbnRlbnRFZGl0YWJsZURpdi5yZXBsYWNlVGV4dEluUmFuZ2UoJ0hlbGxvJywgMCwgMCki
KTsKKyAgICAgICAgc2hvdWxkQmUoImF4Q29udGVudEVkaXRhYmxlRGl2LnN0cmluZ1ZhbHVlIiwg
IidBWFZhbHVlOiBIZWxsbyciKTsKKyAgICAgICAgY29udGVudEVkaXRhYmxlRGl2LmJsdXIoKTsK
KworICAgICAgICB2YXIgYXhUZXh0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJ0ZXh0Iik7CisgICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRleHQiKTsKKyAgICAgICAgdGV4dC5mb2N1cygpOworICAgICAgICBzaG91bGRC
ZVRydWUoImF4VGV4dC5yZXBsYWNlVGV4dEluUmFuZ2UoJ0hlbGxvJywgMCwgMCkiKTsKKyAgICAg
ICAgc2hvdWxkQmUoImF4VGV4dC5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogSGVsbG8nIik7Cisg
ICAgICAgIHRleHQuYmx1cigpOworCisgICAgICAgIHZhciBheFRleHRhcmVhID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpOworICAgICAg
ICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsKKyAg
ICAgICAgdGV4dGFyZWEuZm9jdXMoKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJheFRleHRhcmVh
LnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSIpOworICAgICAgICBzaG91bGRCZSgi
YXhUZXh0YXJlYS5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogSGVsbG8nIik7CisgICAgICAgIHRl
eHRhcmVhLmJsdXIoKTsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVu
dCIpLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKKyAgICB9Cis8L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387978</attachid>
            <date>2020-01-16 16:21:07 -0800</date>
            <delta_ts>2020-01-17 16:48:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206093-20200116162106.patch</filename>
            <type>text/plain</type>
            <size>6858</size>
            <attacher name="Canhai Chen">canhai.chen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBlYTM2MTYwYjhmNDcz
NmQ4NWUyMjA2ZjAyZjE4ODQwZGQ0ODY3YS4uMmFmY2QzNWM4N2U0OTVkYjgxNGUyZDZjZWUyMDk3
ODAxOWU4MTc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAxLTE0ICBDYW5o
YWkgQ2hlbiAgPGNhbmhhaV9jaGVuQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVW5hYmxlIHRv
IHVzZSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UgdG8gaW5zZXJ0IHRl
eHQgYXQgZmlyc3QgdGltZSB3aGVuIHRoZSB0ZXh0IGZpZWxkcyBhcmUgZW1wdHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjA5MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTg0OTE0NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiB3ZSBhcmUgdHJ5aW5nIHRvIGluc2VydCB0ZXh0IGluIGFu
IGVtcHR5IHRleHQgZmllbGQgd2l0aCAoMCwgMCkgcmFuZ2UsIHRoZSBmcmFtZSBzZWxlY3Rpb24g
d2lsbCBjcmVhdGUgYSAKKyAgICAgICAgbmV3IFZpc2libGVTZWxlY3Rpb24gaW4gRnJhbWVTZWxl
Y3Rpb246OnNldFNlbGVjdGVkUmFuZ2UsIGFuZCB0aGUgY29udGFpbmVyIG5vZGUgdGhhdCB0aGlz
IG5ldyBWaXNpYmxlU2VsZWN0aW9uIAorICAgICAgICByZXR1cm5zIGlzIHRoZSBwYXJlbnQgbm9k
ZSBvZiB0aGUgdGV4dCBmaWVsZCBlbGVtZW50LCB3aGljaCBjb3VsZCBiZSBhIEhUTUxEaXZFbGVt
ZW50IG9yIEhUTUxCb2R5RWxlbWVudC4gCisgICAgICAgIEJlY2F1c2UgdGhlIGNvbnRhaW5lciBu
b2RlIGlzIG5vdCBlZGl0YWJsZSwgaXQgZmFpbGVkIHRvIGluc2VydCB0ZXh0IGluIEVkaXRvcjo6
cmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0IGxhdGVyLgorCisgICAgICAgIFJldHVybiBudWxscHRy
IGlmIHRoZSByYW5nZSBpcyAoMCwgMCkgYW5kIHRoZSB0ZXh0IGxlbmd0aCBpcyAwIGluIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OnJhbmdlRm9yUGxhaW5UZXh0UmFuZ2UsIAorICAgICAgICBzbyB0aGF0
IHdoZW4gdGhlIGZyYW1lIHNlbGVjdGlvbiBpcyB0cnlpbmcgdG8gc2V0U2VsZWN0ZWRSYW5nZSBi
ZWZvcmUgcmVwbGFjaW5nIHRleHQsIGluc3RlYWQgb2YgY3JlYXRpbmcgYW4gCisgICAgICAgIHVu
ZWRpdGFibGUgVmlzaWJsZVNlbGVjdGlvbiwgaXQgd2lsbCBqdXN0IHJldHVybiBhbmQgbGF0ZXIg
aW4gRWRpdG9yOjpyZXBsYWNlU2VsZWN0aW9uV2l0aFRleHQsIGl0IHdpbGwgdXNlIAorICAgICAg
ICB0aGUgZGVmYXVsdCBWaXNpYmxlU2VsZWN0aW9uLCBvZiB3aGljaCB0aGUgY29udGFpbmVyIG5v
ZGUgaXMgYW4gZWRpdGFibGUgVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50LgorCisgICAgICAg
IFRoaXMgY2hhbmdlIGRvZXMgbm90IGFmZmVjdCB0aGUgZXhpc3RpbmcgYmVoYXZpb3JzIG9mIHRl
eHQgcmVwbGFjZW1lbnQuIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IHJlcGxhY2VtZW50IAorICAg
ICAgICB3aXRoIGVtcHR5IHJhbmdlIGluIGVkaXRhYmxlIGRpdiwgdGV4dCBpbnB1dCwgYW5kIHRl
eHRhcmVhLgorCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13
aXRoLWVtcHR5LXJhbmdlLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpy
YW5nZUZvclBsYWluVGV4dFJhbmdlIGNvbnN0KToKKwogMjAyMC0wMS0xNCAgUnlhbiBIYWRkYWQg
IDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMjU0NTA1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNmI5ZTBlZjc2MmVlMzJlNjVkZTg4NzY5Y2ZjYjU3ZDk3
NzcyZDMyZC4uZDgwMzA0NDk4MmU2YTNkNGJlZTYwYWI1MDg3N2M2OTBjOWFlN2IzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCkBAIC0xMTg5LDYgKzExODksOSBAQCBSZWZQdHI8UmFuZ2U+IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OnJhbmdlRm9yUGxhaW5UZXh0UmFuZ2UoY29uc3QgUGxhaW5UZXh0UmFuZ2UmCiAgICAgdW5z
aWduZWQgdGV4dExlbmd0aCA9IGdldExlbmd0aEZvclRleHRSYW5nZSgpOwogICAgIGlmIChyYW5n
ZS5zdGFydCArIHJhbmdlLmxlbmd0aCA+IHRleHRMZW5ndGgpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIC8vIEF2b2lkIHNldHRpbmcgc2VsZWN0aW9uIHRvIHVuZWRpdGFibGUgcGFyZW50
IG5vZGUgaW4gRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGVkUmFuZ2UuIFNlZSB3ZWJraXQub3Jn
L2IvMjA2MDkzLgorICAgIGlmIChyYW5nZS5pc051bGwoKSAmJiAhdGV4dExlbmd0aCkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0g
YXhPYmplY3RDYWNoZSgpKSB7CiAgICAgICAgIENoYXJhY3Rlck9mZnNldCBzdGFydCA9IGNhY2hl
LT5jaGFyYWN0ZXJPZmZzZXRGb3JJbmRleChyYW5nZS5zdGFydCwgdGhpcyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGQz
NmQ5YmZhZmNlYTM1NzcxYTNiMWIyNmY2YTVlMTM2YjFkNGJjMS4uZWE2OWY3MmFhMzQyNTNhYjZk
MTZlMmE4YmQ5MDVmZmJkNDdjNTk0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAxLTE0
ICBDYW5oYWkgQ2hlbiAgPGNhbmhhaV9jaGVuQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVW5h
YmxlIHRvIHVzZSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UgdG8gaW5z
ZXJ0IHRleHQgYXQgZmlyc3QgdGltZSB3aGVuIHRoZSB0ZXh0IGZpZWxkcyBhcmUgZW1wdHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjA5MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTg0OTE0NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0ZXh0IHJlcGxhY2VtZW50IHdpdGggZW1wdHkg
cmFuZ2UgaW4gZWRpdGFibGUgZGl2LCB0ZXh0IGlucHV0LCBhbmQgdGV4dGFyZWEuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9yZXBsYWNlLXRleHQtd2l0aC1lbXB0eS1yYW5nZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4
dC13aXRoLWVtcHR5LXJhbmdlLmh0bWw6IEFkZGVkLgorCiAyMDIwLTAxLTE0ICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyNTQ1MDUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9y
ZXBsYWNlLXRleHQtd2l0aC1lbXB0eS1yYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy9yZXBsYWNlLXRleHQtd2l0aC1lbXB0eS1yYW5nZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDRiY2MxNTAxNDM5MjM4MGE4MjJhY2Y4OWFlN2QxZTZjMmUxMjhlNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3JlcGxhY2Ut
dGV4dC13aXRoLWVtcHR5LXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUaGlz
IHRlc3RzIHRoYXQgd2hlbiB3ZSBhcmUgYWRkaW5nIHRleHQgdG8gZW1wdHkgdGV4dCBmaWVsZHMs
IHRoZSBhY2Nlc3NpYmlsaXR5IHJlcGxhY2Ugd2l0aCByYW5nZSBBUEkgZnVuY3Rpb25zIGFzIGV4
cGVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBheENvbnRlbnRF
ZGl0YWJsZURpdi5yZXBsYWNlVGV4dEluUmFuZ2UoJ0hlbGxvJywgMCwgMCkgaXMgdHJ1ZQorUEFT
UyBheENvbnRlbnRFZGl0YWJsZURpdi5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogSGVsbG8nCitQ
QVNTIGF4VGV4dC5yZXBsYWNlVGV4dEluUmFuZ2UoJ0hlbGxvJywgMCwgMCkgaXMgdHJ1ZQorUEFT
UyBheFRleHQuc3RyaW5nVmFsdWUgaXMgJ0FYVmFsdWU6IEhlbGxvJworUEFTUyBheFRleHRhcmVh
LnJlcGxhY2VUZXh0SW5SYW5nZSgnSGVsbG8nLCAwLCAwKSBpcyB0cnVlCitQQVNTIGF4VGV4dGFy
ZWEuc3RyaW5nVmFsdWUgaXMgJ0FYVmFsdWU6IEhlbGxvJworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWFjL3JlcGxhY2UtdGV4dC13aXRoLWVtcHR5LXJhbmdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9yZXBsYWNlLXRleHQtd2l0aC1lbXB0eS1yYW5nZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY2OTk1ZDU5M2E4NWQ3OTQ0MzEyYjFjZGYwNDgwMTY5YWRlNjEyMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9yZXBsYWNl
LXRleHQtd2l0aC1lbXB0eS1yYW5nZS5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgaWQ9ImNv
bnRlbnQiPgorICAgIDxkaXYgaWQ9ImNvbnRlbnQtZWRpdGFibGUtZGl2IiBjb250ZW50ZWRpdGFi
bGU9InRydWUiIHJvbGU9InRleHRib3giPjwvZGl2PgorICAgIDxpbnB1dCBpZD0idGV4dCIgdHlw
ZT0idGV4dCIgdmFsdWU9IiI+CisgICAgPHRleHRhcmVhIGlkPSJ0ZXh0YXJlYSI+PC90ZXh0YXJl
YT4KKzwvZGl2PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgd2hl
biB3ZSBhcmUgYWRkaW5nIHRleHQgdG8gZW1wdHkgdGV4dCBmaWVsZHMsIHRoZSBhY2Nlc3NpYmls
aXR5IHJlcGxhY2Ugd2l0aCByYW5nZSBBUEkgZnVuY3Rpb25zIGFzIGV4cGVjdGVkLiIpOworCisg
ICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB2YXIgYXhD
b250ZW50RWRpdGFibGVEaXYgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoImNvbnRlbnQtZWRpdGFibGUtZGl2Iik7CisgICAgICAgIHZhciBjb250ZW50RWRp
dGFibGVEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudC1lZGl0YWJsZS1kaXYi
KTsKKyAgICAgICAgY29udGVudEVkaXRhYmxlRGl2LmZvY3VzKCk7CisgICAgICAgIHNob3VsZEJl
VHJ1ZSgiYXhDb250ZW50RWRpdGFibGVEaXYucmVwbGFjZVRleHRJblJhbmdlKCdIZWxsbycsIDAs
IDApIik7CisgICAgICAgIHNob3VsZEJlKCJheENvbnRlbnRFZGl0YWJsZURpdi5zdHJpbmdWYWx1
ZSIsICInQVhWYWx1ZTogSGVsbG8nIik7CisgICAgICAgIGNvbnRlbnRFZGl0YWJsZURpdi5ibHVy
KCk7CisKKyAgICAgICAgdmFyIGF4VGV4dCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgidGV4dCIpOworICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXh0Iik7CisgICAgICAgIHRleHQuZm9jdXMoKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJheFRleHQucmVwbGFjZVRleHRJblJhbmdlKCdIZWxsbycsIDAsIDApIik7Cisg
ICAgICAgIHNob3VsZEJlKCJheFRleHQuc3RyaW5nVmFsdWUiLCAiJ0FYVmFsdWU6IEhlbGxvJyIp
OworICAgICAgICB0ZXh0LmJsdXIoKTsKKworICAgICAgICB2YXIgYXhUZXh0YXJlYSA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsKKyAg
ICAgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRhcmVhIik7
CisgICAgICAgIHRleHRhcmVhLmZvY3VzKCk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiYXhUZXh0
YXJlYS5yZXBsYWNlVGV4dEluUmFuZ2UoJ0hlbGxvJywgMCwgMCkiKTsKKyAgICAgICAgc2hvdWxk
QmUoImF4VGV4dGFyZWEuc3RyaW5nVmFsdWUiLCAiJ0FYVmFsdWU6IEhlbGxvJyIpOworICAgICAg
ICB0ZXh0YXJlYS5ibHVyKCk7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRlbnQiKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CisgICAgfQorPC9zY3JpcHQ+CisK
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>