<?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>147362</bug_id>
          
          <creation_ts>2015-07-28 09:57:03 -0700</creation_ts>
          <short_desc>Web Inspector: Support smart-pasting in the Rules sidebar panel</short_desc>
          <delta_ts>2015-07-30 16:57:02 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112733</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-28 09:57:03 -0700</bug_when>
    <thetext>If the user copies an entire rule from a CSS file, the copied text should be formatted when pasting so that the selector is placed in the header and the properties are in the content.  This should make CSS editing from files much easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112735</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-28 09:57:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/22031993&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113038</commentid>
    <comment_count>2</comment_count>
      <attachid>257735</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-28 22:39:26 -0700</bug_when>
    <thetext>Created attachment 257735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113092</commentid>
    <comment_count>3</comment_count>
      <attachid>257735</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-07-29 08:53:02 -0700</bug_when>
    <thetext>Comment on attachment 257735
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js:270
&gt; +            this.refresh();

markUndoable here too?

&gt; Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js:278
&gt; +            if (!CSSAgent.setStyleText) {

You should add a compatibility comment, so we can remove this later when we don&apos;t support that iOS version anymore.

&gt; Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js:284
&gt; +            CSSAgent.setStyleText(rulePayload.style.styleId, text, styleChanged.bind(this));

If text is empty, should we early return before here?

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:417
&gt; +        this._style.nodeStyles.addRuleWithSelectorAndText(match[1].trimRight(), match[2].trim());

It is kind of odd this makes a new rule instead of replacing the one you are pasting into. Why not just replace?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113297</commentid>
    <comment_count>4</comment_count>
      <attachid>257815</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-29 22:17:36 -0700</bug_when>
    <thetext>Created attachment 257815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113393</commentid>
    <comment_count>5</comment_count>
      <attachid>257838</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-30 10:07:47 -0700</bug_when>
    <thetext>Created attachment 257838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113394</commentid>
    <comment_count>6</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-30 10:08:53 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created attachment 257838 [details]
&gt; Patch

It makes more sense to me that the pasted data does not immediately go into effect, but rather waits on the user to blur the selector editor or press enter.  The style text itself is changed and committed, but the selector is not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113433</commentid>
    <comment_count>7</comment_count>
      <attachid>257838</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-07-30 11:32:10 -0700</bug_when>
    <thetext>Comment on attachment 257838
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:419
&gt; +        this._selectorElement.textContent = match[1].trimRight();

I think committing on paste is better, since you commit the style body. Not committing both can lead to a style being applied to some elements when it is meant for another set of elements. That could lead to developer confusion when they don&apos;t blur the field.

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:420
&gt; +        this._style.text = match[2].trim();

You don&apos;t need to trim. The whitespace will be stripped (and remembered once we fix bug 145679).

This will commit the change, while the selector change will not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113497</commentid>
    <comment_count>8</comment_count>
      <attachid>257854</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-30 14:35:24 -0700</bug_when>
    <thetext>Created attachment 257854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113576</commentid>
    <comment_count>9</comment_count>
      <attachid>257854</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-30 16:56:58 -0700</bug_when>
    <thetext>Comment on attachment 257854
Patch

Clearing flags on attachment: 257854

Committed r187625: &lt;http://trac.webkit.org/changeset/187625&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113577</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-30 16:57:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257735</attachid>
            <date>2015-07-28 22:39:26 -0700</date>
            <delta_ts>2015-07-29 22:17:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147362-20150728223803.patch</filename>
            <type>text/plain</type>
            <size>4396</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDY2Y2FhYjJlMTAxZWRmNzgxZDFhNzMzNDI4MjVl
NGUwMWYxOTkxNTIuLjQwM2FlODJiMzgwMTU3OTliZGQ5ZjJhOTdjODYwNDA0MTVlMDI3MDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA3LTI4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dXBwb3J0IHNtYXJ0LXBhc3RpbmcgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGFzdGluZyBvdmVy
IHRoZSBzZWxlY3RvciwgaWYgdGhlIHBhc3RlZCB0ZXh0IG1hdGNoZXMgQ1NTIHJ1bGUKKyAgICAg
ICAgZm9ybWF0dGluZywgYWRkIGEgbmV3IHJ1bGUgd2l0aCB0aGF0IHRleHQgaW5zdGVhZC4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcy5wcm90b3R5cGUuYWRkUnVsZVdpdGhTZWxlY3Rv
ckFuZFRleHQuc3R5bGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlU3R5
bGVzLnByb3RvdHlwZS5hZGRSdWxlV2l0aFNlbGVjdG9yQW5kVGV4dC5hZGRlZFJ1bGUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmFkZFJ1bGVXaXRoU2Vs
ZWN0b3JBbmRUZXh0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uKToKKwogMjAxNS0wNy0yNyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVjb3JkIGJ1dHRvbiBpbiBUaW1lbGlu
ZXMgdmlldyBpcyBjbGlwcGVkIG9uIG5vbi1yZXRpbmEuIEhvdmVyaW5nIG92ZXIgdGhlIGRvdCBk
cmF3cyBpdCBjb3JyZWN0bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzCmluZGV4IDEyY2RmMDFjZGVk
NmRkODBjY2EyMzhlMzE5MzU1NjA0ZjJhODI5YmEuLjAzNTRkOGUzMzc5Yjk0ZmJkNjk3NDUwMTgw
MmY3YzZmZWJjMWViYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzCkBAIC0yNTcsNiArMjU3LDM2
IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlU3R5bGVzID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBleHRl
bmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgQ1NTQWdlbnQuYWRkUnVsZS5pbnZva2Uo
e2NvbnRleHROb2RlSWQ6IHRoaXMuX25vZGUuaWQsIHNlbGVjdG9yfSwgYWRkZWRSdWxlLmJpbmQo
dGhpcykpOwogICAgIH0KIAorICAgIGFkZFJ1bGVXaXRoU2VsZWN0b3JBbmRUZXh0KHNlbGVjdG9y
LCB0ZXh0KQorICAgIHsKKyAgICAgICAgaWYgKCFzZWxlY3RvcikKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBmdW5jdGlvbiBzdHlsZUNoYW5nZWQoZXJyb3IsIHN0eWxlUGF5bG9hZCkK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7CisgICAgICAgIH0KKworICAgICAgICBm
dW5jdGlvbiBhZGRlZFJ1bGUoZXJyb3IsIHJ1bGVQYXlsb2FkKQorICAgICAgICB7CisgICAgICAg
ICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBp
ZiAoIUNTU0FnZW50LnNldFN0eWxlVGV4dCkgeworICAgICAgICAgICAgICAgIERPTUFnZW50Lm1h
cmtVbmRvYWJsZVN0YXRlKCk7CisgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBDU1NBZ2Vu
dC5zZXRTdHlsZVRleHQocnVsZVBheWxvYWQuc3R5bGUuc3R5bGVJZCwgdGV4dCwgc3R5bGVDaGFu
Z2VkLmJpbmQodGhpcykpOworICAgICAgICB9CisKKyAgICAgICAgQ1NTQWdlbnQuYWRkUnVsZS5p
bnZva2Uoe2NvbnRleHROb2RlSWQ6IHRoaXMuX25vZGUuaWQsIHNlbGVjdG9yfSwgYWRkZWRSdWxl
LmJpbmQodGhpcykpOworICAgIH0KKwogICAgIGdldCBtYXRjaGVkUnVsZXMoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRoaXMuX21hdGNoZWRSdWxlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9u
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24uanMKaW5kZXggZjJhZTI1Yzg2NjIyYTY5NjYxMTBmM2JlMGQ5Mjhm
NGY2YmMyOGFkOS4uZTc1YWExNTA5OWVlNTE0NjUwZjMxNjQ2ZmI3ZTczZDg3MmRkYmRiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTUyLDYgKzUy
LDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gZnVuY3Rpb24o
ZGVsZWdhdGUsIHN0eWxlKQogICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCJtb3VzZW91dCIsIHRoaXMuX2hhbmRsZU1vdXNlT3V0LmJpbmQodGhpcykpOwogICAgIHRo
aXMuX3NlbGVjdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5faGFu
ZGxlS2V5RG93bi5iaW5kKHRoaXMpKTsKICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigia2V5dXAiLCB0aGlzLl9oYW5kbGVLZXlVcC5iaW5kKHRoaXMpKTsKKyAgICB0
aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLCB0aGlzLl9oYW5k
bGVTZWxlY3RvclBhc3RlLmJpbmQodGhpcykpOwogICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuYXBw
ZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JFbGVtZW50KTsKIAogICAgIHRoaXMuX29yaWdpbkVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CkBAIC0zOTcsNiArMzk4LDI2IEBA
IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHJldHVybiBzZWxlY3RvclRleHQudHJpbSgpOwogICAgIH0sCiAKKyAgICBfaGFuZGxl
U2VsZWN0b3JQYXN0ZTogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5f
c3R5bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24uVHlwZS5Jbmxp
bmUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKCFldmVudCB8fCAhZXZlbnQu
Y2xpcGJvYXJkRGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB2YXIgZGF0YSA9
IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpOworICAgICAgICBpZiAo
IWRhdGEgfHwgIS9bXHtcfV0vLnRlc3QoZGF0YSkpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdmFyIG1hdGNoID0gZGF0YS50cmltKCkubWF0Y2goL14oW157XSspeyguKil9JC8pOwor
ICAgICAgICBpZiAoIW1hdGNoKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMu
X3N0eWxlLm5vZGVTdHlsZXMuYWRkUnVsZVdpdGhTZWxlY3RvckFuZFRleHQobWF0Y2hbMV0udHJp
bVJpZ2h0KCksIG1hdGNoWzJdLnRyaW0oKSk7CisgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0
KCk7CisgICAgfSwKKwogICAgIF9oYW5kbGVDb250ZXh0TWVudUV2ZW50OiBmdW5jdGlvbihldmVu
dCkKICAgICB7CiAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKS5s
ZW5ndGgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257815</attachid>
            <date>2015-07-29 22:17:36 -0700</date>
            <delta_ts>2015-07-30 10:07:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147362-20150729221613.patch</filename>
            <type>text/plain</type>
            <size>5064</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRmMTQ1MDRiYzNmMzFlNDU5MjdhMzU1NTUxNjdl
ZjczMjZlMzIyY2EuLmE5MzhlNzgxMDk0ZTFkYjJlYjE4ZWU3ZjE4ZWI2OGNjNGY1MGNjY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA3LTI5ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dXBwb3J0IHNtYXJ0LXBhc3RpbmcgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGFzdGluZyBvdmVy
IHRoZSBzZWxlY3RvciwgaWYgdGhlIHBhc3RlZCB0ZXh0IG1hdGNoZXMgQ1NTIHJ1bGUKKyAgICAg
ICAgZm9ybWF0dGluZywgcmVwbGFjZSB0aGUgc2VsZWN0ZWQgcnVsZSB3aXRoIHRoZSBzZWxlY3Rv
ciBhbmQgdGV4dCBpbgorICAgICAgICB0aGUgcGFzdGVkIGRhdGEuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmNoYW5nZVJ1bGUuY2hhbmdlQ29tcGxldGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlU3R5bGVzLnByb3RvdHlwZS5jaGFuZ2VSdWxlLnN0
eWxlQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcy5wcm90b3R5
cGUuY2hhbmdlUnVsZS5jaGFuZ2VUZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2Rl
U3R5bGVzLnByb3RvdHlwZS5jaGFuZ2VSdWxlLnJ1bGVTZWxlY3RvckNoYW5nZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmNoYW5nZVJ1bGUpOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24pOgorCiAy
MDE1LTA3LTI5ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBBbGxvdyByZWNvcmQgZmlsdGVyaW5nIGJ5IGZyYW1lIGR1cmF0aW9uIGlu
IFJlbmRlcmluZyBGcmFtZXMgdGltZWxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKaW5kZXggNDVm
NzIyZmRiMWZjMWE2OTI1MzUxN2Q1ZTA2MThmN2ZmMjk0Yjg0Yi4uZWQ1YjlmZjc0ZjZhNjhkMTM1
N2E0ZmQ1MjQ2NWExZGJhOTVjYmRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKQEAgLTMyMiw2
ICszMjIsNTIgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5
bGVzIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlzLl9tYXJrQXNOZWVk
c1JlZnJlc2goKTsKICAgICB9CiAKKyAgICBjaGFuZ2VSdWxlKHJ1bGUsIHNlbGVjdG9yLCB0ZXh0
KQorICAgIHsKKyAgICAgICAgaWYgKCFydWxlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIHNlbGVjdG9yID0gc2VsZWN0b3IgfHwgIiI7CisKKyAgICAgICAgZnVuY3Rpb24gY2hhbmdl
Q29tcGxldGVkKCkKKyAgICAgICAgeworICAgICAgICAgICAgRE9NQWdlbnQubWFya1VuZG9hYmxl
U3RhdGUoKTsKKyAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpOworICAgICAgICB9CisKKyAgICAg
ICAgZnVuY3Rpb24gc3R5bGVDaGFuZ2VkKGVycm9yLCBzdHlsZVBheWxvYWQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgICAgIGNoYW5nZUNvbXBsZXRlZC5jYWxsKHRoaXMpOworICAgICAgICB9CisKKyAgICAgICAg
ZnVuY3Rpb24gY2hhbmdlVGV4dChzdHlsZUlkKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBD
T01QQVRJQklMSVRZIChpT1MgNik6IENTU0FnZW50LnNldFN0eWxlVGV4dCB3YXMgbm90IGF2YWls
YWJsZSBpbiBpT1MgNi4KKyAgICAgICAgICAgIGlmICghdGV4dCB8fCAhdGV4dC5sZW5ndGggfHwg
IUNTU0FnZW50LnNldFN0eWxlVGV4dCkgeworICAgICAgICAgICAgICAgIGNoYW5nZUNvbXBsZXRl
ZC5jYWxsKHRoaXMpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVUZXh0KHN0eWxlSWQsIHRleHQsIHN0eWxlQ2hh
bmdlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJ1bGVTZWxl
Y3RvckNoYW5nZWQoZXJyb3IsIHJ1bGVQYXlsb2FkKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBjaGFuZ2VU
ZXh0LmNhbGwodGhpcywgcnVsZVBheWxvYWQuc3R5bGUuc3R5bGVJZCk7CisgICAgICAgIH0KKwor
ICAgICAgICB0aGlzLl9uZWVkc1JlZnJlc2ggPSB0cnVlOworICAgICAgICB0aGlzLl9pZ25vcmVO
ZXh0Q29udGVudERpZENoYW5nZUZvclN0eWxlU2hlZXQgPSBydWxlLm93bmVyU3R5bGVTaGVldDsK
KworICAgICAgICBDU1NBZ2VudC5zZXRSdWxlU2VsZWN0b3IocnVsZS5pZCwgc2VsZWN0b3IsIHJ1
bGVTZWxlY3RvckNoYW5nZWQuYmluZCh0aGlzKSk7CisgICAgfQorCiAgICAgY2hhbmdlUnVsZVNl
bGVjdG9yKHJ1bGUsIHNlbGVjdG9yKQogICAgIHsKICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rv
ciB8fCAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKaW5k
ZXggNTUyYzQ2ZWU3OTJjZDY2MThlZTM0Mzk5MjM5ODc5ZTRjZjYwZjM1OS4uN2Q4ZjhiOGIwYWE3
NGUzYjZmMjMxMjRhYzE2ZmNjNTJlM2U3NzhmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTUyLDYgKzUyLDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gZnVuY3Rpb24oZGVsZWdhdGUsIHN0eWxlKQogICAgIHRo
aXMuX3NlbGVjdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIHRoaXMuX2hh
bmRsZU1vdXNlT3V0LmJpbmQodGhpcykpOwogICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5faGFuZGxlS2V5RG93bi5iaW5kKHRoaXMpKTsK
ICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCB0aGlz
Ll9oYW5kbGVLZXlVcC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigicGFzdGUiLCB0aGlzLl9oYW5kbGVTZWxlY3RvclBhc3RlLmJpbmQodGhp
cykpOwogICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JF
bGVtZW50KTsKIAogICAgIHRoaXMuX29yaWdpbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIik7CkBAIC0zOTksNiArNDAwLDI4IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURl
Y2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBzZWxlY3RvclRl
eHQudHJpbSgpOwogICAgIH0sCiAKKyAgICBfaGFuZGxlU2VsZWN0b3JQYXN0ZTogZnVuY3Rpb24o
ZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc3R5bGUudHlwZSA9PT0gV2ViSW5zcGVj
dG9yLkNTU1N0eWxlRGVjbGFyYXRpb24uVHlwZS5JbmxpbmUgfHwgIXRoaXMuX3N0eWxlLm93bmVy
UnVsZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWV2ZW50IHx8ICFldmVu
dC5jbGlwYm9hcmREYXRhKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBkYXRh
ID0gZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0L3BsYWluIik7CisgICAgICAgIGlm
ICghZGF0YSB8fCAhL1tce1x9XS8udGVzdChkYXRhKSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICB2YXIgbWF0Y2ggPSBkYXRhLnRyaW0oKS5tYXRjaCgvXihbXntdKyl7KC4qKX0kLyk7
CisgICAgICAgIGlmICghbWF0Y2gpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFy
IHNlbGVjdG9yID0gbWF0Y2hbMV0udHJpbVJpZ2h0KCk7CisgICAgICAgIHRoaXMuX3NlbGVjdG9y
RWxlbWVudC50ZXh0Q29udGVudCA9IHNlbGVjdG9yOworICAgICAgICB0aGlzLl9zdHlsZS5ub2Rl
U3R5bGVzLmNoYW5nZVJ1bGUodGhpcy5fc3R5bGUub3duZXJSdWxlLCBzZWxlY3RvciwgbWF0Y2hb
Ml0udHJpbSgpKTsKKyAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICB9LAorCiAg
ICAgX2hhbmRsZUNvbnRleHRNZW51RXZlbnQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAg
ICAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpLmxlbmd0aCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257838</attachid>
            <date>2015-07-30 10:07:47 -0700</date>
            <delta_ts>2015-07-30 14:35:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147362-20150730100746.patch</filename>
            <type>text/plain</type>
            <size>2765</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRmMTQ1MDRiYzNmMzFlNDU5MjdhMzU1NTUxNjdl
ZjczMjZlMzIyY2EuLmIwYzlhYWRjODU5Mzg2YjA1Yjc0NzQzZmE4M2M5YzM3M2FlMDQ2OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA3LTI5ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dXBwb3J0IHNtYXJ0LXBhc3RpbmcgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGFzdGluZyBvdmVy
IHRoZSBzZWxlY3RvciwgaWYgdGhlIHBhc3RlZCB0ZXh0IG1hdGNoZXMgQ1NTIHJ1bGUKKyAgICAg
ICAgZm9ybWF0dGluZywgcmVwbGFjZSB0aGUgc2VsZWN0ZWQgcnVsZSB3aXRoIHRoZSBzZWxlY3Rv
ciBhbmQgdGV4dCBpbgorICAgICAgICB0aGUgcGFzdGVkIGRhdGEuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uKToKKwogMjAxNS0wNy0yOSAg
TWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWxsb3cgcmVjb3JkIGZpbHRlcmluZyBieSBmcmFtZSBkdXJhdGlvbiBpbiBSZW5kZXJpbmcg
RnJhbWVzIHRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9u
LmpzCmluZGV4IDU1MmM0NmVlNzkyY2Q2NjE4ZWUzNDM5OTIzOTg3OWU0Y2Y2MGYzNTkuLmE2MTE3
MzViMzVjNjI0MmE1N2Y1Y2JjYjQ1Y2VlMjEzY2ZkNjkzOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCkBAIC01Miw2ICs1Miw3IEBAIFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGZ1bmN0aW9uKGRlbGVnYXRlLCBzdHlsZSkK
ICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCB0
aGlzLl9oYW5kbGVNb3VzZU91dC5iaW5kKHRoaXMpKTsKICAgICB0aGlzLl9zZWxlY3RvckVsZW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0
aGlzKSk7CiAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVw
IiwgdGhpcy5faGFuZGxlS2V5VXAuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fc2VsZWN0b3JFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIiwgdGhpcy5faGFuZGxlU2VsZWN0b3JQYXN0ZS5i
aW5kKHRoaXMpKTsKICAgICB0aGlzLl9oZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Nl
bGVjdG9yRWxlbWVudCk7CiAKICAgICB0aGlzLl9vcmlnaW5FbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic3BhbiIpOwpAQCAtMzk5LDYgKzQwMCwyNyBAQCBXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gc2Vs
ZWN0b3JUZXh0LnRyaW0oKTsKICAgICB9LAogCisgICAgX2hhbmRsZVNlbGVjdG9yUGFzdGU6IGZ1
bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3N0eWxlLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuSW5saW5lIHx8ICF0aGlzLl9zdHls
ZS5vd25lclJ1bGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKCFldmVudCB8
fCAhZXZlbnQuY2xpcGJvYXJkRGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB2
YXIgZGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpOworICAg
ICAgICBpZiAoIWRhdGEgfHwgIS9bXHtcfV0vLnRlc3QoZGF0YSkpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdmFyIG1hdGNoID0gZGF0YS50cmltKCkubWF0Y2goL14oW157XSspeygu
Kil9JC8pOworICAgICAgICBpZiAoIW1hdGNoKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudCA9IG1hdGNoWzFdLnRyaW1SaWdo
dCgpOworICAgICAgICB0aGlzLl9zdHlsZS50ZXh0ID0gbWF0Y2hbMl0udHJpbSgpOworICAgICAg
ICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0sCisKICAgICBfaGFuZGxlQ29udGV4dE1l
bnVFdmVudDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICBpZiAod2luZG93LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCkubGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257854</attachid>
            <date>2015-07-30 14:35:24 -0700</date>
            <delta_ts>2015-07-30 16:56:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147362-20150730143523.patch</filename>
            <type>text/plain</type>
            <size>5769</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDRmMTQ1MDRiYzNmMzFlNDU5MjdhMzU1NTUxNjdl
ZjczMjZlMzIyY2EuLjliNDgxNDQ5OGFjMzU4ZWJhNTQ4YWU0NGJiNjdhMTUyMDg1YTY4ZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA3LTMwICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dXBwb3J0IHNtYXJ0LXBhc3RpbmcgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGFzdGluZyBvdmVy
IHRoZSBzZWxlY3RvciwgaWYgdGhlIHBhc3RlZCB0ZXh0IG1hdGNoZXMgQ1NTIHJ1bGUKKyAgICAg
ICAgZm9ybWF0dGluZywgcmVwbGFjZSB0aGUgc2VsZWN0ZWQgcnVsZSB3aXRoIHRoZSBzZWxlY3Rv
ciBhbmQgdGV4dCBpbgorICAgICAgICB0aGUgcGFzdGVkIGRhdGEuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmNoYW5nZVJ1bGUuY2hhbmdlQ29tcGxldGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlU3R5bGVzLnByb3RvdHlwZS5jaGFuZ2VSdWxlLnN0
eWxlQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcy5wcm90b3R5
cGUuY2hhbmdlUnVsZS5jaGFuZ2VUZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2Rl
U3R5bGVzLnByb3RvdHlwZS5jaGFuZ2VSdWxlLnJ1bGVTZWxlY3RvckNoYW5nZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmNoYW5nZVJ1bGUpOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90
eXBlLl9oYW5kbGVTZWxlY3RvclBhc3RlLnBhcnNlVGV4dEZvclJ1bGUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5faGFuZGxlU2Vs
ZWN0b3JQYXN0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24pOgorCiAyMDE1LTA3LTI5ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBbGxvdyByZWNvcmQgZmlsdGVyaW5nIGJ5IGZyYW1l
IGR1cmF0aW9uIGluIFJlbmRlcmluZyBGcmFtZXMgdGltZWxpbmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMu
anMKaW5kZXggNDVmNzIyZmRiMWZjMWE2OTI1MzUxN2Q1ZTA2MThmN2ZmMjk0Yjg0Yi4uZWQ1Yjlm
Zjc0ZjZhNjhkMTM1N2E0ZmQ1MjQ2NWExZGJhOTVjYmRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMu
anMKQEAgLTMyMiw2ICszMjIsNTIgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMgPSBjbGFz
cyBET01Ob2RlU3R5bGVzIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlz
Ll9tYXJrQXNOZWVkc1JlZnJlc2goKTsKICAgICB9CiAKKyAgICBjaGFuZ2VSdWxlKHJ1bGUsIHNl
bGVjdG9yLCB0ZXh0KQorICAgIHsKKyAgICAgICAgaWYgKCFydWxlKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IgfHwgIiI7CisKKyAgICAgICAgZnVu
Y3Rpb24gY2hhbmdlQ29tcGxldGVkKCkKKyAgICAgICAgeworICAgICAgICAgICAgRE9NQWdlbnQu
bWFya1VuZG9hYmxlU3RhdGUoKTsKKyAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpOworICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3R5bGVDaGFuZ2VkKGVycm9yLCBzdHlsZVBheWxvYWQp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgICAgIGNoYW5nZUNvbXBsZXRlZC5jYWxsKHRoaXMpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gY2hhbmdlVGV4dChzdHlsZUlkKQorICAgICAgICB7CisgICAg
ICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgNik6IENTU0FnZW50LnNldFN0eWxlVGV4dCB3
YXMgbm90IGF2YWlsYWJsZSBpbiBpT1MgNi4KKyAgICAgICAgICAgIGlmICghdGV4dCB8fCAhdGV4
dC5sZW5ndGggfHwgIUNTU0FnZW50LnNldFN0eWxlVGV4dCkgeworICAgICAgICAgICAgICAgIGNo
YW5nZUNvbXBsZXRlZC5jYWxsKHRoaXMpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVUZXh0KHN0eWxlSWQsIHRl
eHQsIHN0eWxlQ2hhbmdlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0
aW9uIHJ1bGVTZWxlY3RvckNoYW5nZWQoZXJyb3IsIHJ1bGVQYXlsb2FkKQorICAgICAgICB7Cisg
ICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
ICAgICBjaGFuZ2VUZXh0LmNhbGwodGhpcywgcnVsZVBheWxvYWQuc3R5bGUuc3R5bGVJZCk7Cisg
ICAgICAgIH0KKworICAgICAgICB0aGlzLl9uZWVkc1JlZnJlc2ggPSB0cnVlOworICAgICAgICB0
aGlzLl9pZ25vcmVOZXh0Q29udGVudERpZENoYW5nZUZvclN0eWxlU2hlZXQgPSBydWxlLm93bmVy
U3R5bGVTaGVldDsKKworICAgICAgICBDU1NBZ2VudC5zZXRSdWxlU2VsZWN0b3IocnVsZS5pZCwg
c2VsZWN0b3IsIHJ1bGVTZWxlY3RvckNoYW5nZWQuYmluZCh0aGlzKSk7CisgICAgfQorCiAgICAg
Y2hhbmdlUnVsZVNlbGVjdG9yKHJ1bGUsIHNlbGVjdG9yKQogICAgIHsKICAgICAgICAgc2VsZWN0
b3IgPSBzZWxlY3RvciB8fCAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24uanMKaW5kZXggNTUyYzQ2ZWU3OTJjZDY2MThlZTM0Mzk5MjM5ODc5ZTRjZjYwZjM1OS4u
NDU0ZWQ4NjI2NTRjMWYyMWVjNmRiZWQxZWNmMDU3ODFmNzI1M2EyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTUyLDYgKzUyLDcgQEAgV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gZnVuY3Rpb24oZGVsZWdhdGUsIHN0
eWxlKQogICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91
dCIsIHRoaXMuX2hhbmRsZU1vdXNlT3V0LmJpbmQodGhpcykpOwogICAgIHRoaXMuX3NlbGVjdG9y
RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5faGFuZGxlS2V5RG93bi5i
aW5kKHRoaXMpKTsKICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
a2V5dXAiLCB0aGlzLl9oYW5kbGVLZXlVcC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9zZWxlY3Rv
ckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLCB0aGlzLl9oYW5kbGVTZWxlY3RvclBh
c3RlLmJpbmQodGhpcykpOwogICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fc2VsZWN0b3JFbGVtZW50KTsKIAogICAgIHRoaXMuX29yaWdpbkVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CkBAIC0zOTksNiArNDAwLDQzIEBAIFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVy
biBzZWxlY3RvclRleHQudHJpbSgpOwogICAgIH0sCiAKKyAgICBfaGFuZGxlU2VsZWN0b3JQYXN0
ZTogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc3R5bGUudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24uVHlwZS5JbmxpbmUgfHwgIXRoaXMu
X3N0eWxlLm93bmVyUnVsZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWV2
ZW50IHx8ICFldmVudC5jbGlwYm9hcmREYXRhKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIHZhciBkYXRhID0gZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0L3BsYWluIik7
CisgICAgICAgIGlmICghZGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBmdW5j
dGlvbiBwYXJzZVRleHRGb3JSdWxlKHRleHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBj
b250YWluc0JyYWNlcyA9IC9bXHtcfV0vOworICAgICAgICAgICAgaWYgKCFjb250YWluc0JyYWNl
cy50ZXN0KHRleHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAg
ICB2YXIgbWF0Y2ggPSB0ZXh0Lm1hdGNoKC8oW157XSspeyguKil9Lyk7CisgICAgICAgICAgICBp
ZiAoIW1hdGNoKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAgICAv
LyBJZiB0aGUgbWF0Y2ggImJvZHkiIGNvbnRhaW5zIGJyYWNlcywgcGFyc2UgdGhhdCBib2R5IGFz
IGlmIGl0IHdlcmUgYSBydWxlLgorICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHVzdWFsbHkgaGFw
cGVuIGlmIHRoZSB1c2VyIGluY2x1ZGVzIGEgbWVkaWEgcXVlcnkgaW4gdGhlIGNvcGllZCB0ZXh0
LgorICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5zQnJhY2VzLnRlc3QobWF0Y2hbMl0pID8gcGFy
c2VUZXh0Rm9yUnVsZShtYXRjaFsyXSkgOiBtYXRjaDsKKyAgICAgICAgfQorCisgICAgICAgIHZh
ciBtYXRjaCA9IHBhcnNlVGV4dEZvclJ1bGUoZGF0YSk7CisgICAgICAgIGlmICghbWF0Y2gpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIHNlbGVjdG9yID0gbWF0Y2hbMV0udHJp
bSgpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSBzZWxlY3Rv
cjsKKyAgICAgICAgdGhpcy5fc3R5bGUubm9kZVN0eWxlcy5jaGFuZ2VSdWxlKHRoaXMuX3N0eWxl
Lm93bmVyUnVsZSwgc2VsZWN0b3IsIG1hdGNoWzJdKTsKKyAgICAgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKKyAgICB9LAorCiAgICAgX2hhbmRsZUNvbnRleHRNZW51RXZlbnQ6IGZ1bmN0aW9u
KGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpLmxlbmd0aCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>