<?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>66068</bug_id>
          
          <creation_ts>2011-08-11 09:41:19 -0700</creation_ts>
          <short_desc>Web Inspector: console loses focus upon reloading the page from the inspector.</short_desc>
          <delta_ts>2011-08-12 05:56:46 -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 (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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>449833</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-11 09:41:19 -0700</bug_when>
    <thetext>Open Scripts tab
Open console
Type something
Press Ctrl+R (Cmd+R) to reload the page

Console no longer has focus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449869</commentid>
    <comment_count>1</comment_count>
      <attachid>103643</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-11 10:27:08 -0700</bug_when>
    <thetext>Created attachment 103643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450312</commentid>
    <comment_count>2</comment_count>
      <attachid>103643</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-11 23:44:22 -0700</bug_when>
    <thetext>Comment on attachment 103643
Patch

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

&gt; Source/WebCore/inspector/front-end/ElementsPanel.js:224
&gt; +            WebInspector.console.focusIfVisible();

It is somewhat controversial: this way user will need to return focus back to the DOM tree in order to use keyboard to navigate/edit DOM tree. Is there a user requests for  this feature?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450316</commentid>
    <comment_count>3</comment_count>
      <attachid>103643</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-11 23:47:12 -0700</bug_when>
    <thetext>Comment on attachment 103643
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:302
&gt; +        if (this.toggleConsoleButton.toggled)

Can we have ConsoleView listening to the navigation event and restore focus on it only if it was in the console before the navigation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450326</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-12 00:00:31 -0700</bug_when>
    <thetext>&gt; Can we have ConsoleView listening to the navigation event and restore focus on it only if it was in the console before the navigation?

This is my big request since I tried to use console and reloaded a page several times yesterday. I suggest that you try following the steps in the bug.

Ideally, we should not manually manage focus at all. Today, upon page load (no matter whether user reloaded it from inspector or the page did it), we restore various selections in the tree outlines. These selections steal focus from the console should it be there. So I decided to restore it to console in case it was opened. (Opened console is a somewhat strong indication that it has user&apos;s focus). I can see the downside of it, but it is easily worked around via closing the console.

Alternatively, I could make TreeElement&apos;s select not request focus. But in that case, with console closed, reloading the page on elements panel would remote focus from the tree. Remembering the focus owner view and restoring it after its re-population sounds like the right, but fairly long way to go. I can try doing that, but if I fail, I&apos;m suggesting that we land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450336</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-12 00:26:12 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; Can we have ConsoleView listening to the navigation event and restore focus on it only if it was in the console before the navigation?
&gt; 
&gt; This is my big request since I tried to use console and reloaded a page several times yesterday. I suggest that you try following the steps in the bug.
&gt; 
&gt; Ideally, we should not manually manage focus at all. Today, upon page load (no matter whether user reloaded it from inspector or the page did it), we restore various selections in the tree outlines. These selections steal focus from the console should it be there. So I decided to restore it to console in case it was opened. (Opened console is a somewhat strong indication that it has user&apos;s focus). I can see the downside of it, but it is easily worked around via closing the console.
&gt; 
&gt; Alternatively, I could make TreeElement&apos;s select not request focus. But in that case, with console closed, reloading the page on elements panel would remote focus from the tree. Remembering the focus owner view and restoring it after its re-population sounds like the right, but fairly long way to go. I can try doing that, but if I fail, I&apos;m suggesting that we land this.

I think we can file a bug on preserving focused view and fix it in another change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450387</commentid>
    <comment_count>6</comment_count>
      <attachid>103760</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-12 04:39:38 -0700</bug_when>
    <thetext>Created attachment 103760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450391</commentid>
    <comment_count>7</comment_count>
      <attachid>103760</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-12 04:49:57 -0700</bug_when>
    <thetext>Comment on attachment 103760
Patch

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

Please make sure all usages and implementations of revealAndSelect has consistent signatures.

&gt; Source/WebCore/inspector/front-end/ElementsPanel.js:183
&gt; +        this.selectDOMNode(null);

this.selectDOMNode(null, false); ?

&gt; Source/WebCore/inspector/front-end/ElementsTreeOutline.js:80
&gt; +    selectedDOMNode: function()

Why is it not a getter?

&gt; Source/WebCore/inspector/front-end/ProfilesPanel.js:393
&gt; +        profile._profilesTreeElement.revealAndSelect(false);

Remove the false parameter?

&gt; Source/WebCore/inspector/front-end/treeoutline.js:439
&gt; +TreeOutline.prototype.revealAndSelect = function()

Add omitFocus parameter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450395</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-12 05:04:36 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 103760 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103760&amp;action=review
&gt; 
&gt; Please make sure all usages and implementations of revealAndSelect has consistent signatures.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ElementsPanel.js:183
&gt; &gt; +        this.selectDOMNode(null);
&gt; 
&gt; this.selectDOMNode(null, false); ?
&gt; 

Done.

&gt; &gt; Source/WebCore/inspector/front-end/ElementsTreeOutline.js:80
&gt; &gt; +    selectedDOMNode: function()
&gt; 
&gt; Why is it not a getter?
&gt; 

It used to be setSelectedDOMNode and I want to maintain their consistency.

&gt; &gt; Source/WebCore/inspector/front-end/ProfilesPanel.js:393
&gt; &gt; +        profile._profilesTreeElement.revealAndSelect(false);
&gt; 
&gt; Remove the false parameter?
&gt; 

Done.

&gt; &gt; Source/WebCore/inspector/front-end/treeoutline.js:439
&gt; &gt; +TreeOutline.prototype.revealAndSelect = function()
&gt; 
&gt; Add omitFocus parameter?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450403</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-12 05:56:46 -0700</bug_when>
    <thetext>Committed r92956: &lt;http://trac.webkit.org/changeset/92956&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103643</attachid>
            <date>2011-08-11 10:27:08 -0700</date>
            <delta_ts>2011-08-12 04:39:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66068-20110811212706.patch</filename>
            <type>text/plain</type>
            <size>5074</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4MzkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MTkwODRjMDJlYTRkYjNj
NzE0MGU1YjEyN2ZhYjI4OGZiY2ZhZjYzLi45OTYzMWFiOGZhMDliYTVkZDg0MmM2NGUyNmQwYTIw
MmQ0NWU0YzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMTEgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGNvbnNvbGUgbG9zZXMgZm9jdXMgdXBvbiByZWxvYWRpbmcgdGhlIHBhZ2UgZnJvbSB0aGUgaW5z
cGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjYwNjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLmZvY3VzSWZWaXNpYmxlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC5wcm90b3R5cGUuX3NldERvY3VtZW50LnNlbGVjdE5vZGUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UGFuZWwucHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jl
c291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnBy
b3RvdHlwZS5faW5pdERlZmF1bHRTZWxlY3Rpb24uZ2V0IGlmKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX2luaXREZWZhdWx0U2VsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUucmVzZXQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorCiAyMDExLTA4LTExICBQ
YXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHVzZSBzb3VyY2UtZmlsZS1yZXBsYWNlZCBpbnN0ZWFkIG9mIHNvdXJjZS1maWxl
LWNoYW5nZWQgZXZlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlVmlldy5qcwppbmRleCA5NzQ3NzU4ODcyYjY2YjYzZTAwMGZkZWQwYjgyMDA4MDEz
MTNmOTRlLi5iZDc1ODVmYjUyMDQ1YzkwOWVjOGE0MjQ0NzNmNTAxZmZjMmM2MDYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAg
LTI5Nyw2ICsyOTcsMTIgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy50b2dnbGVDb25zb2xlQnV0dG9uLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJTaG93IGNvbnNvbGUuIik7CiAgICAgfSwKIAorICAgIGZvY3VzSWZWaXNpYmxlOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy50b2dnbGVDb25zb2xlQnV0dG9uLnRv
Z2dsZWQpCisgICAgICAgICAgICB0aGlzLnByb21wdEVsZW1lbnQuZm9jdXMoKTsKKyAgICB9LAor
CiAgICAgX3NjaGVkdWxlU2Nyb2xsSW50b1ZpZXc6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IGlmICh0aGlzLl9zY3JvbGxJbnRvVmlld1RpbWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCmluZGV4IDEyYTkzMWZjYjFiMDI3
YWU4Mzk1YzkxYzcwMDM1MzdiMGM5MTQ0ZTMuLjEwNDBkZjk5ODQ5ZjhlNGU3NDgyMjY1NDM5Mjgx
MTViMzUxNWIzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0VsZW1lbnRzUGFuZWwuanMKQEAgLTIyMSw2ICsyMjEsNyBAQCBXZWJJbnNwZWN0b3IuRWxl
bWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLmZvY3VzZWRET01Ob2Rl
ID0gY2FuZGlkYXRlRm9jdXNOb2RlOwogICAgICAgICAgICAgaWYgKHRoaXMudHJlZU91dGxpbmUu
c2VsZWN0ZWRUcmVlRWxlbWVudCkKICAgICAgICAgICAgICAgICB0aGlzLnRyZWVPdXRsaW5lLnNl
bGVjdGVkVHJlZUVsZW1lbnQuZXhwYW5kKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY29u
c29sZS5mb2N1c0lmVmlzaWJsZSgpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gc2Vs
ZWN0TGFzdFNlbGVjdGVkTm9kZShub2RlSWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9QYW5lbC5qcwppbmRleCA3YWVkNzc1ZDQxNjI3YzczYjA2NWE2OTZiMjY3NTc1NmE2
YWU0M2U2Li40OTUyMTk2YWVlZjQ2ZTNiYTczMTU4M2VmYzNiOWMwMTkzYTYzYjBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTk1LDcgKzk1LDYg
QEAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICByZXNldDogZnVuY3Rpb24o
KQogICAgIHsKICAgICAgICAgdGhpcy5zZWFyY2hDYW5jZWxlZCgpOwotICAgICAgICBXZWJJbnNw
ZWN0b3IucmVzZXRGb2N1c0VsZW1lbnQoKTsKICAgICB9LAogCiAgICAgZ2V0IGRlZmF1bHRGb2N1
c2VkRWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCAxZWQyNDVkN2E3M2ZkZGQ1ZWIxMGIzNGI2MWU4YmU3
ZmE1ZmNiNWM0Li5kN2Q1ODE1NDhkMmE2M2NkMmVmMDY4ZGZkMDY5MGU4MTgyMzc2ZjNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFu
ZWwuanMKQEAgLTExMywxMiArMTEzLDE2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5w
cm90b3R5cGUgPSB7CiAKICAgICBfaW5pdERlZmF1bHRTZWxlY3Rpb246IGZ1bmN0aW9uKCkKICAg
ICB7CisgICAgICAgIGlmICghdGhpcy5fdHJlZUVsZW1lbnRGb3JGcmFtZUlkKQorICAgICAgICAg
ICAgcmV0dXJuOworCiAgICAgICAgIHZhciBpdGVtVVJMID0gV2ViSW5zcGVjdG9yLnNldHRpbmdz
LnJlc291cmNlc0xhc3RTZWxlY3RlZEl0ZW0uZ2V0KCk7CiAgICAgICAgIGlmIChpdGVtVVJMKSB7
CiAgICAgICAgICAgICBmb3IgKHZhciB0cmVlRWxlbWVudCA9IHRoaXMuc2lkZWJhclRyZWUuY2hp
bGRyZW5bMF07IHRyZWVFbGVtZW50OyB0cmVlRWxlbWVudCA9IHRyZWVFbGVtZW50LnRyYXZlcnNl
TmV4dFRyZWVFbGVtZW50KGZhbHNlLCB0aGlzLnNpZGViYXJUcmVlLCB0cnVlKSkgewogICAgICAg
ICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5pdGVtVVJMID09PSBpdGVtVVJMKSB7CiAgICAgICAg
ICAgICAgICAgICAgIHRyZWVFbGVtZW50LnNlbGVjdCgpOwogICAgICAgICAgICAgICAgICAgICB0
cmVlRWxlbWVudC5yZXZlYWwoKTsKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNv
bnNvbGUuZm9jdXNJZlZpc2libGUoKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEzMCw3ICsxMzQsNiBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgcmVzZXQ6IGZ1bmN0aW9u
KCkKICAgICB7Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl9pbml0aWFsaXplZERlZmF1bHRTZWxlY3Rp
b247CiAgICAgICAgIHRoaXMuX29yaWdpbnMgPSB7fTsKICAgICAgICAgdGhpcy5fZG9tYWlucyA9
IHt9OwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFiYXNlcy5sZW5ndGg7
ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcwppbmRleCA4MTQyMzFlYTFlMWIzNWY1MWZkOTQ3OGI3NjA1MDhhZDNmYzVjMTRkLi43Yzc0
ZjkyN2EyYzgzMDg0OTUxOWUzMjQ4ZTJlNjYzMWU1ZmRhOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtMTE4LDEyICsxMTgsNiBA
QCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNGb2N1c0Vs
ZW1lbnQuYmx1cigpOwogICAgIH0sCiAKLSAgICByZXNldEZvY3VzRWxlbWVudDogZnVuY3Rpb24o
KQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJyZW50Rm9jdXNFbGVtZW50ID0gbnVsbDsKLSAgICAg
ICAgdGhpcy5fcHJldmlvdXNGb2N1c0VsZW1lbnQgPSBudWxsOwotICAgIH0sCi0KICAgICBnZXQg
Y3VycmVudFBhbmVsKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGFuZWw7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103760</attachid>
            <date>2011-08-12 04:39:38 -0700</date>
            <delta_ts>2011-08-12 04:49:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66068-20110812153936.patch</filename>
            <type>text/plain</type>
            <size>34367</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4MzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMmUzODg4MDZjNjE0YzVhYzM0YWJl
MWIxZjFjNTViZDM0ZmFiMzk0Li5hMTRiM2ZmYzA0YzE2ZjNhMjc0ZTJmMjRiNjRjYzMwZWVlNjM4
N2QwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDgtMTIgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbnNvbGUgbG9z
ZXMgZm9jdXMgdXBvbiByZWxvYWRpbmcgdGhlIHBhZ2UgZnJvbSB0aGUgaW5zcGVjdG9yLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9j
b25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC5odG1sOgorCiAyMDExLTA4LTExICBac29s
dCBGZWjDqXIgIDxoNDkwMjY3QHN0dWQudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1dLMl0gSW1w
bGVtZW50IHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QuaHRtbAppbmRleCAw
YWY5ZWFkZjkyOTVjNGU5ODIwODYzMGNjNjRjY2RhMjc0ZGQ2Mjg2Li5mYWI4NWFjNGYzOGE5ODFk
ZWVjM2RiMzE1M2IxNWVmMjMxZDQ0M2U1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QuaHRtbApAQCAtMzcs
NyArMzcsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIo
KQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJTZWxlY3RlZCBub2RlIGlkOiAnIiArIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuZm9j
dXNlZERPTU5vZGUuZ2V0QXR0cmlidXRlKCJpZCIpICsgIicuIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlbGVjdGVkIG5vZGUgaWQ6ICciICsgV2ViSW5zcGVj
dG9yLnBhbmVscy5lbGVtZW50cy5zZWxlY3RlZERPTU5vZGUoKS5nZXRBdHRyaWJ1dGUoImlkIikg
KyAiJy4iKTsKICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNDE5MDg0YzAyZWE0ZGIzYzcxNDBlNWIxMjdmYWIyODhmYmNmYWY2
My4uN2ZmNTM4YjdiMTkxNjIwZmI0ZjYwYjNmOWNjNDliMzAxMTJlOTYxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDgxIEBACisyMDExLTA4LTEyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29v
Z2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBjb25zb2xlIGxvc2VzIGZvY3VzIHVw
b24gcmVsb2FkaW5nIHRoZSBwYWdlIGZyb20gdGhlIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1
ZGl0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlw
ZS5fYXVkaXRGaW5pc2hlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdHNQ
YW5lbC5wcm90b3R5cGUuX2NsZWFyQnV0dG9uQ2xpY2tlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5w
cm90b3R5cGUucmV2ZWFsQW5kU2VsZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZE5vZGUucHJvdG90eXBlLnJldmVhbEFuZFNlbGVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9EZXRhaWxlZEhlYXBzaG90Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
ZXRhaWxlZEhlYXBzaG90Vmlldy5wcm90b3R5cGUuX2p1bXBUb1NlYXJjaFJlc3VsdCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwudGhpcy50cmVlT3V0bGluZS5zZWxlY3RlZE5vZGVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLmdldCB0aGlzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5fcmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLl9zZXREb2N1bWVudC5zZWxlY3ROb2RlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5fc2V0RG9jdW1lbnQuc2Vs
ZWN0TGFzdFNlbGVjdGVkTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5l
bC5wcm90b3R5cGUuX3NldERvY3VtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50
c1BhbmVsLnByb3RvdHlwZS5fZG9tV29yZFdyYXBTZXR0aW5nQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUucG9wdWxhdGVIcmVmQ29udGV4dE1l
bnUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnN3aXRj
aFRvQW5kRm9jdXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90
eXBlLnNlbGVjdGVkRE9NTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5l
bC5wcm90b3R5cGUuc2VsZWN0RE9NTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVu
dHNQYW5lbC5wcm90b3R5cGUudXBkYXRlTW9kaWZpZWROb2Rlcyk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUudXBkYXRlQnJlYWRjcnVtYi5zZWxlY3RDcnVt
YkZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlw
ZS51cGRhdGVCcmVhZGNydW1iKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZS51cGRhdGVTdHlsZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRz
UGFuZWwucHJvdG90eXBlLnVwZGF0ZU1ldHJpY3MpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzUGFuZWwucHJvdG90eXBlLnVwZGF0ZVByb3BlcnRpZXMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnVwZGF0ZUV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5oYW5kbGVDb3B5RXZl
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnVwZGF0
ZUZvY3VzZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJl
ZU91dGxpbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5wcm90b3R5cGUuc2Vs
ZWN0ZWRET01Ob2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5l
LnByb3RvdHlwZS5zZWxlY3RET01Ob2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50
c1RyZWVPdXRsaW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZU91dGxpbmUucHJvdG90eXBlLl9yZXZlYWxBbmRTZWxlY3ROb2RlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLnByb3RvdHlwZS5fb25kcm9wLmNh
bGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLnByb3Rv
dHlwZS5fb25kcm9wKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50
LnByb3RvdHlwZS5fdXBkYXRlQ2hpbGRyZW4udXBkYXRlQ2hpbGRyZW5PZk5vZGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGVDaGls
ZHJlbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5
cGUub25zZWxlY3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQu
cHJvdG90eXBlLnNlbGVjdE9uTW91c2VEb3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS5fc3RhcnRFZGl0aW5nVGFyZ2V0KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS5fc3RhcnRFZGl0aW5n
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9Qcm9maWxlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DUFVQcm9maWxl
Vmlldy5wcm90b3R5cGUuX2p1bXBUb1NlYXJjaFJlc3VsdCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9maWxlc1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2Zp
bGVzUGFuZWwucHJvdG90eXBlLl9hZGRQcm9maWxlSGVhZGVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5zaG93UHJvZmlsZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLl9pbml0RGVmYXVsdFNlbGVj
dGlvbi5nZXQgaWYpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5faW5pdERlZmF1bHRTZWxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291
cmNlc1BhbmVsLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VzUGFuZWwucHJvdG90eXBlLnNob3dSZXNvdXJjZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHls
ZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5lZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUu
dXBkYXRlVGl0bGUubGlua2lmeVVSTCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJv
dG90eXBlLl9jcmVhdGVUb3BQYW5lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvckNvbW1v
bi5jc3M6CisgICAgICAgIChib2R5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL3Ry
ZWVvdXRsaW5lLmpzOgorICAgICAgICAoVHJlZU91dGxpbmUucHJvdG90eXBlLnJldmVhbEFuZFNl
bGVjdCk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5cGUuc2VsZWN0T25Nb3VzZURvd24p
OgorICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLnJldmVhbEFuZFNlbGVjdCk6CisgICAg
ICAgIChUcmVlRWxlbWVudC5wcm90b3R5cGUuc2VsZWN0KToKKwogMjAxMS0wOC0xMSAgUGF2ZWwg
UG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiB1c2Ugc291cmNlLWZpbGUtcmVwbGFjZWQgaW5zdGVhZCBvZiBzb3VyY2UtZmlsZS1jaGFu
Z2VkIGV2ZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BdWRpdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVk
aXRzUGFuZWwuanMKaW5kZXggNGJhNzRkZGMxNjdlMDQ1NzM4YTFmOGJkNDY0NzQ3MmM2ZjQ4YmZi
OS4uMzEwZmZhNjMxZmM4YjRjNDg2ZWRmZGM1NWNhZGU5ZWQ1ZDk0NWExNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzCkBAIC0xNjYs
OCArMTY2LDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICB2YXIgcmVzdWx0VHJlZUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkF1ZGl0UmVzdWx0
U2lkZWJhclRyZWVFbGVtZW50KHJlc3VsdHMsIG1haW5SZXNvdXJjZVVSTCwgb3JkaW5hbCk7CiAg
ICAgICAgIHRoaXMuYXVkaXRSZXN1bHRzVHJlZUVsZW1lbnQuYXBwZW5kQ2hpbGQocmVzdWx0VHJl
ZUVsZW1lbnQpOwotICAgICAgICByZXN1bHRUcmVlRWxlbWVudC5yZXZlYWwoKTsKLSAgICAgICAg
cmVzdWx0VHJlZUVsZW1lbnQuc2VsZWN0KCk7CisgICAgICAgIHJlc3VsdFRyZWVFbGVtZW50LnJl
dmVhbEFuZFNlbGVjdCgpOwogICAgICAgICBpZiAobGF1bmNoZXJDYWxsYmFjaykKICAgICAgICAg
ICAgIGxhdW5jaGVyQ2FsbGJhY2soKTsKICAgICB9LApAQCAtMjU1LDggKzI1NCw3IEBAIFdlYklu
c3BlY3Rvci5BdWRpdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBfY2xlYXJCdXR0b25DbGlj
a2VkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlzLmF1ZGl0c0l0ZW1UcmVlRWxlbWVu
dC5yZXZlYWwoKTsKLSAgICAgICAgdGhpcy5hdWRpdHNJdGVtVHJlZUVsZW1lbnQuc2VsZWN0KCk7
CisgICAgICAgIHRoaXMuYXVkaXRzSXRlbVRyZWVFbGVtZW50LnJldmVhbEFuZFNlbGVjdCgpOwog
ICAgICAgICB0aGlzLmF1ZGl0UmVzdWx0c1RyZWVFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
YXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQu
anMKaW5kZXggNTJjN2FjM2E0NmFkMGFkNTUzMTg4Zjk2Y2Y3ZjU2MWZhNjE5Y2Y0Ni4uYzM0ODA2
ZDcxNWViZDVjOWZhYjAyYzNhNzMwMDYzY2M3NGUxZDBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCkBAIC04MTcsNiArODE3LDExIEBAIFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIFRoaXMgaXMgdGhl
IHJvb3QsIGRvIG5vdGhpbmcuCiAgICAgfSwKIAorICAgIHJldmVhbEFuZFNlbGVjdDogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0aGUgcm9vdCwgZG8gbm90aGluZy4KKyAg
ICB9LAorCiAgICAgZGF0YUdyaWROb2RlRnJvbU5vZGU6IGZ1bmN0aW9uKHRhcmdldCkKICAgICB7
CiAgICAgICAgIHZhciByb3dFbGVtZW50ID0gdGFyZ2V0LmVuY2xvc2luZ05vZGVPclNlbGZXaXRo
Tm9kZU5hbWUoInRyIik7CkBAIC0xMzU1LDYgKzEzNjAsMTIgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xp
c3RlbmVycygic2VsZWN0ZWQiKTsKICAgICB9LAogCisgICAgcmV2ZWFsQW5kU2VsZWN0OiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICB0aGlzLnJldmVhbCgpOworICAgICAgICB0aGlzLnNlbGVj
dCgpOworICAgIH0sCisKICAgICBkZXNlbGVjdDogZnVuY3Rpb24oc3VwcmVzc0Rlc2VsZWN0ZWRF
dmVudCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5kYXRhR3JpZCB8fCB0aGlzLmRhdGFHcmlk
LnNlbGVjdGVkTm9kZSAhPT0gdGhpcyB8fCAhdGhpcy5zZWxlY3RlZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGV0YWlsZWRIZWFwc2hvdFZpZXcuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RldGFpbGVkSGVhcHNob3RWaWV3
LmpzCmluZGV4IDEyYmQxMjUyNGZhMDc0NTEyM2QyMzMwZGM3MTcwZTZmM2U2YmUxYTQuLmFiMDky
MTViNGEzNjllOTZmOTA4OTdkYjUyNDgxNjc4MzU0YTEzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGV0YWlsZWRIZWFwc2hvdFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZXRhaWxlZEhlYXBzaG90Vmlldy5q
cwpAQCAtODQ0LDggKzg0NCw3IEBAIFdlYkluc3BlY3Rvci5EZXRhaWxlZEhlYXBzaG90Vmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFyIG5vZGUgPSBz
ZWFyY2hSZXN1bHQubm9kZTsKLSAgICAgICAgbm9kZS5yZXZlYWwoKTsKLSAgICAgICAgbm9kZS5z
ZWxlY3QoKTsKKyAgICAgICAgbm9kZS5yZXZlYWxBbmRTZWxlY3QoKTsKICAgICB9LAogCiAgICAg
cmVmcmVzaFZpc2libGVEYXRhOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggMTJhOTMxZmNiMWIwMjdh
ZTgzOTVjOTFjNzAwMzUzN2IwYzkxNDRlMy4uYWE0YmRhNTBhZDRhNTc4ZDk3ZmE5MWVlZWM5ZTQx
OWE0ZWFlZjRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtNDYsMTEgKzQ2LDggQEAgV2ViSW5zcGVjdG9yLkVsZW1l
bnRzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgdGhpcy50cmVlT3V0bGluZS5pbmNsdWRlUm9vdERP
TU5vZGUgPSBmYWxzZTsKICAgICB0aGlzLnRyZWVPdXRsaW5lLnNlbGVjdEVuYWJsZWQgPSB0cnVl
OwogCi0gICAgdGhpcy50cmVlT3V0bGluZS5mb2N1c2VkTm9kZUNoYW5nZWQgPSBmdW5jdGlvbihm
b3JjZVVwZGF0ZSkKKyAgICB0aGlzLnRyZWVPdXRsaW5lLnNlbGVjdGVkTm9kZUNoYW5nZWQgPSBm
dW5jdGlvbihmb3JjZVVwZGF0ZSkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLnBhbmVsLnZpc2li
bGUgJiYgV2ViSW5zcGVjdG9yLmN1cnJlbnRGb2N1c0VsZW1lbnQgIT09IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzZWFyY2giKSkKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50Rm9j
dXNFbGVtZW50ID0gdGhpcy5lbGVtZW50OwotCiAgICAgICAgIHRoaXMucGFuZWwudXBkYXRlQnJl
YWRjcnVtYihmb3JjZVVwZGF0ZSk7CiAKICAgICAgICAgZm9yICh2YXIgcGFuZSBpbiB0aGlzLnBh
bmVsLnNpZGViYXJQYW5lcykKQEAgLTYxLDggKzU4LDggQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRz
UGFuZWwgPSBmdW5jdGlvbigpCiAgICAgICAgIHRoaXMucGFuZWwudXBkYXRlUHJvcGVydGllcygp
OwogICAgICAgICB0aGlzLnBhbmVsLnVwZGF0ZUV2ZW50TGlzdGVuZXJzKCk7CiAKLSAgICAgICAg
aWYgKHRoaXMuX2ZvY3VzZWRET01Ob2RlKSB7Ci0gICAgICAgICAgICBDb25zb2xlQWdlbnQuYWRk
SW5zcGVjdGVkTm9kZSh0aGlzLl9mb2N1c2VkRE9NTm9kZS5pZCk7CisgICAgICAgIGlmICh0aGlz
Ll9zZWxlY3RlZERPTU5vZGUpIHsKKyAgICAgICAgICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0
ZWROb2RlKHRoaXMuX3NlbGVjdGVkRE9NTm9kZS5pZCk7CiAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeU9iamVjdFNlbGVjdGVkKHRoaXMucGFuZWwubmFtZSk7
CiAgICAgICAgIH0KICAgICB9OwpAQCAtMTc5LDExICsxNzYsMTEgQEAgV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgX3Jlc2V0OiBmdW5jdGlvbigpCiAgICAg
ewotICAgICAgICBpZiAodGhpcy5mb2N1c2VkRE9NTm9kZSkKLSAgICAgICAgICAgIHRoaXMuX3Nl
bGVjdGVkUGF0aE9uUmVzZXQgPSB0aGlzLmZvY3VzZWRET01Ob2RlLnBhdGgoKTsKKyAgICAgICAg
aWYgKHRoaXMuc2VsZWN0ZWRET01Ob2RlKCkpCisgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBh
dGhPblJlc2V0ID0gdGhpcy5zZWxlY3RlZERPTU5vZGUoKS5wYXRoKCk7CiAKICAgICAgICAgdGhp
cy5yb290RE9NTm9kZSA9IG51bGw7Ci0gICAgICAgIHRoaXMuZm9jdXNlZERPTU5vZGUgPSBudWxs
OworICAgICAgICB0aGlzLnNlbGVjdERPTU5vZGUobnVsbCk7CiAKICAgICAgICAgV2ViSW5zcGVj
dG9yLmhpZ2hsaWdodERPTU5vZGUoMCk7CiAKQEAgLTIxOCwxNCArMjE1LDE0IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICghY2FuZGlk
YXRlRm9jdXNOb2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgdGhp
cy5mb2N1c2VkRE9NTm9kZSA9IGNhbmRpZGF0ZUZvY3VzTm9kZTsKKyAgICAgICAgICAgIHRoaXMu
c2VsZWN0RE9NTm9kZShjYW5kaWRhdGVGb2N1c05vZGUsIGZhbHNlKTsKICAgICAgICAgICAgIGlm
ICh0aGlzLnRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCiAgICAgICAgICAgICAgICAg
dGhpcy50cmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50LmV4cGFuZCgpOwogICAgICAgICB9
CiAKICAgICAgICAgZnVuY3Rpb24gc2VsZWN0TGFzdFNlbGVjdGVkTm9kZShub2RlSWQpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzZWRET01Ob2RlKSB7CisgICAgICAgICAg
ICBpZiAodGhpcy5zZWxlY3RlZERPTU5vZGUoKSkgewogICAgICAgICAgICAgICAgIC8vIEZvY3Vz
ZWQgbm9kZSBoYXMgYmVlbiBleHBsaWNpdGx5IHNldCB3aGlsZSByZWFjaGluZyBvdXQgZm9yIHRo
ZSBsYXN0IHNlbGVjdGVkIG5vZGUuCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQpAQCAtMjkxLDcgKzI4OCw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5h
ZGRTdHlsZUNsYXNzKCJub3dyYXAiKTsKIAotICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlz
LnRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVudCh0aGlzLmZvY3VzZWRET01Ob2RlKTsKKyAgICAg
ICAgdmFyIHRyZWVFbGVtZW50ID0gdGhpcy50cmVlT3V0bGluZS5maW5kVHJlZUVsZW1lbnQodGhp
cy5zZWxlY3RlZERPTU5vZGUoKSk7CiAgICAgICAgIGlmICh0cmVlRWxlbWVudCkKICAgICAgICAg
ICAgIHRyZWVFbGVtZW50LnVwZGF0ZVNlbGVjdGlvbigpOyAvLyBSZWNhbGN1bGF0ZSBzZWxlY3Rp
b24gaGlnaGxpZ2h0IGRpbWVuc2lvbnMuCiAgICAgfSwKQEAgLTMwMSw3ICsyOTgsNyBAQCBXZWJJ
bnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghYW5jaG9y
RWxlbWVudC5ocmVmKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIHZhciBy
ZXNvdXJjZVVSTCA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVVSTEZvclJlbGF0ZWROb2RlKHRoaXMu
Zm9jdXNlZERPTU5vZGUsIGFuY2hvckVsZW1lbnQuaHJlZik7CisgICAgICAgIHZhciByZXNvdXJj
ZVVSTCA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVVSTEZvclJlbGF0ZWROb2RlKHRoaXMuc2VsZWN0
ZWRET01Ob2RlKCksIGFuY2hvckVsZW1lbnQuaHJlZik7CiAgICAgICAgIGlmICghcmVzb3VyY2VV
UkwpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTMxNyw3ICszMTQsNyBAQCBXZWJJ
bnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIFJlc2V0IHNl
YXJjaCByZXN0b3JlLgogICAgICAgICBXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlci5jYW5j
ZWxTZWFyY2goKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQYW5lbCA9IHRoaXM7Ci0g
ICAgICAgIHRoaXMuZm9jdXNlZERPTU5vZGUgPSBub2RlOworICAgICAgICB0aGlzLnNlbGVjdERP
TU5vZGUobm9kZSwgdHJ1ZSk7CiAgICAgfSwKIAogICAgIF91cGRhdGVNYXRjaGVzQ291bnQ6IGZ1
bmN0aW9uKCkKQEAgLTQxNSwxNCArNDEyLDE0IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy50cmVlT3V0bGluZS5yb290RE9NTm9kZSA9IHg7
CiAgICAgfSwKIAotICAgIGdldCBmb2N1c2VkRE9NTm9kZSgpCisgICAgc2VsZWN0ZWRET01Ob2Rl
OiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy50cmVlT3V0bGluZS5mb2N1
c2VkRE9NTm9kZTsKKyAgICAgICAgcmV0dXJuIHRoaXMudHJlZU91dGxpbmUuc2VsZWN0ZWRET01O
b2RlKCk7CiAgICAgfSwKIAotICAgIHNldCBmb2N1c2VkRE9NTm9kZSh4KQorICAgIHNlbGVjdERP
TU5vZGU6IGZ1bmN0aW9uKG5vZGUsIGZvY3VzKQogICAgIHsKLSAgICAgICAgdGhpcy50cmVlT3V0
bGluZS5mb2N1c2VkRE9NTm9kZSA9IHg7CisgICAgICAgIHRoaXMudHJlZU91dGxpbmUuc2VsZWN0
RE9NTm9kZShub2RlLCBmb2N1cyk7CiAgICAgfSwKIAogICAgIF9hdHRyaWJ1dGVzVXBkYXRlZDog
ZnVuY3Rpb24oZXZlbnQpCkBAIC00OTgsNyArNDk1LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRz
UGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHVwZGF0ZWRQYXJlbnRUcmVlRWxl
bWVudHMucHVzaChwYXJlbnROb2RlSXRlbSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
IGlmICghdXBkYXRlQnJlYWRjcnVtYnMgJiYgKHRoaXMuZm9jdXNlZERPTU5vZGUgPT09IHBhcmVu
dCB8fCBpc0FuY2VzdG9yTm9kZSh0aGlzLmZvY3VzZWRET01Ob2RlLCBwYXJlbnQpKSkKKyAgICAg
ICAgICAgIGlmICghdXBkYXRlQnJlYWRjcnVtYnMgJiYgKHRoaXMuc2VsZWN0ZWRET01Ob2RlKCkg
PT09IHBhcmVudCB8fCBpc0FuY2VzdG9yTm9kZSh0aGlzLnNlbGVjdGVkRE9NTm9kZSgpLCBwYXJl
bnQpKSkKICAgICAgICAgICAgICAgICB1cGRhdGVCcmVhZGNydW1icyA9IHRydWU7CiAgICAgICAg
IH0KIApAQCAtNTY4LDcgKzU2NSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBjcnVtYi5yZW1vdmVT
dHlsZUNsYXNzKCJkaW1tZWQiKTsKIAotICAgICAgICAgICAgaWYgKGNydW1iLnJlcHJlc2VudGVk
T2JqZWN0ID09PSB0aGlzLmZvY3VzZWRET01Ob2RlKSB7CisgICAgICAgICAgICBpZiAoY3J1bWIu
cmVwcmVzZW50ZWRPYmplY3QgPT09IHRoaXMuc2VsZWN0ZWRET01Ob2RlKCkpIHsKICAgICAgICAg
ICAgICAgICBjcnVtYi5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgICAg
IGhhbmRsZWQgPSB0cnVlOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTYxNCwxNCArNjExLDE0
IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
ICAgICAvLyB3aWxsIGNoYW5nZSB0aGUgcm9vdCBub2RlIGluIGFkZGl0aW9uIHRvIHRoZSBmb2N1
c2VkIG5vZGUuCiAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRldGFpbCA+PSAyIHx8IGNydW1i
Lmhhc1N0eWxlQ2xhc3MoImRpbW1lZCIpKQogICAgICAgICAgICAgICAgICAgICBwYW5lbC5yb290
RE9NTm9kZSA9IGNydW1iLnJlcHJlc2VudGVkT2JqZWN0LnBhcmVudE5vZGU7Ci0gICAgICAgICAg
ICAgICAgcGFuZWwuZm9jdXNlZERPTU5vZGUgPSBjcnVtYi5yZXByZXNlbnRlZE9iamVjdDsKKyAg
ICAgICAgICAgICAgICBwYW5lbC5zZWxlY3RET01Ob2RlKGNydW1iLnJlcHJlc2VudGVkT2JqZWN0
LCB0cnVlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1
bHQoKTsKICAgICAgICAgfQogCiAgICAgICAgIGZvdW5kUm9vdCA9IGZhbHNlOwotICAgICAgICBm
b3IgKHZhciBjdXJyZW50ID0gdGhpcy5mb2N1c2VkRE9NTm9kZTsgY3VycmVudDsgY3VycmVudCA9
IGN1cnJlbnQucGFyZW50Tm9kZSkgeworICAgICAgICBmb3IgKHZhciBjdXJyZW50ID0gdGhpcy5z
ZWxlY3RlZERPTU5vZGUoKTsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQucGFyZW50Tm9kZSkg
ewogICAgICAgICAgICAgaWYgKGN1cnJlbnQubm9kZVR5cGUoKSA9PT0gTm9kZS5ET0NVTUVOVF9O
T0RFKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC02NjcsNyArNjY0LDcgQEAgV2Vi
SW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgICAgICAgICBpZiAo
Zm91bmRSb290KQogICAgICAgICAgICAgICAgIGNydW1iLmFkZFN0eWxlQ2xhc3MoImRpbW1lZCIp
OwotICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IHRoaXMuZm9jdXNlZERPTU5vZGUpCisgICAg
ICAgICAgICBpZiAoY3VycmVudCA9PT0gdGhpcy5zZWxlY3RlZERPTU5vZGUoKSkKICAgICAgICAg
ICAgICAgICBjcnVtYi5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgaWYg
KCFjcnVtYnMuY2hpbGROb2Rlcy5sZW5ndGgpCiAgICAgICAgICAgICAgICAgY3J1bWIuYWRkU3R5
bGVDbGFzcygiZW5kIik7CkBAIC0xMDAwLDcgKzk5Nyw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50
c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCghc3R5bGVzU2lkZWJhclBhbmUuZXhw
YW5kZWQgJiYgIWNvbXB1dGVkU3R5bGVQYW5lLmV4cGFuZGVkKSB8fCAhc3R5bGVzU2lkZWJhclBh
bmUubmVlZHNVcGRhdGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgc3R5bGVzU2lk
ZWJhclBhbmUudXBkYXRlKHRoaXMuZm9jdXNlZERPTU5vZGUsIGZvcmNlVXBkYXRlKTsKKyAgICAg
ICAgc3R5bGVzU2lkZWJhclBhbmUudXBkYXRlKHRoaXMuc2VsZWN0ZWRET01Ob2RlKCksIGZvcmNl
VXBkYXRlKTsKICAgICAgICAgc3R5bGVzU2lkZWJhclBhbmUubmVlZHNVcGRhdGUgPSBmYWxzZTsK
ICAgICB9LAogCkBAIC0xMDEwLDcgKzEwMDcsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghbWV0cmljc1NpZGViYXJQYW5lLmV4cGFuZGVk
IHx8ICFtZXRyaWNzU2lkZWJhclBhbmUubmVlZHNVcGRhdGUpCiAgICAgICAgICAgICByZXR1cm47
CiAKLSAgICAgICAgbWV0cmljc1NpZGViYXJQYW5lLnVwZGF0ZSh0aGlzLmZvY3VzZWRET01Ob2Rl
KTsKKyAgICAgICAgbWV0cmljc1NpZGViYXJQYW5lLnVwZGF0ZSh0aGlzLnNlbGVjdGVkRE9NTm9k
ZSgpKTsKICAgICAgICAgbWV0cmljc1NpZGViYXJQYW5lLm5lZWRzVXBkYXRlID0gZmFsc2U7CiAg
ICAgfSwKIApAQCAtMTAyMCw3ICsxMDE3LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwu
cHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXByb3BlcnRpZXNTaWRlYmFyUGFuZS5leHBhbmRl
ZCB8fCAhcHJvcGVydGllc1NpZGViYXJQYW5lLm5lZWRzVXBkYXRlKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIHByb3BlcnRpZXNTaWRlYmFyUGFuZS51cGRhdGUodGhpcy5mb2N1c2Vk
RE9NTm9kZSk7CisgICAgICAgIHByb3BlcnRpZXNTaWRlYmFyUGFuZS51cGRhdGUodGhpcy5zZWxl
Y3RlZERPTU5vZGUoKSk7CiAgICAgICAgIHByb3BlcnRpZXNTaWRlYmFyUGFuZS5uZWVkc1VwZGF0
ZSA9IGZhbHNlOwogICAgIH0sCiAKQEAgLTEwMzAsNyArMTAyNyw3IEBAIFdlYkluc3BlY3Rvci5F
bGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCFldmVudExpc3RlbmVyc1Np
ZGViYXJQYW5lLmV4cGFuZGVkIHx8ICFldmVudExpc3RlbmVyc1NpZGViYXJQYW5lLm5lZWRzVXBk
YXRlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGV2ZW50TGlzdGVuZXJzU2lkZWJh
clBhbmUudXBkYXRlKHRoaXMuZm9jdXNlZERPTU5vZGUpOworICAgICAgICBldmVudExpc3RlbmVy
c1NpZGViYXJQYW5lLnVwZGF0ZSh0aGlzLnNlbGVjdGVkRE9NTm9kZSgpKTsKICAgICAgICAgZXZl
bnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5uZWVkc1VwZGF0ZSA9IGZhbHNlOwogICAgIH0sCiAKQEAg
LTEwNzgsNyArMTA3NSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgZXZlbnQuY2xpcGJvYXJkRGF0YS5jbGVh
ckRhdGEoKTsKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgdGhpcy5m
b2N1c2VkRE9NTm9kZS5jb3B5Tm9kZSgpOworICAgICAgICB0aGlzLnNlbGVjdGVkRE9NTm9kZSgp
LmNvcHlOb2RlKCk7CiAgICAgfSwKIAogICAgIHJpZ2h0U2lkZWJhclJlc2l6ZXJEcmFnU3RhcnQ6
IGZ1bmN0aW9uKGV2ZW50KQpAQCAtMTExNCw3ICsxMTExLDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1l
bnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIW5vZGUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgdGhpcy5mb2N1c2VkRE9NTm9kZSA9IG5vZGU7CisgICAgICAgIHRo
aXMuc2VsZWN0RE9NTm9kZShub2RlLCB0cnVlKTsKICAgICAgICAgaWYgKHRoaXMubm9kZVNlYXJj
aEJ1dHRvbi50b2dnbGVkKSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuYnJp
bmdUb0Zyb250KCk7CiAgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24udG9nZ2xlZCA9
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9F
bGVtZW50c1RyZWVPdXRsaW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzCmluZGV4IDk5Yzc1OTdmNzQ5YzMyMjM2OGVkODc5Zjlj
YjUyNzAyMTc2ZmJiMmYuLjRkNGU5NjAxY2IxOGU0NTZlMDNiYzBiYmIxOThmNTIwZDAwOGNiZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNU
cmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Vs
ZW1lbnRzVHJlZU91dGxpbmUuanMKQEAgLTQ1LDcgKzQ1LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1l
bnRzVHJlZU91dGxpbmUgPSBmdW5jdGlvbigpIHsKICAgICB0aGlzLnNlbGVjdEVuYWJsZWQgPSBm
YWxzZTsKICAgICB0aGlzLnNob3dJbkVsZW1lbnRzUGFuZWxFbmFibGVkID0gZmFsc2U7CiAgICAg
dGhpcy5yb290RE9NTm9kZSA9IG51bGw7Ci0gICAgdGhpcy5mb2N1c2VkRE9NTm9kZSA9IG51bGw7
CisgICAgdGhpcy5fc2VsZWN0RE9NTm9kZSA9IG51bGw7CiAgICAgdGhpcy5lbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1lbnVFdmVudEZpcmVkLmJp
bmQodGhpcyksIHRydWUpOwogfQogCkBAIC03NywyOCArNzcsMjcgQEAgV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZU91dGxpbmUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5pc1hN
TE1pbWVUeXBlID8gbm9kZU5hbWUgOiBub2RlTmFtZS50b0xvd2VyQ2FzZSgpOwogICAgIH0sCiAK
LSAgICBnZXQgZm9jdXNlZERPTU5vZGUoKQorICAgIHNlbGVjdGVkRE9NTm9kZTogZnVuY3Rpb24o
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRET01Ob2RlOworICAgICAgICBy
ZXR1cm4gdGhpcy5fc2VsZWN0ZWRET01Ob2RlOwogICAgIH0sCiAKLSAgICBzZXQgZm9jdXNlZERP
TU5vZGUoeCkKKyAgICBzZWxlY3RET01Ob2RlOiBmdW5jdGlvbihub2RlLCBmb2N1cykKICAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkRE9NTm9kZSA9PT0geCkgewotICAgICAgICAgICAg
dGhpcy5yZXZlYWxBbmRTZWxlY3ROb2RlKHgpOworICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRE
T01Ob2RlID09PSBub2RlKSB7CisgICAgICAgICAgICB0aGlzLl9yZXZlYWxBbmRTZWxlY3ROb2Rl
KG5vZGUsICFmb2N1cyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAg
ICB0aGlzLl9mb2N1c2VkRE9NTm9kZSA9IHg7CisgICAgICAgIHRoaXMuX3NlbGVjdGVkRE9NTm9k
ZSA9IG5vZGU7CisgICAgICAgIHRoaXMuX3JldmVhbEFuZFNlbGVjdE5vZGUobm9kZSwgIWZvY3Vz
KTsKIAotICAgICAgICB0aGlzLnJldmVhbEFuZFNlbGVjdE5vZGUoeCk7Ci0KLSAgICAgICAgLy8g
VGhlIHJldmVhbEFuZFNlbGVjdE5vZGUoKSBtZXRob2QgbWlnaHQgZmluZCBhIGRpZmZlcmVudCBl
bGVtZW50IGlmIHRoZXJlIGlzIGlubGluZWQgdGV4dCwKLSAgICAgICAgLy8gYW5kIHRoZSBzZWxl
Y3QoKSBjYWxsIHdvdWxkIGNoYW5nZSB0aGUgZm9jdXNlZERPTU5vZGUgYW5kIHJlZW50ZXIgdGhp
cyBzZXR0ZXIuIFNvIHRvCi0gICAgICAgIC8vIGF2b2lkIGNhbGxpbmcgZm9jdXNlZE5vZGVDaGFu
Z2VkKCkgdHdpY2UsIGZpcnN0IGNoZWNrIGlmIF9mb2N1c2VkRE9NTm9kZSBpcyB0aGUgc2FtZQor
ICAgICAgICAvLyBUaGUgX3JldmVhbEFuZFNlbGVjdE5vZGUoKSBtZXRob2QgbWlnaHQgZmluZCBh
IGRpZmZlcmVudCBlbGVtZW50IGlmIHRoZXJlIGlzIGlubGluZWQgdGV4dCwKKyAgICAgICAgLy8g
YW5kIHRoZSBzZWxlY3QoKSBjYWxsIHdvdWxkIGNoYW5nZSB0aGUgc2VsZWN0ZWRET01Ob2RlIGFu
ZCByZWVudGVyIHRoaXMgc2V0dGVyLiBTbyB0bworICAgICAgICAvLyBhdm9pZCBjYWxsaW5nIHNl
bGVjdGVkTm9kZUNoYW5nZWQoKSB0d2ljZSwgZmlyc3QgY2hlY2sgaWYgX3NlbGVjdGVkRE9NTm9k
ZSBpcyB0aGUgc2FtZQogICAgICAgICAvLyBub2RlIGFzIHRoZSBvbmUgcGFzc2VkIGluLgotICAg
ICAgICBpZiAodGhpcy5fZm9jdXNlZERPTU5vZGUgPT09IHgpCi0gICAgICAgICAgICB0aGlzLmZv
Y3VzZWROb2RlQ2hhbmdlZCgpOworICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRET01Ob2RlID09
PSBub2RlKQorICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVDaGFuZ2VkKCk7CiAgICAgfSwK
IAogICAgIGdldCBlZGl0aW5nKCkKQEAgLTEzMiw3ICsxMzEsNyBAQCBXZWJJbnNwZWN0b3IuRWxl
bWVudHNUcmVlT3V0bGluZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
c2VsZWN0ZWROb2RlKQotICAgICAgICAgICAgdGhpcy5yZXZlYWxBbmRTZWxlY3ROb2RlKHNlbGVj
dGVkTm9kZSk7CisgICAgICAgICAgICB0aGlzLl9yZXZlYWxBbmRTZWxlY3ROb2RlKHNlbGVjdGVk
Tm9kZSwgdHJ1ZSk7CiAgICAgfSwKIAogICAgIHVwZGF0ZVNlbGVjdGlvbjogZnVuY3Rpb24oKQpA
QCAtMTQzLDcgKzE0Miw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgZWxlbWVudC51cGRhdGVTZWxlY3Rpb24oKTsKICAgICB9LAogCi0g
ICAgZm9jdXNlZE5vZGVDaGFuZ2VkOiBmdW5jdGlvbihmb3JjZVVwZGF0ZSkge30sCisgICAgc2Vs
ZWN0ZWROb2RlQ2hhbmdlZDogZnVuY3Rpb24oZm9yY2VVcGRhdGUpIHt9LAogCiAgICAgZmluZFRy
ZWVFbGVtZW50OiBmdW5jdGlvbihub2RlKQogICAgIHsKQEAgLTE3OCw3ICsxNzcsNyBAQCBXZWJJ
bnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X3N1cHByZXNzUmV2ZWFsQW5kU2VsZWN0ID0geDsKICAgICB9LAogCi0gICAgcmV2ZWFsQW5kU2Vs
ZWN0Tm9kZTogZnVuY3Rpb24obm9kZSkKKyAgICBfcmV2ZWFsQW5kU2VsZWN0Tm9kZTogZnVuY3Rp
b24obm9kZSwgb21pdEZvY3VzKQogICAgIHsKICAgICAgICAgaWYgKCFub2RlIHx8IHRoaXMuX3N1
cHByZXNzUmV2ZWFsQW5kU2VsZWN0KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTg3LDggKzE4
Niw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgaWYgKCF0cmVlRWxlbWVudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0
cmVlRWxlbWVudC5yZXZlYWwoKTsKLSAgICAgICAgdHJlZUVsZW1lbnQuc2VsZWN0KCk7CisgICAg
ICAgIHRyZWVFbGVtZW50LnJldmVhbEFuZFNlbGVjdChvbWl0Rm9jdXMpOwogICAgIH0sCiAKICAg
ICBfdHJlZUVsZW1lbnRGcm9tRXZlbnQ6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtMzU2LDcgKzM1NCw3
IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnVwZGF0ZU1vZGlmaWVkTm9k
ZXMoKTsKICAgICAgICAgICAgICAgICB2YXIgbmV3Tm9kZSA9IFdlYkluc3BlY3Rvci5kb21BZ2Vu
dC5ub2RlRm9ySWQobmV3Tm9kZUlkKTsKICAgICAgICAgICAgICAgICBpZiAobmV3Tm9kZSkKLSAg
ICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkRE9NTm9kZSA9IG5ld05vZGU7CisgICAgICAg
ICAgICAgICAgICAgIHRoaXMuc2VsZWN0RE9NTm9kZShuZXdOb2RlLCB0cnVlKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIHRoaXMuX25vZGVCZWluZ0RyYWdnZWQubW92ZVRvKHBhcmVudE5v
ZGUsIGFuY2hvck5vZGUsIGNhbGxiYWNrLmJpbmQodGhpcykpOwogICAgICAgICB9CkBAIC02OTYs
NyArNjk0LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZUNoaWxkcmVuSW5Q
cm9ncmVzcyA9IHRydWU7Ci0gICAgICAgIHZhciBmb2N1c2VkTm9kZSA9IHRoaXMudHJlZU91dGxp
bmUuZm9jdXNlZERPTU5vZGU7CisgICAgICAgIHZhciBzZWxlY3RlZE5vZGUgPSB0aGlzLnRyZWVP
dXRsaW5lLnNlbGVjdGVkRE9NTm9kZSgpOwogICAgICAgICB2YXIgb3JpZ2luYWxTY3JvbGxUb3A7
CiAgICAgICAgIGlmIChmdWxsUmVmcmVzaCkgewogICAgICAgICAgICAgdmFyIHRyZWVPdXRsaW5l
Q29udGFpbmVyRWxlbWVudCA9IHRoaXMudHJlZU91dGxpbmUuZWxlbWVudC5wYXJlbnROb2RlOwpA
QCAtNzM0LDcgKzczMiw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vIGV4aXN0aW5nIGVsZW1lbnQg
Zm91bmQsIGluc2VydCBhIG5ldyBlbGVtZW50LgogICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHRyZWVDaGlsZEluZGV4IDwgdHJlZUVsZW1lbnQuZXhwYW5kZWRDaGlsZHJlbkxpbWl0KSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5ld0VsZW1lbnQgPSB0cmVlRWxlbWVudC5p
bnNlcnRDaGlsZEVsZW1lbnQoY2hpbGQsIHRyZWVDaGlsZEluZGV4KTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoY2hpbGQgPT09IGZvY3VzZWROb2RlKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChjaGlsZCA9PT0gc2VsZWN0ZWROb2RlKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlbGVtZW50VG9TZWxlY3QgPSBuZXdFbGVtZW50OwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5leHBhbmRlZENoaWxkQ291bnQgPiB0
cmVlRWxlbWVudC5leHBhbmRlZENoaWxkcmVuTGltaXQpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyZWVFbGVtZW50LmV4cGFuZGVkQ2hpbGRyZW5MaW1pdCsrOwpAQCAtODUyLDcg
Kzg1MCw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsK
ICAgICBvbnNlbGVjdDogZnVuY3Rpb24odHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKQogICAg
IHsKICAgICAgICAgdGhpcy50cmVlT3V0bGluZS5zdXBwcmVzc1JldmVhbEFuZFNlbGVjdCA9IHRy
dWU7Ci0gICAgICAgIHRoaXMudHJlZU91dGxpbmUuZm9jdXNlZERPTU5vZGUgPSB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0OworICAgICAgICB0aGlzLnRyZWVPdXRsaW5lLnNlbGVjdERPTU5vZGUodGhp
cy5yZXByZXNlbnRlZE9iamVjdCwgc2VsZWN0ZWRCeVVzZXIpOwogICAgICAgICBpZiAoc2VsZWN0
ZWRCeVVzZXIpCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaGlnaGxpZ2h0RE9NTm9kZSh0aGlz
LnJlcHJlc2VudGVkT2JqZWN0LmlkKTsKICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb24oKTsK
QEAgLTg4OCw3ICs4ODYsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CiAKICAgICAgICAgaWYgKHRoaXMudHJlZU91dGxpbmUuc2hvd0luRWxlbWVudHNQ
YW5lbEVuYWJsZWQpIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1l
bnRzIik7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmZvY3VzZWRE
T01Ob2RlID0gdGhpcy5yZXByZXNlbnRlZE9iamVjdDsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5wYW5lbHMuZWxlbWVudHMuc2VsZWN0RE9NTm9kZSh0aGlzLnJlcHJlc2VudGVkT2JqZWN0LCB0
cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIFByZXZlbnQgc2VsZWN0aW5nIHRoZSBuZWFy
ZXN0IHdvcmQgb24gZG91YmxlIGNsaWNrLgpAQCAtOTI1LDcgKzkyMyw3IEBAIFdlYkluc3BlY3Rv
ci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgIF9zdGFydEVkaXRpbmdU
YXJnZXQ6IGZ1bmN0aW9uKGV2ZW50VGFyZ2V0KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMudHJl
ZU91dGxpbmUuZm9jdXNlZERPTU5vZGUgIT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkKKyAgICAg
ICAgaWYgKHRoaXMudHJlZU91dGxpbmUuc2VsZWN0ZWRET01Ob2RlKCkgIT0gdGhpcy5yZXByZXNl
bnRlZE9iamVjdCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodGhpcy5yZXBy
ZXNlbnRlZE9iamVjdC5ub2RlVHlwZSgpICE9IE5vZGUuRUxFTUVOVF9OT0RFICYmIHRoaXMucmVw
cmVzZW50ZWRPYmplY3Qubm9kZVR5cGUoKSAhPSBOb2RlLlRFWFRfTk9ERSkKQEAgLTk4MSw3ICs5
NzksNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAK
ICAgICBfc3RhcnRFZGl0aW5nOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBpZiAodGhpcy50
cmVlT3V0bGluZS5mb2N1c2VkRE9NTm9kZSAhPT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkKKyAg
ICAgICAgaWYgKHRoaXMudHJlZU91dGxpbmUuc2VsZWN0ZWRET01Ob2RlKCkgIT09IHRoaXMucmVw
cmVzZW50ZWRPYmplY3QpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFyIGxpc3RJ
dGVtID0gdGhpcy5fbGlzdEl0ZW1Ob2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUGFuZWwuanMKaW5kZXggN2FlZDc3NWQ0MTYyN2M3M2IwNjVhNjk2YjI2NzU3NTZhNmFl
NDNlNi4uNDk1MjE5NmFlZWY0NmUzYmE3MzE1ODNlZmMzYjljMDE5M2E2M2IwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCkBAIC05NSw3ICs5NSw2IEBA
IFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHRoaXMuc2VhcmNoQ2FuY2VsZWQoKTsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLnJlc2V0Rm9jdXNFbGVtZW50KCk7CiAgICAgfSwKIAogICAgIGdldCBkZWZhdWx0Rm9jdXNl
ZEVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Qcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJv
ZmlsZVZpZXcuanMKaW5kZXggZWYzZTJiNjZkMDA4ZGZjMDFiMWJhODU3Nzg3NjYwZTE2ZWU1M2Zj
OC4uNjUxMDk1YWUzYzkxNGQ3MzJlOTkxYzhjMjMzOGY5NTUwYmI5NDA4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlVmlldy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzCkBAIC00MTMs
OCArNDEzLDcgQEAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2YXIgcHJvZmlsZU5vZGUgPSBzZWFyY2hSZXN1
bHQucHJvZmlsZU5vZGU7Ci0gICAgICAgIHByb2ZpbGVOb2RlLnJldmVhbCgpOwotICAgICAgICBw
cm9maWxlTm9kZS5zZWxlY3QoKTsKKyAgICAgICAgcHJvZmlsZU5vZGUucmV2ZWFsQW5kU2VsZWN0
KCk7CiAgICAgfSwKIAogICAgIF9jaGFuZ2VWaWV3OiBmdW5jdGlvbihldmVudCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcwppbmRl
eCA4YmE5NGJmY2U0MzExZWU2NjEwMDcyOGUxNTYyMGNkMTM4ZWZkMzg2Li4xZGZlOWUzOGRkNWYy
ZWI0Y2UyYzM4ZWFmMmQ3NzliNzVhYjdjZTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlc1BhbmVsLmpzCkBAIC0zMTcsMTAgKzMxNyw4IEBA
IFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAg
ICB2YXIgc2VsZWN0ZWQgPSBncm91cFswXS5fcHJvZmlsZXNUcmVlRWxlbWVudC5zZWxlY3RlZDsK
ICAgICAgICAgICAgICAgICBzaWRlYmFyUGFyZW50LnJlbW92ZUNoaWxkKGdyb3VwWzBdLl9wcm9m
aWxlc1RyZWVFbGVtZW50KTsKICAgICAgICAgICAgICAgICBncm91cC5fcHJvZmlsZXNUcmVlRWxl
bWVudC5hcHBlbmRDaGlsZChncm91cFswXS5fcHJvZmlsZXNUcmVlRWxlbWVudCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKHNlbGVjdGVkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGdyb3VwWzBdLl9w
cm9maWxlc1RyZWVFbGVtZW50LnNlbGVjdCgpOwotICAgICAgICAgICAgICAgICAgICBncm91cFsw
XS5fcHJvZmlsZXNUcmVlRWxlbWVudC5yZXZlYWwoKTsKLSAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgaWYgKHNlbGVjdGVkKQorICAgICAgICAgICAgICAgICAgICBncm91cFswXS5f
cHJvZmlsZXNUcmVlRWxlbWVudC5yZXZlYWxBbmRTZWxlY3QoKTsKIAogICAgICAgICAgICAgICAg
IGdyb3VwWzBdLl9wcm9maWxlc1RyZWVFbGVtZW50LnNtYWxsID0gdHJ1ZTsKICAgICAgICAgICAg
ICAgICBncm91cFswXS5fcHJvZmlsZXNUcmVlRWxlbWVudC5tYWluVGl0bGUgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlJ1biAlZCIsIDEpOwpAQCAtMzkxLDggKzM4OSw5IEBAIFdlYkluc3BlY3Rv
ci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2aWV3LnNob3codGhpcy5w
cm9maWxlVmlld3MpOwogCi0gICAgICAgIHByb2ZpbGUuX3Byb2ZpbGVzVHJlZUVsZW1lbnQuc2Vs
ZWN0KHRydWUpOwotICAgICAgICBwcm9maWxlLl9wcm9maWxlc1RyZWVFbGVtZW50LnJldmVhbCgp
OworICAgICAgICBwcm9maWxlLl9wcm9maWxlc1RyZWVFbGVtZW50Ll9zdXBwcmVzc09uU2VsZWN0
ID0gdHJ1ZTsKKyAgICAgICAgcHJvZmlsZS5fcHJvZmlsZXNUcmVlRWxlbWVudC5yZXZlYWxBbmRT
ZWxlY3QoZmFsc2UpOworICAgICAgICBkZWxldGUgcHJvZmlsZS5fcHJvZmlsZXNUcmVlRWxlbWVu
dC5fc3VwcHJlc3NPblNlbGVjdDsKIAogICAgICAgICB0aGlzLnZpc2libGVWaWV3ID0gdmlldzsK
IApAQCAtNzc2LDcgKzc3NSw4IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlU2lkZWJhclRyZWVFbGVt
ZW50ID0gZnVuY3Rpb24ocHJvZmlsZSwgdGl0bGVGb3JtYXQsIGNsYXNzTmFtCiBXZWJJbnNwZWN0
b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgb25zZWxlY3Q6
IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMudHJlZU91dGxpbmUucGFuZWwuc2hvd1By
b2ZpbGUodGhpcy5wcm9maWxlKTsKKyAgICAgICAgaWYgKCF0aGlzLl9zdXBwcmVzc09uU2VsZWN0
KQorICAgICAgICAgICAgdGhpcy50cmVlT3V0bGluZS5wYW5lbC5zaG93UHJvZmlsZSh0aGlzLnBy
b2ZpbGUpOwogICAgIH0sCiAKICAgICBvbmRlbGV0ZTogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXgg
MWVkMjQ1ZDdhNzNmZGRkNWViMTBiMzRiNjFlOGJlN2ZhNWZjYjVjNC4uMjdmNzQwNDIyZmZmODcy
NzIzZWQ3ZmMyMTU0Yzc4NTc1ZDVkMWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0xMTMsMTIgKzExMywxNCBA
QCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgX2luaXRE
ZWZhdWx0U2VsZWN0aW9uOiBmdW5jdGlvbigpCiAgICAgeworICAgICAgICBpZiAoIXRoaXMuX3Ry
ZWVFbGVtZW50Rm9yRnJhbWVJZCkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB2YXIg
aXRlbVVSTCA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5yZXNvdXJjZXNMYXN0U2VsZWN0ZWRJdGVt
LmdldCgpOwogICAgICAgICBpZiAoaXRlbVVSTCkgewogICAgICAgICAgICAgZm9yICh2YXIgdHJl
ZUVsZW1lbnQgPSB0aGlzLnNpZGViYXJUcmVlLmNoaWxkcmVuWzBdOyB0cmVlRWxlbWVudDsgdHJl
ZUVsZW1lbnQgPSB0cmVlRWxlbWVudC50cmF2ZXJzZU5leHRUcmVlRWxlbWVudChmYWxzZSwgdGhp
cy5zaWRlYmFyVHJlZSwgdHJ1ZSkpIHsKICAgICAgICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQu
aXRlbVVSTCA9PT0gaXRlbVVSTCkgewotICAgICAgICAgICAgICAgICAgICB0cmVlRWxlbWVudC5z
ZWxlY3QoKTsKLSAgICAgICAgICAgICAgICAgICAgdHJlZUVsZW1lbnQucmV2ZWFsKCk7CisgICAg
ICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50LnJldmVhbEFuZFNlbGVjdCh0cnVlKTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
QEAgLTEzMCw3ICsxMzIsNiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBl
ID0gewogCiAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGRlbGV0ZSB0aGlz
Ll9pbml0aWFsaXplZERlZmF1bHRTZWxlY3Rpb247CiAgICAgICAgIHRoaXMuX29yaWdpbnMgPSB7
fTsKICAgICAgICAgdGhpcy5fZG9tYWlucyA9IHt9OwogICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHRoaXMuX2RhdGFiYXNlcy5sZW5ndGg7ICsraSkgewpAQCAtMzQ0LDEwICszNDUsOCBAQCBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgIHNob3dSZXNvdXJj
ZTogZnVuY3Rpb24ocmVzb3VyY2UsIGxpbmUpCiAgICAgewogICAgICAgICB2YXIgcmVzb3VyY2VU
cmVlRWxlbWVudCA9IHRoaXMuX2ZpbmRUcmVlRWxlbWVudEZvclJlc291cmNlKHJlc291cmNlKTsK
LSAgICAgICAgaWYgKHJlc291cmNlVHJlZUVsZW1lbnQpIHsKLSAgICAgICAgICAgIHJlc291cmNl
VHJlZUVsZW1lbnQucmV2ZWFsKCk7Ci0gICAgICAgICAgICByZXNvdXJjZVRyZWVFbGVtZW50LnNl
bGVjdCgpOwotICAgICAgICB9CisgICAgICAgIGlmIChyZXNvdXJjZVRyZWVFbGVtZW50KQorICAg
ICAgICAgICAgcmVzb3VyY2VUcmVlRWxlbWVudC5yZXZlYWxBbmRTZWxlY3QoKTsKIAogICAgICAg
ICBpZiAobGluZSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICB2YXIgdmlldyA9IHRoaXMu
X3Jlc291cmNlVmlld0ZvclJlc291cmNlKHJlc291cmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4IDJi
MDY5MDQ4MmUwODgyZjY2YzQ2ZWFiNGNjYTMwZGUyNmQ4MDFmZjIuLmZiMTM2YzY1NTA0ZTJhZmM1
ODE1MDA5MWYxMTBlZDJkOWFmZWVmYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpAQCAtMTE3Niw4ICsxMTc2
LDggQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgbW92ZVRvTmV4dElmTmVlZGVkLmNhbGwoc2VsZik7CiAgICAgICAgIH0KIAot
ICAgICAgICB2YXIgZm9jdXNlZE5vZGUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmZv
Y3VzZWRET01Ob2RlOwotICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuc2V0UnVsZVNlbGVj
dG9yKHRoaXMucnVsZS5pZCwgZm9jdXNlZE5vZGUgPyBmb2N1c2VkTm9kZS5pZCA6IDAsIG5ld0Nv
bnRlbnQsIHN1Y2Nlc3NDYWxsYmFjaywgbW92ZVRvTmV4dElmTmVlZGVkLmJpbmQodGhpcykpOwor
ICAgICAgICB2YXIgc2VsZWN0ZWROb2RlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5z
ZWxlY3RlZERPTU5vZGUoKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLnNldFJ1bGVT
ZWxlY3Rvcih0aGlzLnJ1bGUuaWQsIHNlbGVjdGVkTm9kZSA/IHNlbGVjdGVkTm9kZS5pZCA6IDAs
IG5ld0NvbnRlbnQsIHN1Y2Nlc3NDYWxsYmFjaywgbW92ZVRvTmV4dElmTmVlZGVkLmJpbmQodGhp
cykpOwogICAgIH0sCiAKICAgICBlZGl0aW5nU2VsZWN0b3JDYW5jZWxsZWQ6IGZ1bmN0aW9uKCkK
QEAgLTE0OTMsOCArMTQ5Myw4IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1l
bnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgidXJsKCIpKTsKICAgICAgICAgICAgICAgICBpZiAoc2Vs
Zi5fc3R5bGVSdWxlLnNvdXJjZVVSTCkKICAgICAgICAgICAgICAgICAgICAgaHJlZlVybCA9IFdl
Ykluc3BlY3Rvci5jb21wbGV0ZVVSTChzZWxmLl9zdHlsZVJ1bGUuc291cmNlVVJMLCBocmVmVXJs
KTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRz
LmZvY3VzZWRET01Ob2RlKQotICAgICAgICAgICAgICAgICAgICBocmVmVXJsID0gV2ViSW5zcGVj
dG9yLnJlc291cmNlVVJMRm9yUmVsYXRlZE5vZGUoV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50
cy5mb2N1c2VkRE9NTm9kZSwgaHJlZlVybCk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoV2Vi
SW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zZWxlY3RlZERPTU5vZGUoKSkKKyAgICAgICAgICAg
ICAgICAgICAgaHJlZlVybCA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVVSTEZvclJlbGF0ZWROb2Rl
KFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2VsZWN0ZWRET01Ob2RlKCksIGhyZWZVcmwp
OwogICAgICAgICAgICAgICAgIHZhciBoYXNSZXNvdXJjZSA9ICEhV2ViSW5zcGVjdG9yLnJlc291
cmNlRm9yVVJMKGhyZWZVcmwpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXZWJJbnNwZWN0
b3IubGlua2lmeVVSTEFzTm9kZSgpIHNob3VsZCByZWFsbHkgdXNlIGJhc2VVUkkuCiAgICAgICAg
ICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNO
b2RlKGhyZWZVcmwsIHVybCwgbnVsbCwgIWhhc1Jlc291cmNlKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggYmE0ODVi
ZTE3MjhlZjE3OWM1ZjEzOGRkNjVmNDA0NWUxYmJiMGRkOC4uNjIwYWQ2MGU5Nzk0MTk3MDE1MWE1
MjU5NzgwNThkOGZhMDIzZjdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMTMwLDggKzEzMCw4IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHRvcFBhbmVTaWRl
YmFyVHJlZSA9IG5ldyBUcmVlT3V0bGluZShvdmVydmlld1RyZWVFbGVtZW50KTsKICAgICAgICAg
dmFyIHRpbWVsaW5lc092ZXJ2aWV3SXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuU2lkZWJhclRyZWVF
bGVtZW50KCJyZXNvdXJjZXMtdGltZS1ncmFwaC1zaWRlYmFyLWl0ZW0iLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlRpbWVsaW5lcyIpKTsKICAgICAgICAgdG9wUGFuZVNpZGViYXJUcmVlLmFwcGVu
ZENoaWxkKHRpbWVsaW5lc092ZXJ2aWV3SXRlbSk7CisgICAgICAgIHRpbWVsaW5lc092ZXJ2aWV3
SXRlbS5yZXZlYWxBbmRTZWxlY3QoZmFsc2UpOwogICAgICAgICB0aW1lbGluZXNPdmVydmlld0l0
ZW0ub25zZWxlY3QgPSB0aGlzLl90aW1lbGluZXNPdmVydmlld0l0ZW1TZWxlY3RlZC5iaW5kKHRo
aXMpOwotICAgICAgICB0aW1lbGluZXNPdmVydmlld0l0ZW0uc2VsZWN0KHRydWUpOwogCiAgICAg
ICAgIHZhciBtZW1vcnlPdmVydmlld0l0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlNpZGViYXJUcmVl
RWxlbWVudCgicmVzb3VyY2VzLXNpemUtZ3JhcGgtc2lkZWJhci1pdGVtIiwgV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJNZW1vcnkiKSk7CiAgICAgICAgIHRvcFBhbmVTaWRlYmFyVHJlZS5hcHBlbmRD
aGlsZChtZW1vcnlPdmVydmlld0l0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA4MTQyMzFlYTFlMWIzNWY1MWZkOTQ3OGI3NjA1
MDhhZDNmYzVjMTRkLi43Yzc0ZjkyN2EyYzgzMDg0OTUxOWUzMjQ4ZTJlNjYzMWU1ZmRhOWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpA
QCAtMTE4LDEyICsxMTgsNiBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICAgICAgdGhp
cy5fcHJldmlvdXNGb2N1c0VsZW1lbnQuYmx1cigpOwogICAgIH0sCiAKLSAgICByZXNldEZvY3Vz
RWxlbWVudDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJyZW50Rm9jdXNFbGVt
ZW50ID0gbnVsbDsKLSAgICAgICAgdGhpcy5fcHJldmlvdXNGb2N1c0VsZW1lbnQgPSBudWxsOwot
ICAgIH0sCi0KICAgICBnZXQgY3VycmVudFBhbmVsKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0
aGlzLl9jdXJyZW50UGFuZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3RyZWVvdXRsaW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC90cmVlb3V0bGluZS5qcwppbmRleCBmNWY5ZGVmNjVkYzI1YmVhNjNmYjI5NjI1MGJjNWJi
NzNjNjhhNTI0Li5iZjczNDU0MjdkMjhjYmVhZTE4MjQ3NWUyZjY0MWIxMjY4MTE2MTE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RyZWVvdXRsaW5lLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdHJlZW91dGxpbmUuanMK
QEAgLTQzNiw2ICs0MzYsMTEgQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLnNlbGVjdCA9IGZ1bmN0
aW9uKCkKICAgICAvLyB0aGlzIGlzIHRoZSByb290LCBkbyBub3RoaW5nCiB9CiAKK1RyZWVPdXRs
aW5lLnByb3RvdHlwZS5yZXZlYWxBbmRTZWxlY3QgPSBmdW5jdGlvbigpCit7CisgICAgLy8gdGhp
cyBpcyB0aGUgcm9vdCwgZG8gbm90aGluZworfQorCiBUcmVlT3V0bGluZS5wcm90b3R5cGUuYXBw
ZW5kQ2hpbGQgPSBUcmVlT3V0bGluZS5fYXBwZW5kQ2hpbGQ7CiBUcmVlT3V0bGluZS5wcm90b3R5
cGUuaW5zZXJ0Q2hpbGQgPSBUcmVlT3V0bGluZS5faW5zZXJ0Q2hpbGQ7CiBUcmVlT3V0bGluZS5w
cm90b3R5cGUucmVtb3ZlQ2hpbGQgPSBUcmVlT3V0bGluZS5fcmVtb3ZlQ2hpbGQ7CkBAIC04MTYs
NyArODIxLDcgQEAgVHJlZUVsZW1lbnQucHJvdG90eXBlLnNlbGVjdE9uTW91c2VEb3duID0gZnVu
Y3Rpb24oZXZlbnQpCiAgICAgdGhpcy5zZWxlY3QoZmFsc2UsIHRydWUpOwogfQogCi1UcmVlRWxl
bWVudC5wcm90b3R5cGUuc2VsZWN0ID0gZnVuY3Rpb24oc3VwcmVzc09uU2VsZWN0LCBzZWxlY3Rl
ZEJ5VXNlcikKK1RyZWVFbGVtZW50LnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbihvbWl0Rm9j
dXMsIHNlbGVjdGVkQnlVc2VyKQogewogICAgIGlmICghdGhpcy50cmVlT3V0bGluZSB8fCAhdGhp
cy5zZWxlY3RhYmxlIHx8IHRoaXMuc2VsZWN0ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTgyNSw3
ICs4MzAsOSBAQCBUcmVlRWxlbWVudC5wcm90b3R5cGUuc2VsZWN0ID0gZnVuY3Rpb24oc3VwcmVz
c09uU2VsZWN0LCBzZWxlY3RlZEJ5VXNlcikKICAgICAgICAgdGhpcy50cmVlT3V0bGluZS5zZWxl
Y3RlZFRyZWVFbGVtZW50LmRlc2VsZWN0KCk7CiAKICAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTsK
LSAgICB0aGlzLnRyZWVPdXRsaW5lLl9jaGlsZHJlbkxpc3ROb2RlLmZvY3VzKCk7CisKKyAgICBp
Zighb21pdEZvY3VzKQorICAgICAgICB0aGlzLnRyZWVPdXRsaW5lLl9jaGlsZHJlbkxpc3ROb2Rl
LmZvY3VzKCk7CiAKICAgICAvLyBGb2N1c2luZyBvbiBhbm90aGVyIG5vZGUgbWF5IGRldGFjaCAi
dGhpcyIgZnJvbSB0cmVlLgogICAgIGlmICghdGhpcy50cmVlT3V0bGluZSkKQEAgLTgzNCwxMCAr
ODQxLDE2IEBAIFRyZWVFbGVtZW50LnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbihzdXByZXNz
T25TZWxlY3QsIHNlbGVjdGVkQnlVc2VyKQogICAgIGlmICh0aGlzLl9saXN0SXRlbU5vZGUpCiAg
ICAgICAgIHRoaXMuX2xpc3RJdGVtTm9kZS5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwogCi0g
ICAgaWYgKHRoaXMub25zZWxlY3QgJiYgIXN1cHJlc3NPblNlbGVjdCkKKyAgICBpZiAodGhpcy5v
bnNlbGVjdCkKICAgICAgICAgdGhpcy5vbnNlbGVjdCh0aGlzLCBzZWxlY3RlZEJ5VXNlcik7CiB9
CiAKK1RyZWVFbGVtZW50LnByb3RvdHlwZS5yZXZlYWxBbmRTZWxlY3QgPSBmdW5jdGlvbihvbWl0
Rm9jdXMpCit7CisgICAgdGhpcy5yZXZlYWwoKTsKKyAgICB0aGlzLnNlbGVjdChvbWl0Rm9jdXMp
OworfQorCiBUcmVlRWxlbWVudC5wcm90b3R5cGUuZGVzZWxlY3QgPSBmdW5jdGlvbihzdXByZXNz
T25EZXNlbGVjdCkKIHsKICAgICBpZiAoIXRoaXMudHJlZU91dGxpbmUgfHwgdGhpcy50cmVlT3V0
bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50ICE9PSB0aGlzIHx8ICF0aGlzLnNlbGVjdGVkKQo=
</data>
<flag name="review"
          id="99458"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>