<?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>101907</bug_id>
          
          <creation_ts>2012-11-12 00:26:12 -0800</creation_ts>
          <short_desc>Web Inspector: Extract common interface for StatusBarButton and StatusBarCombo</short_desc>
          <delta_ts>2012-11-13 22:58:12 -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>Web Inspector (Deprecated)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>101749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>eustas.bug</reporter>
          <assigned_to>eustas.bug</assigned_to>
          <cc>apavlov</cc>
    
    <cc>caseq</cc>
    
    <cc>eustas.bug</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764120</commentid>
    <comment_count>0</comment_count>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-12 00:26:12 -0800</bug_when>
    <thetext>Status bar control element should have common interface for easier management.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764129</commentid>
    <comment_count>1</comment_count>
      <attachid>173579</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-12 00:33:11 -0800</bug_when>
    <thetext>Created attachment 173579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764162</commentid>
    <comment_count>2</comment_count>
      <attachid>173579</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-12 02:11:11 -0800</bug_when>
    <thetext>Comment on attachment 173579
Patch

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

&gt; Source/WebCore/inspector/front-end/CPUProfileView.js:74
&gt; +    this.focusButton.setDisabled(true);

If we change the API, I would introduce setEnabled.

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:34
&gt; +WebInspector.StatusBarItem = function()

Where is it used? Maybe it should have default implementation that manages element&apos;s state based on the calls below? I.e. be not an interface, but a base class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764225</commentid>
    <comment_count>3</comment_count>
      <attachid>173610</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-12 03:43:52 -0800</bug_when>
    <thetext>Created attachment 173610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764227</commentid>
    <comment_count>4</comment_count>
      <attachid>173579</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-12 03:44:48 -0800</bug_when>
    <thetext>Comment on attachment 173579
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/CPUProfileView.js:74
&gt;&gt; +    this.focusButton.setDisabled(true);
&gt; 
&gt; If we change the API, I would introduce setEnabled.

Done

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:34
&gt;&gt; +WebInspector.StatusBarItem = function()
&gt; 
&gt; Where is it used? Maybe it should have default implementation that manages element&apos;s state based on the calls below? I.e. be not an interface, but a base class?

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765394</commentid>
    <comment_count>5</comment_count>
      <attachid>173610</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-13 01:43:54 -0800</bug_when>
    <thetext>Comment on attachment 173610
Patch

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

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:32
&gt;   * @extends {WebInspector.Object}

@constructor should go first (we use alphabetic order)

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:34
&gt; + * @param {!Element} element

We don&apos;t use ! notation

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:46
&gt; +    setEnabled: function(value) {

{ on the next line

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:58
&gt; + * @constructor

ditto

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:272
&gt; + * @extends {WebInspector.StatusBarItem}

ditto

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:291
&gt; +     * @param {!Element} option

ditto

&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:301
&gt; +    setEnabled: function(value)

Hm. This looks like copy-paste, but I don&apos;t have a good suggestion for you :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766290</commentid>
    <comment_count>6</comment_count>
      <attachid>173610</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-13 18:33:11 -0800</bug_when>
    <thetext>Comment on attachment 173610
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:34
&gt;&gt; + * @param {!Element} element
&gt; 
&gt; We don&apos;t use ! notation

Why not? Without &quot;!&quot; closure can&apos;t check for potential NPEs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766371</commentid>
    <comment_count>7</comment_count>
      <attachid>173610</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-13 20:59:57 -0800</bug_when>
    <thetext>Comment on attachment 173610
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:32
&gt;&gt;   * @extends {WebInspector.Object}
&gt; 
&gt; @constructor should go first (we use alphabetic order)

Actually, this code fragment hasn&apos;t been modified.

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:46
&gt;&gt; +    setEnabled: function(value) {
&gt; 
&gt; { on the next line

Fixed.

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:58
&gt;&gt; + * @constructor
&gt; 
&gt; ditto

Fixed.

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:272
&gt;&gt; + * @extends {WebInspector.StatusBarItem}
&gt; 
&gt; ditto

Fixed.

&gt;&gt; Source/WebCore/inspector/front-end/StatusBarButton.js:301
&gt;&gt; +    setEnabled: function(value)
&gt; 
&gt; Hm. This looks like copy-paste, but I don&apos;t have a good suggestion for you :(

Addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766377</commentid>
    <comment_count>8</comment_count>
      <attachid>174067</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-11-13 21:03:33 -0800</bug_when>
    <thetext>Created attachment 174067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766464</commentid>
    <comment_count>9</comment_count>
      <attachid>174067</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 22:58:08 -0800</bug_when>
    <thetext>Comment on attachment 174067
Patch

Clearing flags on attachment: 174067

Committed r134550: &lt;http://trac.webkit.org/changeset/134550&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766465</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 22:58:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173579</attachid>
            <date>2012-11-12 00:33:11 -0800</date>
            <delta_ts>2012-11-12 03:44:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101907-20121112123113.patch</filename>
            <type>text/plain</type>
            <size>10251</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU5M2YxMGRlMjgzODNj
MzczZGNmMTFkZTFkY2M4ODg1YzYwMGZjYS4uYmIzMTRmN2JhNzg4MTE1OGY4OTBmZjQ0YWZiZjA0
Y2Y5OWQwNDg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTEyICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFeHRyYWN0IGNvbW1vbiBpbnRlcmZhY2UgZm9yIFN0YXR1c0JhckJ1dHRvbiBhbmQg
U3RhdHVzQmFyQ29tYm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMTkwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFN0YXR1cyBiYXIgY29udHJvbCBlbGVtZW50IHNob3VsZCBoYXZlIGNvbW1vbiBpbnRl
cmZhY2UgZm9yCisgICAgICAgIGVhc2llciBtYW5hZ2VtZW50LgorICAgICAgICBJbiB0aGlzIHBh
dGNoIGdldHRlci9zZXR0ZXIgZm9yIFN0YXR1c0JhckJ1dHRvbiAiZGlzYWJsZWQiIGFyZSByZXBs
YWNlZAorICAgICAgICB3aXRoIHJlZ3VsYXIgZnVuY3Rpb25zICJkaXNhYmxlZCIvInNldERpc2Fi
bGVkIjsgYWRkZWQgInNldERpc2FibGVkIgorICAgICAgICB0byBTdGF0dXNCYXJDb21ibzsgYWRk
ZWQgbmV3IGludGVyZmFjZSBTdGF0dXNCYXJJdGVtIHdpdGgKKyAgICAgICAgbWV0aG9kICJzZXRE
aXNhYmxlZCIgYW5kIG1lbWJlciAiZWxlbWVudCIuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBBZG9wdGVkIHJlZmFjdG9yaW5nLgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanM6IERpdHRvLgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOiBEaXR0by4KKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IERpdHRvLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
dGF0dXNCYXJJdGVtKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0
dG9uKTogUmVwbGFjZWQgZ2V0dGVyL3NldHRlciB3aXRoCisgICAgICAgIHJlZ3VsYXIgZnVuY3Rp
b25zLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXR1c0JhckNvbWJvQm94LnByb3RvdHlwZS5z
ZXREaXNhYmxlZCk6IEFkZGVkLgorCiAyMDEyLTExLTExICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTWFueSBET01XaW5kb3dQcm9wZXJ0aWVzIHdvdWxkIGJlbmVm
aXQgZnJvbSBiZWluZyBTY3JpcHRXcmFwcGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzCmluZGV4IGRmOGQwN2QwODcxY2M3
ZmQwMzE1NDBlMDIyNzM0Mzc4N2YxODc1N2UuLmE2Y2E1NTNhYWY1ZjE1ZjM1MTNiNjBmM2IxMzMw
YmM4NjAzMTQzMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ1BVUHJvZmlsZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DUFVQcm9maWxlVmlldy5qcwpAQCAtNzEsMTEgKzcxLDExIEBAIFdlYkluc3BlY3Rvci5D
UFVQcm9maWxlVmlldyA9IGZ1bmN0aW9uKHByb2ZpbGUpCiAgICAgdGhpcy5wZXJjZW50QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fcGVyY2VudENsaWNrZWQsIHRoaXMpOwog
CiAgICAgdGhpcy5mb2N1c0J1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9u
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRm9jdXMgc2VsZWN0ZWQgZnVuY3Rpb24uIiksICJmb2N1
cy1wcm9maWxlLW5vZGUtc3RhdHVzLWJhci1pdGVtIik7Ci0gICAgdGhpcy5mb2N1c0J1dHRvbi5k
aXNhYmxlZCA9IHRydWU7CisgICAgdGhpcy5mb2N1c0J1dHRvbi5zZXREaXNhYmxlZCh0cnVlKTsK
ICAgICB0aGlzLmZvY3VzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZm9j
dXNDbGlja2VkLCB0aGlzKTsKIAogICAgIHRoaXMuZXhjbHVkZUJ1dHRvbiA9IG5ldyBXZWJJbnNw
ZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRXhjbHVkZSBzZWxl
Y3RlZCBmdW5jdGlvbi4iKSwgImV4Y2x1ZGUtcHJvZmlsZS1ub2RlLXN0YXR1cy1iYXItaXRlbSIp
OwotICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7CisgICAgdGhpcy5leGNs
dWRlQnV0dG9uLnNldERpc2FibGVkKHRydWUpOwogICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2V4Y2x1ZGVDbGlja2VkLCB0aGlzKTsKIAogICAg
IHRoaXMucmVzZXRCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlJlc3RvcmUgYWxsIGZ1bmN0aW9ucy4iKSwgInJlc2V0LXByb2Zp
bGUtc3RhdHVzLWJhci1pdGVtIik7CkBAIC00NjUsMTQgKzQ2NSwxNCBAQCBXZWJJbnNwZWN0b3Iu
Q1BVUHJvZmlsZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgX2RhdGFHcmlkTm9kZVNlbGVjdGVk
OiBmdW5jdGlvbihub2RlKQogICAgIHsKLSAgICAgICAgdGhpcy5mb2N1c0J1dHRvbi5kaXNhYmxl
ZCA9IGZhbHNlOwotICAgICAgICB0aGlzLmV4Y2x1ZGVCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTsK
KyAgICAgICAgdGhpcy5mb2N1c0J1dHRvbi5zZXREaXNhYmxlZChmYWxzZSk7CisgICAgICAgIHRo
aXMuZXhjbHVkZUJ1dHRvbi5zZXREaXNhYmxlZChmYWxzZSk7CiAgICAgfSwKIAogICAgIF9kYXRh
R3JpZE5vZGVEZXNlbGVjdGVkOiBmdW5jdGlvbihub2RlKQogICAgIHsKLSAgICAgICAgdGhpcy5m
b2N1c0J1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gICAgICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5k
aXNhYmxlZCA9IHRydWU7CisgICAgICAgIHRoaXMuZm9jdXNCdXR0b24uc2V0RGlzYWJsZWQodHJ1
ZSk7CisgICAgICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5zZXREaXNhYmxlZCh0cnVlKTsKICAgICB9
LAogCiAgICAgX3NvcnRQcm9maWxlOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJvbGxlci5qcwppbmRleCA0YjlkZTVmZDUz
MDhiNzU1MGUzODYxOTY0MzkzNjljYTlmMWQ1YjZjLi5hMDViYTdhNjc5OGQ1YmYxYTRiMzVjNWZh
YTJkOGZjYTlkMzRiZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RvY2tDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanMKQEAgLTEwOSwxMSArMTA5LDExIEBAIFdlYkluc3Bl
Y3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgaWYgKHRoaXMuX2lz
RG9ja2luZ1VuYXZhaWxhYmxlKSB7CiAgICAgICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9u
LnN0YXRlID0gInVuZG9jayI7Ci0gICAgICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmRp
c2FibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uc2V0RGlz
YWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICB0
aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2Rv
Y2tUb2dnbGVCdXR0b24uc2V0RGlzYWJsZWQoZmFsc2UpOwogCiAgICAgICAgIC8vIENob29zZSBk
aWZmZXJlbnQgbGFzdCBzdGF0ZSBiYXNlZCBvbiB0aGUgY3VycmVudCBvbmUgaWYgbWlzc2luZyBv
ciBpZiBpcyB0aGUgc2FtZS4KICAgICAgICAgdmFyIHNpZGVzID0gW1dlYkluc3BlY3Rvci5Eb2Nr
Q29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb0JvdHRvbSwgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9s
bGVyLlN0YXRlLlVuZG9ja2VkLCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9j
a2VkVG9SaWdodF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0c1BhbmVsLmpzCmluZGV4IDM3MTkzODhiYjBmMDdkZjAyNDgxZjhhNWY0NDNiNzIzMzk2
NTI1Y2EuLjc1ZjA4YTcwNGNiYzA3YzRiZTY1MGMxZTg5NWY1OGU3MmY5ZWM1NjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBA
IC0zMTMsNyArMzEzLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9zaG93RGVidWdnZXJTaWRlYmFyKCk7Ci0gICAg
ICAgIHRoaXMuX3RvZ2dsZURlYnVnZ2VyU2lkZWJhckJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Cisg
ICAgICAgIHRoaXMuX3RvZ2dsZURlYnVnZ2VyU2lkZWJhckJ1dHRvbi5zZXREaXNhYmxlZCh0cnVl
KTsKICAgICAgICAgd2luZG93LmZvY3VzKCk7CiAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9z
dC5icmluZ1RvRnJvbnQoKTsKICAgICB9LApAQCAtMzI1LDcgKzMyNSw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9zdGVwcGluZyA9IGZh
bHNlOwogCiAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJmYWNlKCk7Ci0gICAgICAgIHRoaXMuX3Rv
Z2dsZURlYnVnZ2VyU2lkZWJhckJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICB0aGlz
Ll90b2dnbGVEZWJ1Z2dlclNpZGViYXJCdXR0b24uc2V0RGlzYWJsZWQoZmFsc2UpOwogICAgIH0s
CiAKICAgICBfZGVidWdnZXJXYXNFbmFibGVkOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzCmluZGV4IDQx
NGM2YjMwYjUwNmM4ZGMwNmU4YzE0ZDY1YjY1Mjg3ZTAwMmMzY2EuLjgxZDc3NjlmZTlhNjFiYjAx
ZDUyYmY0NjA5YTdhZGUyYjM0NTYzM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzCkBAIC0yOSw2ICsyOSwyMiBAQAog
ICovCiAKIC8qKgorICogQGludGVyZmFjZQorICovCitXZWJJbnNwZWN0b3IuU3RhdHVzQmFySXRl
bSA9IGZ1bmN0aW9uKCkKK3sKKyAgICAvKiogQHR5cGUgIUVsZW1lbnQgKi8KKyAgICB0aGlzLmVs
ZW1lbnQ7Cit9CisKK1dlYkluc3BlY3Rvci5TdGF0dXNCYXJJdGVtLnByb3RvdHlwZSA9IHsKKyAg
ICAvKioKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbHVlCisgICAgICovCisgICAgc2V0RGlz
YWJsZWQ6IGZ1bmN0aW9uKHZhbHVlKSB7IH0KK30KKworLyoqCiAgKiBAZXh0ZW5kcyB7V2ViSW5z
cGVjdG9yLk9iamVjdH0KICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtudW1iZXI9fSBzdGF0
ZXMKQEAgLTU4LDcgKzc0LDcgQEAgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbiA9IGZ1bmN0
aW9uKHRpdGxlLCBjbGFzc05hbWUsIHN0YXRlcykKIAogICAgIHRoaXMudGl0bGUgPSB0aXRsZTsK
ICAgICB0aGlzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKLSAgICB0aGlzLmRpc2FibGVkID0gZmFs
c2U7CisgICAgdGhpcy5fZGlzYWJsZWQgPSBmYWxzZTsKICAgICB0aGlzLl92aXNpYmxlID0gdHJ1
ZTsKIH0KIApAQCAtNzIsMTcgKzg4LDIzIEBAIFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24u
cHJvdG90eXBlID0gewogICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dPcHRpb25z
VGltZXIpOwogICAgIH0sCiAKLSAgICBnZXQgZGlzYWJsZWQoKQorICAgIC8qKgorICAgICAqIEBy
ZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDsKICAgICB9LAogCi0gICAgc2V0IGRpc2Fi
bGVkKHgpCisgICAgLyoqCisgICAgICogQHBhcmFtIHtib29sZWFufSB2YWx1ZQorICAgICAqLwor
ICAgIHNldERpc2FibGVkOiBmdW5jdGlvbih2YWx1ZSkKICAgICB7Ci0gICAgICAgIGlmICh0aGlz
Ll9kaXNhYmxlZCA9PT0geCkKKyAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkID09PSB2YWx1ZSkK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB4OwotICAgICAg
ICB0aGlzLmVsZW1lbnQuZGlzYWJsZWQgPSB4OworICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZh
bHVlOworICAgICAgICB0aGlzLmVsZW1lbnQuZGlzYWJsZWQgPSB2YWx1ZTsKICAgICB9LAogCiAg
ICAgZ2V0IHRpdGxlKCkKQEAgLTI2NCwxMSArMjg2LDEzIEBAIFdlYkluc3BlY3Rvci5TdGF0dXNC
YXJDb21ib0JveCA9IGZ1bmN0aW9uKGNoYW5nZUhhbmRsZXIsIGNsYXNzTmFtZSkKICAgICAgICAg
dGhpcy5fc2VsZWN0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBjaGFuZ2VIYW5k
bGVyLCBmYWxzZSk7CiAgICAgaWYgKGNsYXNzTmFtZSkKICAgICAgICAgdGhpcy5fc2VsZWN0RWxl
bWVudC5hZGRTdHlsZUNsYXNzKGNsYXNzTmFtZSk7CisKKyAgICB0aGlzLl9kaXNhYmxlZCA9IGZh
bHNlOwogfQogCiBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQ29tYm9Cb3gucHJvdG90eXBlID0gewog
ICAgIC8qKgotICAgICAqIEBwYXJhbSB7RWxlbWVudH0gb3B0aW9uCisgICAgICogQHBhcmFtIHsh
RWxlbWVudH0gb3B0aW9uCiAgICAgICovCiAgICAgYWRkT3B0aW9uOiBmdW5jdGlvbihvcHRpb24p
CiAgICAgewpAQCAtMjc2LDcgKzMwMCwxOCBAQCBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQ29tYm9C
b3gucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge0VsZW1l
bnR9IG9wdGlvbgorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gdmFsdWUKKyAgICAgKi8KKyAgICBz
ZXREaXNhYmxlZDogZnVuY3Rpb24odmFsdWUpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZGlz
YWJsZWQgPT09IHZhbHVlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLl9kaXNh
YmxlZCA9IHZhbHVlOworICAgICAgICB0aGlzLl9zZWxlY3RFbGVtZW50LmRpc2FibGVkID0gdmFs
dWU7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7IUVsZW1lbnR9IG9wdGlvbgog
ICAgICAqLwogICAgIHJlbW92ZU9wdGlvbjogZnVuY3Rpb24ob3B0aW9uKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwpp
bmRleCAwYmY0YTMwNmU0MGM1NjEwNTkwZmJmOThiZTk5ZmRjZmJjMzgyYWJkLi4yOTlhMTY2OWZm
OTY5M2Y3ODUyYWQ0YjBmYTgzYjcyZTI2ZjBkOGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC0zMDMsOCArMzAzLDgg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAg
ICAgdGhpcy5fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9ICEhaW5kaWNhdG9yOwogICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRoaXMuX3N0YXR1c0JhckJ1dHRvbnMubGVuZ3RoOyArK2kpCi0gICAg
ICAgICAgICB0aGlzLl9zdGF0dXNCYXJCdXR0b25zW2ldLmRpc2FibGVkID0gdGhpcy5fb3BlcmF0
aW9uSW5Qcm9ncmVzczsKLSAgICAgICAgdGhpcy5fZ2x1ZVBhcmVudEJ1dHRvbi5kaXNhYmxlZCA9
IHRoaXMuX29wZXJhdGlvbkluUHJvZ3Jlc3MgfHwgISF0aGlzLl9mcmFtZUNvbnRyb2xsZXI7Cisg
ICAgICAgICAgICB0aGlzLl9zdGF0dXNCYXJCdXR0b25zW2ldLnNldERpc2FibGVkKHRoaXMuX29w
ZXJhdGlvbkluUHJvZ3Jlc3MpOworICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0dG9uLnNldERp
c2FibGVkKHRoaXMuX29wZXJhdGlvbkluUHJvZ3Jlc3MgfHwgISF0aGlzLl9mcmFtZUNvbnRyb2xs
ZXIpOwogICAgICAgICB0aGlzLl9taXNjU3RhdHVzQmFySXRlbXMucmVtb3ZlQ2hpbGRyZW4oKTsK
ICAgICAgICAgdGhpcy5fbWlzY1N0YXR1c0Jhckl0ZW1zLmFwcGVuZENoaWxkKGluZGljYXRvciA/
IGluZGljYXRvci5lbGVtZW50IDogdGhpcy5fc3RhdHVzQmFyRmlsdGVycyk7CiAgICAgfSwKQEAg
LTUwOCw3ICs1MDgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHRoaXMuX292ZXJ2aWV3TW9kZVNldHRpbmcuc2V0KG1vZGUpOwogICAgICAgICBp
ZiAoZnJhbWVNb2RlICE9PSB0aGlzLl9mcmFtZU1vZGUpIHsKICAgICAgICAgICAgIHRoaXMuX2Zy
YW1lTW9kZSA9IGZyYW1lTW9kZTsKLSAgICAgICAgICAgIHRoaXMuX2dsdWVQYXJlbnRCdXR0b24u
ZGlzYWJsZWQgPSBmcmFtZU1vZGU7CisgICAgICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0dG9u
LnNldERpc2FibGVkKGZyYW1lTW9kZSk7CiAgICAgICAgICAgICB0aGlzLl9wcmVzZW50YXRpb25N
b2RlbC5zZXRHbHVlUmVjb3Jkcyh0aGlzLl9nbHVlUGFyZW50QnV0dG9uLnRvZ2dsZWQgJiYgIWZy
YW1lTW9kZSk7CiAgICAgICAgICAgICB0aGlzLl9yZXBvcHVsYXRlUmVjb3JkcygpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDU4
N2NiNjIzMzRjZjRjNTE4ZDFjZDVmZjM3ZDA3NzIzZGMyODZhNjAuLjZhYzY4MDgzOWJkYWExNWFk
M2M3MTAzODZmNmExOWExYWYyNzk3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC02Niw3ICs2Niw3IEBAIHZhciBXZWJJbnNwZWN0
b3IgPSB7CiAKICAgICBfcGFuZWxTZWxlY3RlZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAg
dGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5kaXNhYmxlZCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0
b3JWaWV3LmN1cnJlbnRQYW5lbCgpLm5hbWUgPT09ICJjb25zb2xlIjsKKyAgICAgICAgdGhpcy5f
dG9nZ2xlQ29uc29sZUJ1dHRvbi5zZXREaXNhYmxlZChXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmll
dy5jdXJyZW50UGFuZWwoKS5uYW1lID09PSAiY29uc29sZSIpOwogICAgIH0sCiAKICAgICBfY3Jl
YXRlR2xvYmFsU3RhdHVzQmFySXRlbXM6IGZ1bmN0aW9uKCkKQEAgLTkyLDcgKzkyLDcgQEAgdmFy
IFdlYkluc3BlY3RvciA9IHsKIAogICAgIF90b2dnbGVDb25zb2xlQnV0dG9uQ2xpY2tlZDogZnVu
Y3Rpb24oKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24uZGlz
YWJsZWQpCisgICAgICAgIGlmICh0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmRpc2FibGVkKCkp
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRv
bi50b2dnbGVkID0gIXRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24udG9nZ2xlZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173610</attachid>
            <date>2012-11-12 03:43:52 -0800</date>
            <delta_ts>2012-11-13 21:03:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101907-20121112154154.patch</filename>
            <type>text/plain</type>
            <size>11428</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU5M2YxMGRlMjgzODNj
MzczZGNmMTFkZTFkY2M4ODg1YzYwMGZjYS4uNDQ5ZjU0MmIxYmRlM2E5MTRkZGViMjNmZGNlYjhj
MjViZGU4MWNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTEyICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFeHRyYWN0IGNvbW1vbiBpbnRlcmZhY2UgZm9yIFN0YXR1c0JhckJ1dHRvbiBhbmQg
U3RhdHVzQmFyQ29tYm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMTkwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFN0YXR1cyBiYXIgY29udHJvbCBlbGVtZW50IHNob3VsZCBoYXZlIGNvbW1vbiBpbnRl
cmZhY2UgZm9yCisgICAgICAgIGVhc2llciBtYW5hZ2VtZW50LgorICAgICAgICBJbiB0aGlzIHBh
dGNoIGdldHRlci9zZXR0ZXIgZm9yIFN0YXR1c0JhckJ1dHRvbiAiZGlzYWJsZWQiIGFyZSByZXBs
YWNlZAorICAgICAgICB3aXRoIHJlZ3VsYXIgZnVuY3Rpb25zICJlbmFibGVkIi8ic2V0RW5hYmxl
ZCI7IGFkZGVkICJzZXRFbmFibGVkIgorICAgICAgICB0byBTdGF0dXNCYXJDb21ibzsgYWRkZWQg
bmV3IGJhc2UgY2xhc3MgU3RhdHVzQmFySXRlbSB3aXRoCisgICAgICAgIG1ldGhvZCAic2V0RW5h
YmxlZCIgYW5kIG1lbWJlciAiZWxlbWVudCIuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBBZG9wdGVkIHJlZmFjdG9yaW5nLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanM6IERpdHRvLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IERpdHRvLgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0
dXNCYXJJdGVtKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9u
KTogUmVwbGFjZWQgZ2V0dGVyL3NldHRlciB3aXRoCisgICAgICAgIHJlZ3VsYXIgZnVuY3Rpb25z
LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXR1c0JhckNvbWJvQm94LnByb3RvdHlwZS5zZXRF
bmFibGVkKTogQWRkZWQuCisKIDIwMTItMTEtMTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBNYW55IERPTVdpbmRvd1Byb3BlcnRpZXMgd291bGQgYmVuZWZpdCBm
cm9tIGJlaW5nIFNjcmlwdFdyYXBwYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMKaW5kZXggZGY4ZDA3ZDA4NzFjYzdmZDAz
MTU0MGUwMjI3MzQzNzg3ZjE4NzU3ZS4uNDJmNzNjZmJkZWE2NDhhMGUyNzdjNDFjZTI0N2ViNjdj
MGYxNzYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
UFVQcm9maWxlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NQVVByb2ZpbGVWaWV3LmpzCkBAIC03MSwxMSArNzEsMTEgQEAgV2ViSW5zcGVjdG9yLkNQVVBy
b2ZpbGVWaWV3ID0gZnVuY3Rpb24ocHJvZmlsZSkKICAgICB0aGlzLnBlcmNlbnRCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9wZXJjZW50Q2xpY2tlZCwgdGhpcyk7CiAKICAg
ICB0aGlzLmZvY3VzQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJGb2N1cyBzZWxlY3RlZCBmdW5jdGlvbi4iKSwgImZvY3VzLXBy
b2ZpbGUtbm9kZS1zdGF0dXMtYmFyLWl0ZW0iKTsKLSAgICB0aGlzLmZvY3VzQnV0dG9uLmRpc2Fi
bGVkID0gdHJ1ZTsKKyAgICB0aGlzLmZvY3VzQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOwogICAg
IHRoaXMuZm9jdXNCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9mb2N1c0Ns
aWNrZWQsIHRoaXMpOwogCiAgICAgdGhpcy5leGNsdWRlQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rv
ci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFeGNsdWRlIHNlbGVjdGVk
IGZ1bmN0aW9uLiIpLCAiZXhjbHVkZS1wcm9maWxlLW5vZGUtc3RhdHVzLWJhci1pdGVtIik7Ci0g
ICAgdGhpcy5leGNsdWRlQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKKyAgICB0aGlzLmV4Y2x1ZGVC
dXR0b24uc2V0RW5hYmxlZChmYWxzZSk7CiAgICAgdGhpcy5leGNsdWRlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZXhjbHVkZUNsaWNrZWQsIHRoaXMpOwogCiAgICAgdGhp
cy5yZXNldEJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiUmVzdG9yZSBhbGwgZnVuY3Rpb25zLiIpLCAicmVzZXQtcHJvZmlsZS1z
dGF0dXMtYmFyLWl0ZW0iKTsKQEAgLTQ2NSwxNCArNDY1LDE0IEBAIFdlYkluc3BlY3Rvci5DUFVQ
cm9maWxlVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfZGF0YUdyaWROb2RlU2VsZWN0ZWQ6IGZ1
bmN0aW9uKG5vZGUpCiAgICAgewotICAgICAgICB0aGlzLmZvY3VzQnV0dG9uLmRpc2FibGVkID0g
ZmFsc2U7Ci0gICAgICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlOworICAg
ICAgICB0aGlzLmZvY3VzQnV0dG9uLnNldEVuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRoaXMuZXhj
bHVkZUJ1dHRvbi5zZXRFbmFibGVkKHRydWUpOwogICAgIH0sCiAKICAgICBfZGF0YUdyaWROb2Rl
RGVzZWxlY3RlZDogZnVuY3Rpb24obm9kZSkKICAgICB7Ci0gICAgICAgIHRoaXMuZm9jdXNCdXR0
b24uZGlzYWJsZWQgPSB0cnVlOwotICAgICAgICB0aGlzLmV4Y2x1ZGVCdXR0b24uZGlzYWJsZWQg
PSB0cnVlOworICAgICAgICB0aGlzLmZvY3VzQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOworICAg
ICAgICB0aGlzLmV4Y2x1ZGVCdXR0b24uc2V0RW5hYmxlZChmYWxzZSk7CiAgICAgfSwKIAogICAg
IF9zb3J0UHJvZmlsZTogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanMKaW5kZXggNGI5ZGU1ZmQ1MzA4Yjc1NTBl
Mzg2MTk2NDM5MzY5Y2E5ZjFkNWI2Yy4uY2NiOGUyZDhmZmE1ODhmZjRmMTNiOGRhODYzYTgzNmVh
ZjkyMGJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
b2NrQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RvY2tDb250cm9sbGVyLmpzCkBAIC0xMDksMTEgKzEwOSwxMSBAQCBXZWJJbnNwZWN0b3IuRG9j
a0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogCiAgICAgICAgIGlmICh0aGlzLl9pc0RvY2tpbmdV
bmF2YWlsYWJsZSkgewogICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5zdGF0ZSA9
ICJ1bmRvY2siOwotICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5kaXNhYmxlZCA9
IHRydWU7CisgICAgICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLnNldEVuYWJsZWQoZmFs
c2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5fZG9j
a1RvZ2dsZUJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICB0aGlzLl9kb2NrVG9nZ2xl
QnV0dG9uLnNldEVuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgLy8gQ2hvb3NlIGRpZmZlcmVudCBs
YXN0IHN0YXRlIGJhc2VkIG9uIHRoZSBjdXJyZW50IG9uZSBpZiBtaXNzaW5nIG9yIGlmIGlzIHRo
ZSBzYW1lLgogICAgICAgICB2YXIgc2lkZXMgPSBbV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVy
LlN0YXRlLkRvY2tlZFRvQm90dG9tLCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUu
VW5kb2NrZWQsIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb1JpZ2h0
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFu
ZWwuanMKaW5kZXggMzcxOTM4OGJiMGYwN2RmMDI0ODFmOGE1ZjQ0M2I3MjMzOTY1MjVjYS4uYzhm
Y2Q5YzliMTMzMGQzYTFhN2MzMWI4NDYyMDA5YTczNzExZTNmNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTMxMyw3ICsz
MTMsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
fQogCiAgICAgICAgIHRoaXMuX3Nob3dEZWJ1Z2dlclNpZGViYXIoKTsKLSAgICAgICAgdGhpcy5f
dG9nZ2xlRGVidWdnZXJTaWRlYmFyQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKKyAgICAgICAgdGhp
cy5fdG9nZ2xlRGVidWdnZXJTaWRlYmFyQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOwogICAgICAg
ICB3aW5kb3cuZm9jdXMoKTsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJyaW5nVG9G
cm9udCgpOwogICAgIH0sCkBAIC0zMjUsNyArMzI1LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3N0ZXBwaW5nID0gZmFsc2U7CiAKICAg
ICAgICAgdGhpcy5fY2xlYXJJbnRlcmZhY2UoKTsKLSAgICAgICAgdGhpcy5fdG9nZ2xlRGVidWdn
ZXJTaWRlYmFyQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7CisgICAgICAgIHRoaXMuX3RvZ2dsZURl
YnVnZ2VyU2lkZWJhckJ1dHRvbi5zZXRFbmFibGVkKHRydWUpOwogICAgIH0sCiAKICAgICBfZGVi
dWdnZXJXYXNFbmFibGVkOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzCmluZGV4IDQxNGM2YjMwYjUwNmM4
ZGMwNmU4YzE0ZDY1YjY1Mjg3ZTAwMmMzY2EuLjcxYzVkZGVlNmM2ZWM2YTRjOTI0ZWQ5YTlkZWRh
NGY4ZjU1MDc3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU3RhdHVzQmFyQnV0dG9uLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzCkBAIC0zMSwxMSArMzEsMzYgQEAKIC8qKgogICogQGV4
dGVuZHMge1dlYkluc3BlY3Rvci5PYmplY3R9CiAgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7
IUVsZW1lbnR9IGVsZW1lbnQKKyAqLworV2ViSW5zcGVjdG9yLlN0YXR1c0Jhckl0ZW0gPSBmdW5j
dGlvbihlbGVtZW50KQoreworICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7CisgICAgdGhpcy5f
ZW5hYmxlZCA9IHRydWU7Cit9CisKK1dlYkluc3BlY3Rvci5TdGF0dXNCYXJJdGVtLnByb3RvdHlw
ZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbHVlCisgICAgICovCisg
ICAgc2V0RW5hYmxlZDogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgICAgaWYgKHRoaXMuX2VuYWJs
ZWQgPT09IHZhbHVlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLl9lbmFibGVk
ID0gdmFsdWU7CisgICAgICAgIHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9ICF2YWx1ZTsKKyAgICB9
LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQorCisv
KioKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU3RhdHVzQmFySXRlbX0KKyAqIEBjb25zdHJ1
Y3RvcgogICogQHBhcmFtIHtudW1iZXI9fSBzdGF0ZXMKICAqLwogV2ViSW5zcGVjdG9yLlN0YXR1
c0JhckJ1dHRvbiA9IGZ1bmN0aW9uKHRpdGxlLCBjbGFzc05hbWUsIHN0YXRlcykKIHsKLSAgICB0
aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAgICBXZWJJ
bnNwZWN0b3IuU3RhdHVzQmFySXRlbS5jYWxsKHRoaXMsIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImJ1dHRvbiIpKTsKICAgICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lICsgIiBz
dGF0dXMtYmFyLWl0ZW0iOwogICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIHRoaXMuX2NsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogCkBAIC01OCw3ICs4Myw2IEBA
IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24gPSBmdW5jdGlvbih0aXRsZSwgY2xhc3NOYW1l
LCBzdGF0ZXMpCiAKICAgICB0aGlzLnRpdGxlID0gdGl0bGU7CiAgICAgdGhpcy5jbGFzc05hbWUg
PSBjbGFzc05hbWU7Ci0gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlOwogICAgIHRoaXMuX3Zpc2li
bGUgPSB0cnVlOwogfQogCkBAIC03MiwxNyArOTYsMTIgQEAgV2ViSW5zcGVjdG9yLlN0YXR1c0Jh
ckJ1dHRvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fc2hv
d09wdGlvbnNUaW1lcik7CiAgICAgfSwKIAotICAgIGdldCBkaXNhYmxlZCgpCi0gICAgewotICAg
ICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7Ci0gICAgfSwKLQotICAgIHNldCBkaXNhYmxlZCh4
KQorICAgIC8qKgorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgZW5hYmxl
ZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkID09PSB4KQot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHg7Ci0gICAgICAg
IHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9IHg7CisgICAgICAgIHJldHVybiB0aGlzLl9lbmFibGVk
OwogICAgIH0sCiAKICAgICBnZXQgdGl0bGUoKQpAQCAtMjQ2LDE3ICsyNjUsMTggQEAgV2ViSW5z
cGVjdG9yLlN0YXR1c0JhckJ1dHRvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAog
Ci0gICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorICAgIF9fcHJv
dG9fXzogV2ViSW5zcGVjdG9yLlN0YXR1c0Jhckl0ZW0ucHJvdG90eXBlCiB9CiAKIC8qKgorICog
QGV4dGVuZHMge1dlYkluc3BlY3Rvci5TdGF0dXNCYXJJdGVtfQogICogQGNvbnN0cnVjdG9yCiAg
KiBAcGFyYW0gez9mdW5jdGlvbihFdmVudCl9IGNoYW5nZUhhbmRsZXIKICAqIEBwYXJhbSB7c3Ry
aW5nPX0gY2xhc3NOYW1lCiAgKi8KIFdlYkluc3BlY3Rvci5TdGF0dXNCYXJDb21ib0JveCA9IGZ1
bmN0aW9uKGNoYW5nZUhhbmRsZXIsIGNsYXNzTmFtZSkKIHsKLSAgICB0aGlzLmVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgV2ViSW5zcGVjdG9yLlN0YXR1c0Jh
ckl0ZW0uY2FsbCh0aGlzLCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpOwogICAgIHRo
aXMuZWxlbWVudC5jbGFzc05hbWUgPSAic3RhdHVzLWJhci1zZWxlY3QtY29udGFpbmVyIjsKIAog
ICAgIHRoaXMuX3NlbGVjdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQuY3JlYXRlQ2hpbGQoInNlbGVj
dCIsICJzdGF0dXMtYmFyLWl0ZW0iKTsKQEAgLTI2OCw3ICsyODgsNyBAQCBXZWJJbnNwZWN0b3Iu
U3RhdHVzQmFyQ29tYm9Cb3ggPSBmdW5jdGlvbihjaGFuZ2VIYW5kbGVyLCBjbGFzc05hbWUpCiAK
IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJDb21ib0JveC5wcm90b3R5cGUgPSB7CiAgICAgLyoqCi0g
ICAgICogQHBhcmFtIHtFbGVtZW50fSBvcHRpb24KKyAgICAgKiBAcGFyYW0geyFFbGVtZW50fSBv
cHRpb24KICAgICAgKi8KICAgICBhZGRPcHRpb246IGZ1bmN0aW9uKG9wdGlvbikKICAgICB7CkBA
IC0yNzYsNyArMjk2LDE4IEBAIFdlYkluc3BlY3Rvci5TdGF0dXNCYXJDb21ib0JveC5wcm90b3R5
cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7RWxlbWVudH0gb3B0aW9u
CisgICAgICogQHBhcmFtIHtib29sZWFufSB2YWx1ZQorICAgICAqLworICAgIHNldEVuYWJsZWQ6
IGZ1bmN0aW9uKHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2VuYWJsZWQgPT09IHZh
bHVlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLl9lbmFibGVkID0gdmFsdWU7
CisgICAgICAgIHRoaXMuX3NlbGVjdEVsZW1lbnQuZGlzYWJsZWQgPSAhdmFsdWU7CisgICAgfSwK
KworICAgIC8qKgorICAgICAqIEBwYXJhbSB7IUVsZW1lbnR9IG9wdGlvbgogICAgICAqLwogICAg
IHJlbW92ZU9wdGlvbjogZnVuY3Rpb24ob3B0aW9uKQogICAgIHsKQEAgLTMwNCw1ICszMzUsNyBA
QCBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQ29tYm9Cb3gucHJvdG90eXBlID0gewogICAgIHNlbGVj
dDogZnVuY3Rpb24ob3B0aW9uKQogICAgIHsKICAgICAgICAgdGhpcy5fc2VsZWN0RWxlbWVudC5z
ZWxlY3RlZEluZGV4ID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0aGlzLl9zZWxlY3RF
bGVtZW50LCBvcHRpb24pOwotICAgIH0KKyAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuU3RhdHVzQmFySXRlbS5wcm90b3R5cGUKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCAwYmY0YTMwNmU0MGM1
NjEwNTkwZmJmOThiZTk5ZmRjZmJjMzgyYWJkLi40N2ZkYjM5Y2NmYTk5OTE4NDY1MDRjMzAyZmRk
M2RkZmRkZGJmMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC0zMDMsOCArMzAzLDggQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fb3BlcmF0aW9u
SW5Qcm9ncmVzcyA9ICEhaW5kaWNhdG9yOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRo
aXMuX3N0YXR1c0JhckJ1dHRvbnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICB0aGlzLl9zdGF0
dXNCYXJCdXR0b25zW2ldLmRpc2FibGVkID0gdGhpcy5fb3BlcmF0aW9uSW5Qcm9ncmVzczsKLSAg
ICAgICAgdGhpcy5fZ2x1ZVBhcmVudEJ1dHRvbi5kaXNhYmxlZCA9IHRoaXMuX29wZXJhdGlvbklu
UHJvZ3Jlc3MgfHwgISF0aGlzLl9mcmFtZUNvbnRyb2xsZXI7CisgICAgICAgICAgICB0aGlzLl9z
dGF0dXNCYXJCdXR0b25zW2ldLnNldEVuYWJsZWQoIXRoaXMuX29wZXJhdGlvbkluUHJvZ3Jlc3Mp
OworICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0dG9uLnNldEVuYWJsZWQoIXRoaXMuX29wZXJh
dGlvbkluUHJvZ3Jlc3MgJiYgIXRoaXMuX2ZyYW1lQ29udHJvbGxlcik7CiAgICAgICAgIHRoaXMu
X21pc2NTdGF0dXNCYXJJdGVtcy5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICB0aGlzLl9taXNj
U3RhdHVzQmFySXRlbXMuYXBwZW5kQ2hpbGQoaW5kaWNhdG9yID8gaW5kaWNhdG9yLmVsZW1lbnQg
OiB0aGlzLl9zdGF0dXNCYXJGaWx0ZXJzKTsKICAgICB9LApAQCAtNTA4LDcgKzUwOCw3IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fb3Zl
cnZpZXdNb2RlU2V0dGluZy5zZXQobW9kZSk7CiAgICAgICAgIGlmIChmcmFtZU1vZGUgIT09IHRo
aXMuX2ZyYW1lTW9kZSkgewogICAgICAgICAgICAgdGhpcy5fZnJhbWVNb2RlID0gZnJhbWVNb2Rl
OwotICAgICAgICAgICAgdGhpcy5fZ2x1ZVBhcmVudEJ1dHRvbi5kaXNhYmxlZCA9IGZyYW1lTW9k
ZTsKKyAgICAgICAgICAgIHRoaXMuX2dsdWVQYXJlbnRCdXR0b24uc2V0RW5hYmxlZCghZnJhbWVN
b2RlKTsKICAgICAgICAgICAgIHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNldEdsdWVSZWNvcmRz
KHRoaXMuX2dsdWVQYXJlbnRCdXR0b24udG9nZ2xlZCAmJiAhZnJhbWVNb2RlKTsKICAgICAgICAg
ICAgIHRoaXMuX3JlcG9wdWxhdGVSZWNvcmRzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggNTg3Y2I2MjMzNGNmNGM1MThkMWNk
NWZmMzdkMDc3MjNkYzI4NmE2MC4uODgzODczYTA3YTIxNjI5NmU5N2E3NzA1NmFkN2RjOWIyYTIw
YTJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMKQEAgLTY2LDcgKzY2LDcgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKIAogICAgIF9wYW5l
bFNlbGVjdGVkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xl
QnV0dG9uLmRpc2FibGVkID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVs
KCkubmFtZSA9PT0gImNvbnNvbGUiOworICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9u
LnNldEVuYWJsZWQoV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkubmFt
ZSAhPT0gImNvbnNvbGUiKTsKICAgICB9LAogCiAgICAgX2NyZWF0ZUdsb2JhbFN0YXR1c0Jhckl0
ZW1zOiBmdW5jdGlvbigpCkBAIC05Miw3ICs5Miw3IEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAK
ICAgICBfdG9nZ2xlQ29uc29sZUJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAg
ICAgIGlmICh0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmRpc2FibGVkKQorICAgICAgICBpZiAo
IXRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24uZW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJu
OwogCiAgICAgICAgIHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24udG9nZ2xlZCA9ICF0aGlzLl90
b2dnbGVDb25zb2xlQnV0dG9uLnRvZ2dsZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174067</attachid>
            <date>2012-11-13 21:03:33 -0800</date>
            <delta_ts>2012-11-13 22:58:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101907-20121114090132.patch</filename>
            <type>text/plain</type>
            <size>11470</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNkODRjMzRkNjllNDE3
NWI1NGZlMmMyZGY2YTRlN2QyOTVlZGMxYi4uZTRmYzgyOTVjNWVmZDUyOTdhMWI2NDEwMjc3ZGFi
ZTg1NDAyNzAxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTE0ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFeHRyYWN0IGNvbW1vbiBpbnRlcmZhY2UgZm9yIFN0YXR1c0JhckJ1dHRvbiBhbmQg
U3RhdHVzQmFyQ29tYm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMTkwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFN0YXR1cyBiYXIgY29udHJvbCBlbGVtZW50IHNob3VsZCBoYXZlIGNvbW1vbiBpbnRl
cmZhY2UgZm9yCisgICAgICAgIGVhc2llciBtYW5hZ2VtZW50LgorICAgICAgICBJbiB0aGlzIHBh
dGNoIGdldHRlci9zZXR0ZXIgZm9yIFN0YXR1c0JhckJ1dHRvbiAiZGlzYWJsZWQiIGFyZSByZXBs
YWNlZAorICAgICAgICB3aXRoIHJlZ3VsYXIgZnVuY3Rpb25zICJlbmFibGVkIi8ic2V0RW5hYmxl
ZCI7IGFkZGVkICJzZXRFbmFibGVkIgorICAgICAgICB0byBTdGF0dXNCYXJDb21ibzsgYWRkZWQg
bmV3IGJhc2UgY2xhc3MgU3RhdHVzQmFySXRlbSB3aXRoCisgICAgICAgIG1ldGhvZCAic2V0RW5h
YmxlZCIgYW5kIG1lbWJlciAiZWxlbWVudCIuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBBZG9wdGVkIHJlZmFjdG9yaW5nLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanM6IERpdHRvLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IERpdHRvLgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0
dXNCYXJJdGVtKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9u
KTogUmVwbGFjZWQgZ2V0dGVyL3NldHRlciB3aXRoCisgICAgICAgIHJlZ3VsYXIgZnVuY3Rpb25z
LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXR1c0JhckNvbWJvQm94LnByb3RvdHlwZS5zZXRF
bmFibGVkKTogQWRkZWQuCisKIDIwMTItMTEtMTMgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFJ1biBtdWx0aXBsZSB0YXNrcyBwZXIgdHJh
bnNhY3Rpb24gdGljawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DUFVQcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ1BVUHJvZmlsZVZpZXcuanMKaW5kZXggZGY4ZDA3ZDA4NzFjYzdmZDAzMTU0MGUwMjI3MzQz
Nzg3ZjE4NzU3ZS4uNDJmNzNjZmJkZWE2NDhhMGUyNzdjNDFjZTI0N2ViNjdjMGYxNzYyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmll
dy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVW
aWV3LmpzCkBAIC03MSwxMSArNzEsMTEgQEAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3ID0g
ZnVuY3Rpb24ocHJvZmlsZSkKICAgICB0aGlzLnBlcmNlbnRCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCB0aGlzLl9wZXJjZW50Q2xpY2tlZCwgdGhpcyk7CiAKICAgICB0aGlzLmZvY3Vz
QnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJGb2N1cyBzZWxlY3RlZCBmdW5jdGlvbi4iKSwgImZvY3VzLXByb2ZpbGUtbm9kZS1z
dGF0dXMtYmFyLWl0ZW0iKTsKLSAgICB0aGlzLmZvY3VzQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsK
KyAgICB0aGlzLmZvY3VzQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOwogICAgIHRoaXMuZm9jdXNC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9mb2N1c0NsaWNrZWQsIHRoaXMp
OwogCiAgICAgdGhpcy5leGNsdWRlQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJC
dXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFeGNsdWRlIHNlbGVjdGVkIGZ1bmN0aW9uLiIp
LCAiZXhjbHVkZS1wcm9maWxlLW5vZGUtc3RhdHVzLWJhci1pdGVtIik7Ci0gICAgdGhpcy5leGNs
dWRlQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKKyAgICB0aGlzLmV4Y2x1ZGVCdXR0b24uc2V0RW5h
YmxlZChmYWxzZSk7CiAgICAgdGhpcy5leGNsdWRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgdGhpcy5fZXhjbHVkZUNsaWNrZWQsIHRoaXMpOwogCiAgICAgdGhpcy5yZXNldEJ1dHRv
biA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiUmVzdG9yZSBhbGwgZnVuY3Rpb25zLiIpLCAicmVzZXQtcHJvZmlsZS1zdGF0dXMtYmFyLWl0
ZW0iKTsKQEAgLTQ2NSwxNCArNDY1LDE0IEBAIFdlYkluc3BlY3Rvci5DUFVQcm9maWxlVmlldy5w
cm90b3R5cGUgPSB7CiAKICAgICBfZGF0YUdyaWROb2RlU2VsZWN0ZWQ6IGZ1bmN0aW9uKG5vZGUp
CiAgICAgewotICAgICAgICB0aGlzLmZvY3VzQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7Ci0gICAg
ICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICB0aGlzLmZv
Y3VzQnV0dG9uLnNldEVuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRoaXMuZXhjbHVkZUJ1dHRvbi5z
ZXRFbmFibGVkKHRydWUpOwogICAgIH0sCiAKICAgICBfZGF0YUdyaWROb2RlRGVzZWxlY3RlZDog
ZnVuY3Rpb24obm9kZSkKICAgICB7Ci0gICAgICAgIHRoaXMuZm9jdXNCdXR0b24uZGlzYWJsZWQg
PSB0cnVlOwotICAgICAgICB0aGlzLmV4Y2x1ZGVCdXR0b24uZGlzYWJsZWQgPSB0cnVlOworICAg
ICAgICB0aGlzLmZvY3VzQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOworICAgICAgICB0aGlzLmV4
Y2x1ZGVCdXR0b24uc2V0RW5hYmxlZChmYWxzZSk7CiAgICAgfSwKIAogICAgIF9zb3J0UHJvZmls
ZTogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Eb2NrQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRG9ja0NvbnRyb2xsZXIuanMKaW5kZXggNGI5ZGU1ZmQ1MzA4Yjc1NTBlMzg2MTk2NDM5MzY5
Y2E5ZjFkNWI2Yy4uY2NiOGUyZDhmZmE1ODhmZjRmMTNiOGRhODYzYTgzNmVhZjkyMGJlOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJvbGxl
ci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250cm9s
bGVyLmpzCkBAIC0xMDksMTEgKzEwOSwxMSBAQCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIu
cHJvdG90eXBlID0gewogCiAgICAgICAgIGlmICh0aGlzLl9pc0RvY2tpbmdVbmF2YWlsYWJsZSkg
ewogICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5zdGF0ZSA9ICJ1bmRvY2siOwot
ICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7CisgICAg
ICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRv
bi5kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLnNldEVu
YWJsZWQodHJ1ZSk7CiAKICAgICAgICAgLy8gQ2hvb3NlIGRpZmZlcmVudCBsYXN0IHN0YXRlIGJh
c2VkIG9uIHRoZSBjdXJyZW50IG9uZSBpZiBtaXNzaW5nIG9yIGlmIGlzIHRoZSBzYW1lLgogICAg
ICAgICB2YXIgc2lkZXMgPSBbV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tl
ZFRvQm90dG9tLCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuVW5kb2NrZWQsIFdl
Ykluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb1JpZ2h0XTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXgg
ODNiN2Q5NDUxNWI2ZWE0ZGE0YWY1N2VlNzdmNzM2NTgxZTAxYjIxYy4uNzI1OGI0MTVhNzgzOWYw
YmI5MDdmZWI5NTkyMGJmM2Q0YWRjMjVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTMwNSw3ICszMDUsNyBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAgICAg
IHRoaXMuX3Nob3dEZWJ1Z2dlclNpZGViYXIoKTsKLSAgICAgICAgdGhpcy5fdG9nZ2xlRGVidWdn
ZXJTaWRlYmFyQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fdG9nZ2xlRGVi
dWdnZXJTaWRlYmFyQnV0dG9uLnNldEVuYWJsZWQoZmFsc2UpOwogICAgICAgICB3aW5kb3cuZm9j
dXMoKTsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJyaW5nVG9Gcm9udCgpOwogICAg
IH0sCkBAIC0zMTcsNyArMzE3LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX3N0ZXBwaW5nID0gZmFsc2U7CiAKICAgICAgICAgdGhpcy5f
Y2xlYXJJbnRlcmZhY2UoKTsKLSAgICAgICAgdGhpcy5fdG9nZ2xlRGVidWdnZXJTaWRlYmFyQnV0
dG9uLmRpc2FibGVkID0gZmFsc2U7CisgICAgICAgIHRoaXMuX3RvZ2dsZURlYnVnZ2VyU2lkZWJh
ckJ1dHRvbi5zZXRFbmFibGVkKHRydWUpOwogICAgIH0sCiAKICAgICBfZGVidWdnZXJXYXNFbmFi
bGVkOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzCmluZGV4IDQxNGM2YjMwYjUwNmM4ZGMwNmU4YzE0ZDY1
YjY1Mjg3ZTAwMmMzY2EuLmI1MTNhNmRkMWJhMDY4MzhhZjg1MDQ1ZGRiZjI0MGMxMmUzZTgwZTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3RhdHVzQmFy
QnV0dG9uLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3RhdHVz
QmFyQnV0dG9uLmpzCkBAIC0yOSwxMyArMjksNDcgQEAKICAqLwogCiAvKioKKyAqIEBjb25zdHJ1
Y3RvcgogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5PYmplY3R9CisgKiBAcGFyYW0geyFFbGVt
ZW50fSBlbGVtZW50CisgKi8KK1dlYkluc3BlY3Rvci5TdGF0dXNCYXJJdGVtID0gZnVuY3Rpb24o
ZWxlbWVudCkKK3sKKyAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50OworICAgIHRoaXMuX2VuYWJs
ZWQgPSB0cnVlOworfQorCitXZWJJbnNwZWN0b3IuU3RhdHVzQmFySXRlbS5wcm90b3R5cGUgPSB7
CisgICAgLyoqCisgICAgICogQHBhcmFtIHtib29sZWFufSB2YWx1ZQorICAgICAqLworICAgIHNl
dEVuYWJsZWQ6IGZ1bmN0aW9uKHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2VuYWJs
ZWQgPT09IHZhbHVlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLl9lbmFibGVk
ID0gdmFsdWU7CisgICAgICAgIHRoaXMuX2FwcGx5RW5hYmxlZFN0YXRlKCk7CisgICAgfSwKKwor
ICAgIC8qKgorICAgICAqIEBwcm90ZWN0ZWQKKyAgICAgKi8KKyAgICBfYXBwbHlFbmFibGVkU3Rh
dGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9ICF0
aGlzLl9lbmFibGVkOworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmpl
Y3QucHJvdG90eXBlCit9CisKKy8qKgogICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2Vi
SW5zcGVjdG9yLlN0YXR1c0Jhckl0ZW19CiAgKiBAcGFyYW0ge251bWJlcj19IHN0YXRlcwogICov
CiBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uID0gZnVuY3Rpb24odGl0bGUsIGNsYXNzTmFt
ZSwgc3RhdGVzKQogewotICAgIHRoaXMuZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImJ1dHRvbiIpOworICAgIFdlYkluc3BlY3Rvci5TdGF0dXNCYXJJdGVtLmNhbGwodGhpcywgZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIikpOwogICAgIHRoaXMuZWxlbWVudC5jbGFzc05h
bWUgPSBjbGFzc05hbWUgKyAiIHN0YXR1cy1iYXItaXRlbSI7CiAgICAgdGhpcy5lbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fY2xpY2tlZC5iaW5kKHRoaXMpLCBmYWxzZSk7
CiAKQEAgLTU4LDcgKzkyLDYgQEAgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbiA9IGZ1bmN0
aW9uKHRpdGxlLCBjbGFzc05hbWUsIHN0YXRlcykKIAogICAgIHRoaXMudGl0bGUgPSB0aXRsZTsK
ICAgICB0aGlzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKLSAgICB0aGlzLmRpc2FibGVkID0gZmFs
c2U7CiAgICAgdGhpcy5fdmlzaWJsZSA9IHRydWU7CiB9CiAKQEAgLTcyLDE3ICsxMDUsMTIgQEAg
V2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBj
bGVhclRpbWVvdXQodGhpcy5fc2hvd09wdGlvbnNUaW1lcik7CiAgICAgfSwKIAotICAgIGdldCBk
aXNhYmxlZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7Ci0gICAgfSwK
LQotICAgIHNldCBkaXNhYmxlZCh4KQorICAgIC8qKgorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59
CisgICAgICovCisgICAgZW5hYmxlZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgaWYgKHRo
aXMuX2Rpc2FibGVkID09PSB4KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9k
aXNhYmxlZCA9IHg7Ci0gICAgICAgIHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9IHg7CisgICAgICAg
IHJldHVybiB0aGlzLl9lbmFibGVkOwogICAgIH0sCiAKICAgICBnZXQgdGl0bGUoKQpAQCAtMjQ2
LDE3ICsyNzQsMTggQEAgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbi5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KICAgICB9LAogCi0gICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0
LnByb3RvdHlwZQorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlN0YXR1c0Jhckl0ZW0ucHJv
dG90eXBlCiB9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVj
dG9yLlN0YXR1c0Jhckl0ZW19CiAgKiBAcGFyYW0gez9mdW5jdGlvbihFdmVudCl9IGNoYW5nZUhh
bmRsZXIKICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xhc3NOYW1lCiAgKi8KIFdlYkluc3BlY3Rvci5T
dGF0dXNCYXJDb21ib0JveCA9IGZ1bmN0aW9uKGNoYW5nZUhhbmRsZXIsIGNsYXNzTmFtZSkKIHsK
LSAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAg
V2ViSW5zcGVjdG9yLlN0YXR1c0Jhckl0ZW0uY2FsbCh0aGlzLCBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIikpOwogICAgIHRoaXMuZWxlbWVudC5jbGFzc05hbWUgPSAic3RhdHVzLWJhci1z
ZWxlY3QtY29udGFpbmVyIjsKIAogICAgIHRoaXMuX3NlbGVjdEVsZW1lbnQgPSB0aGlzLmVsZW1l
bnQuY3JlYXRlQ2hpbGQoInNlbGVjdCIsICJzdGF0dXMtYmFyLWl0ZW0iKTsKQEAgLTI2OCw3ICsy
OTcsNyBAQCBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQ29tYm9Cb3ggPSBmdW5jdGlvbihjaGFuZ2VI
YW5kbGVyLCBjbGFzc05hbWUpCiAKIFdlYkluc3BlY3Rvci5TdGF0dXNCYXJDb21ib0JveC5wcm90
b3R5cGUgPSB7CiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtFbGVtZW50fSBvcHRpb24KKyAgICAg
KiBAcGFyYW0geyFFbGVtZW50fSBvcHRpb24KICAgICAgKi8KICAgICBhZGRPcHRpb246IGZ1bmN0
aW9uKG9wdGlvbikKICAgICB7CkBAIC0yNzYsNyArMzA1LDE1IEBAIFdlYkluc3BlY3Rvci5TdGF0
dXNCYXJDb21ib0JveC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBw
YXJhbSB7RWxlbWVudH0gb3B0aW9uCisgICAgICogQG92ZXJyaWRlCisgICAgICovCisgICAgX2Fw
cGx5RW5hYmxlZFN0YXRlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9zZWxlY3RF
bGVtZW50LmRpc2FibGVkID0gIXRoaXMuX2VuYWJsZWQ7CisgICAgfSwKKworICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7IUVsZW1lbnR9IG9wdGlvbgogICAgICAqLwogICAgIHJlbW92ZU9wdGlvbjog
ZnVuY3Rpb24ob3B0aW9uKQogICAgIHsKQEAgLTMwNCw1ICszNDEsNyBAQCBXZWJJbnNwZWN0b3Iu
U3RhdHVzQmFyQ29tYm9Cb3gucHJvdG90eXBlID0gewogICAgIHNlbGVjdDogZnVuY3Rpb24ob3B0
aW9uKQogICAgIHsKICAgICAgICAgdGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4ID0g
QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0aGlzLl9zZWxlY3RFbGVtZW50LCBvcHRpb24p
OwotICAgIH0KKyAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU3RhdHVzQmFy
SXRlbS5wcm90b3R5cGUKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCBkZDdmYjY4ZmUwMGZjMTI2NjMxYTgwMWVlOWNi
Njk1ZGExZDBmOWE5Li42MTAwMTdjMWQ0ZjdiYWEyMzA4MTMyZTQ1ZTc1Njg3ZWQ5YmFkNWYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBh
bmVsLmpzCkBAIC0zMDMsOCArMzAzLDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJv
dG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9ICEh
aW5kaWNhdG9yOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3N0YXR1c0JhckJ1
dHRvbnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICB0aGlzLl9zdGF0dXNCYXJCdXR0b25zW2ld
LmRpc2FibGVkID0gdGhpcy5fb3BlcmF0aW9uSW5Qcm9ncmVzczsKLSAgICAgICAgdGhpcy5fZ2x1
ZVBhcmVudEJ1dHRvbi5kaXNhYmxlZCA9IHRoaXMuX29wZXJhdGlvbkluUHJvZ3Jlc3MgfHwgISF0
aGlzLl9mcmFtZUNvbnRyb2xsZXI7CisgICAgICAgICAgICB0aGlzLl9zdGF0dXNCYXJCdXR0b25z
W2ldLnNldEVuYWJsZWQoIXRoaXMuX29wZXJhdGlvbkluUHJvZ3Jlc3MpOworICAgICAgICB0aGlz
Ll9nbHVlUGFyZW50QnV0dG9uLnNldEVuYWJsZWQoIXRoaXMuX29wZXJhdGlvbkluUHJvZ3Jlc3Mg
JiYgIXRoaXMuX2ZyYW1lQ29udHJvbGxlcik7CiAgICAgICAgIHRoaXMuX21pc2NTdGF0dXNCYXJJ
dGVtcy5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICB0aGlzLl9taXNjU3RhdHVzQmFySXRlbXMu
YXBwZW5kQ2hpbGQoaW5kaWNhdG9yID8gaW5kaWNhdG9yLmVsZW1lbnQgOiB0aGlzLl9zdGF0dXNC
YXJGaWx0ZXJzKTsKICAgICB9LApAQCAtNDk4LDcgKzQ5OCw3IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGlu
Zy5zZXQobW9kZSk7CiAgICAgICAgIGlmIChmcmFtZU1vZGUgIT09IHRoaXMuX2ZyYW1lTW9kZSkg
ewogICAgICAgICAgICAgdGhpcy5fZnJhbWVNb2RlID0gZnJhbWVNb2RlOwotICAgICAgICAgICAg
dGhpcy5fZ2x1ZVBhcmVudEJ1dHRvbi5kaXNhYmxlZCA9IGZyYW1lTW9kZTsKKyAgICAgICAgICAg
IHRoaXMuX2dsdWVQYXJlbnRCdXR0b24uc2V0RW5hYmxlZCghZnJhbWVNb2RlKTsKICAgICAgICAg
ICAgIHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNldEdsdWVSZWNvcmRzKHRoaXMuX2dsdWVQYXJl
bnRCdXR0b24udG9nZ2xlZCAmJiAhZnJhbWVNb2RlKTsKICAgICAgICAgICAgIHRoaXMuX3JlcG9w
dWxhdGVSZWNvcmRzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuanMKaW5kZXggNDE1YzNkYTg3ZjQ3YjRhM2E5ZWUyZTIwNWUwMTY1OTRkOWJk
MTU4Yi4uYWM3Y2UxZjQwYzRlZWM4NmVlYzU1NjhmYjU2Mzk4Njk5OTg1MzIxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTY1LDcg
KzY1LDcgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKIAogICAgIF9wYW5lbFNlbGVjdGVkOiBmdW5j
dGlvbigpCiAgICAgewotICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmRpc2FibGVk
ID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkubmFtZSA9PT0gImNv
bnNvbGUiOworICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLnNldEVuYWJsZWQoV2Vi
SW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkubmFtZSAhPT0gImNvbnNvbGUi
KTsKICAgICB9LAogCiAgICAgX2NyZWF0ZUdsb2JhbFN0YXR1c0Jhckl0ZW1zOiBmdW5jdGlvbigp
CkBAIC05MSw3ICs5MSw3IEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAKICAgICBfdG9nZ2xlQ29u
c29sZUJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl90
b2dnbGVDb25zb2xlQnV0dG9uLmRpc2FibGVkKQorICAgICAgICBpZiAoIXRoaXMuX3RvZ2dsZUNv
bnNvbGVCdXR0b24uZW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRo
aXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24udG9nZ2xlZCA9ICF0aGlzLl90b2dnbGVDb25zb2xlQnV0
dG9uLnRvZ2dsZWQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>