<?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>53013</bug_id>
          
          <creation_ts>2011-01-24 08:16:44 -0800</creation_ts>
          <short_desc>Web Inspector: bind resources to URLs upon adding them into the tree.</short_desc>
          <delta_ts>2011-01-25 05:32:57 -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>
          
          
          <everconfirmed>1</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>339020</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-24 08:16:44 -0800</bug_when>
    <thetext>I am slowly splitting the &apos;network request&apos; vs &apos;resource item&apos; aspects in the Resource.js. From now on, resource  is only bound with URL upon addition into the resource tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339581</commentid>
    <comment_count>1</comment_count>
      <attachid>80045</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-25 04:06:11 -0800</bug_when>
    <thetext>Created attachment 80045
[PATCH] Proposed change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339596</commentid>
    <comment_count>2</comment_count>
      <attachid>80045</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-25 04:33:37 -0800</bug_when>
    <thetext>Comment on attachment 80045
[PATCH] Proposed change

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

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:-305
&gt; -        this._resourceTreeModel.unbindResourceURL(originalResource);

Shouldn&apos;t we clean up _inflightResourceByURL entry for the original URL here? There doesn&apos;t seem to be another chance.

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:330
&gt; +        delete this._inflightResourcesByURL[resource.identifier];

you need to use resource.url, not identifier here.

&gt; Source/WebCore/inspector/front-end/ScriptsPanel.js:276
&gt; +        var resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL);

So, is this guaranteed to be called before resource is finished? Otherwise, there wouldn&apos;t be in inflight resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339597</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-25 04:40:37 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 80045 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80045&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkManager.js:-305
&gt; &gt; -        this._resourceTreeModel.unbindResourceURL(originalResource);
&gt; 
&gt; Shouldn&apos;t we clean up _inflightResourceByURL entry for the original URL here? There doesn&apos;t seem to be another chance.
&gt; 

Now that bind is encapsulated in ResourceTreeModel, we only perform it upon resource addition to the tree. Which happens upon didReceiveResponse, i.e. does not happen for intermediate redirects.

&gt; &gt; Source/WebCore/inspector/front-end/NetworkManager.js:330
&gt; &gt; +        delete this._inflightResourcesByURL[resource.identifier];
&gt; 
&gt; you need to use resource.url, not identifier here.
&gt;

Thanks, fixed.
 
&gt; &gt; Source/WebCore/inspector/front-end/ScriptsPanel.js:276
&gt; &gt; +        var resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL);
&gt; 
&gt; So, is this guaranteed to be called before resource is finished? Otherwise, there wouldn&apos;t be in inflight resources.

Yes, it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339598</commentid>
    <comment_count>4</comment_count>
      <attachid>80049</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-25 04:42:52 -0800</bug_when>
    <thetext>Created attachment 80049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339608</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-25 05:32:57 -0800</bug_when>
    <thetext>Committed r76587: &lt;http://trac.webkit.org/changeset/76587&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80045</attachid>
            <date>2011-01-25 04:06:11 -0800</date>
            <delta_ts>2011-01-25 04:42:44 -0800</delta_ts>
            <desc>[PATCH] Proposed change</desc>
            <filename>late_bind</filename>
            <type>text/plain</type>
            <size>15774</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NjFlMzIyLi4yNjA2YjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDgg
QEAKIDIwMTEtMDEtMjQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYmluZCByZXNvdXJjZXMgdG8gVVJMcyB1cG9uIGFkZGluZyB0aGVtIGludG8gdGhlIHRy
ZWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzAx
MworCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUuZG9SdW4u
ZXZhbENhbGxiYWNrLnNlbGVjdG9yc0NhbGxiYWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbC5wcm90b3R5cGUuX3N0eWxlU2hlZXRDaGFuZ2VkLmNhbGxiYWNrKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5fc3R5bGVTaGVldENoYW5nZWQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5fcGFyc2VkU2NyaXB0U291cmNl
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc0NhY2hl
ZFJlc291cmNlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90
eXBlLmluZmxpZ2h0UmVzb3VyY2VGb3JVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdv
cmtEaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5w
cm90b3R5cGUud2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
RGlzcGF0Y2hlci5wcm90b3R5cGUubWFya1Jlc291cmNlQXNDYWNoZWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5kaWRSZWNlaXZlUmVzcG9uc2Up
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5kaWRS
ZWNlaXZlQ29udGVudExlbmd0aCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3Bh
dGNoZXIucHJvdG90eXBlLmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5kaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLndpbGxTZW5kV2ViU29ja2V0
SGFuZHNoYWtlUmVxdWVzdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNo
ZXIucHJvdG90eXBlLmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmRpZENsb3NlV2Vi
U29ja2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5
cGUuX2FwcGVuZFJlZGlyZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0
Y2hlci5wcm90b3R5cGUuX3N0YXJ0UmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5fZmluaXNoUmVzb3VyY2UpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5fY3JlYXRlUmVzb3VyY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLmFkZFJlc291cmNl
VG9GcmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90
eXBlLl9iaW5kUmVzb3VyY2VVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJl
ZU1vZGVsLnByb3RvdHlwZS5fY2xlYXJSZXNvdXJjZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5fdW5iaW5kUmVzb3VyY2VVUkwpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLmNhblNob3dTb3VyY2VMaW5lKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuc2hvd1NvdXJjZUxp
bmUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX3BhcnNlZFNjcmlwdFNv
dXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fYWRk
U2NyaXB0KToKKworMjAxMS0wMS0yNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGV4dHJhY3QgZGlzcGF0Y2ggQVBJIGZyb20gbmV0d29yayBtYW5hZ2Vy
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1
bGVzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpz
CmluZGV4IGMyYmJjYmIuLjA5YTFmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKQEAgLTMyNiw3ICszMjYsNyBAQCBXZWJJbnNwZWN0
b3IuQXVkaXRSdWxlcy5VbnVzZWRDc3NSdWxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKCF1bnVzZWRSdWxlcy5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKIAotICAgICAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IucmVzb3VyY2VUcmVlTW9kZWwucmVzb3VyY2VGb3JVUkwoc3R5bGVTaGVldC5zb3VyY2VVUkwp
OworICAgICAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3Vy
Y2VGb3JVUkwoc3R5bGVTaGVldC5zb3VyY2VVUkwpOwogICAgICAgICAgICAgICAgICAgICB2YXIg
aXNJbmxpbmVCbG9jayA9IHJlc291cmNlICYmIHJlc291cmNlLnR5cGUgPT0gV2ViSW5zcGVjdG9y
LlJlc291cmNlLlR5cGUuRG9jdW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAh
aXNJbmxpbmVCbG9jayA/IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVSZXN1bHQubGlua2lmeURpc3Bs
YXlOYW1lKHN0eWxlU2hlZXQuc291cmNlVVJMKSA6IFN0cmluZy5zcHJpbnRmKCJJbmxpbmUgYmxv
Y2sgIyVkIiwgKytpbmxpbmVCbG9ja09yZGluYWwpOwogICAgICAgICAgICAgICAgICAgICB2YXIg
cGN0VW51c2VkID0gTWF0aC5yb3VuZCgxMDAgKiB1bnVzZWRTdHlsZXNoZWV0U2l6ZSAvIHN0eWxl
c2hlZXRTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ1NTU3R5bGVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q1NTU3R5bGVNb2RlbC5qcwppbmRleCA0ZjIwNjYwLi5kN2I5NTc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCkBAIC0xNjIs
NyArMTYyLDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlID0gewogCiAg
ICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGhyZWYsIGNvbnRlbnQpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5yZXNv
dXJjZUZvclVSTChocmVmKTsKKyAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZUZvclVSTChocmVmKTsKICAgICAgICAgICAgIGlmIChyZXNvdXJjZSAmJiByZXNv
dXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0KQogICAg
ICAgICAgICAgICAgIHJlc291cmNlLnNldENvbnRlbnQoY29udGVudCwgdGhpcy5fb25SZXZlcnQu
YmluZCh0aGlzLCBzdHlsZVNoZWV0SWQpKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IDIxMTJmZDEu
LjMyZDI4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RlYnVnZ2VyTW9kZWwuanMKQEAgLTI0Nyw3ICsyNDcsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgc2NyaXB0ID0gbmV3IFdl
Ykluc3BlY3Rvci5TY3JpcHQoc291cmNlSUQsIHNvdXJjZVVSTCwgIiIsIGxpbmVPZmZzZXQsIGNv
bHVtbk9mZnNldCwgbGVuZ3RoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgc2NyaXB0V29ybGRUeXBl
KTsKICAgICAgICAgdGhpcy5fc2NyaXB0c1tzb3VyY2VJRF0gPSBzY3JpcHQ7Ci0gICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2
ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNvdXJjZUlEKTsKKyAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNl
ZFNjcmlwdFNvdXJjZSwgc2NyaXB0KTsKICAgICB9LAogCiAgICAgX2ZhaWxlZFRvUGFyc2VTY3Jp
cHRTb3VyY2U6IGZ1bmN0aW9uKHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUsIGVycm9y
TGluZSwgZXJyb3JNZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMKaW5kZXggNjhmMDNjOC4uNTQxZTZhNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2Vy
LmpzCkBAIC02MSw2ICs2MSwxMSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90
eXBlID0gewogICAgICAgICB2YXIgbWFpblJlc291cmNlID0gdGhpcy5fZGlzcGF0Y2hlci5fYWRk
RnJhbWVzUmVjdXJzaXZlbHkobWFpbkZyYW1lUGF5bG9hZCk7CiAgICAgICAgIFdlYkluc3BlY3Rv
ci5tYWluUmVzb3VyY2UgPSBtYWluUmVzb3VyY2U7CiAgICAgICAgIG1haW5SZXNvdXJjZS5pc01h
aW5SZXNvdXJjZSA9IHRydWU7CisgICAgfSwKKworICAgIGluZmxpZ2h0UmVzb3VyY2VGb3JVUkw6
IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9kaXNwYXRjaGVyLl9p
bmZsaWdodFJlc291cmNlc0J5VVJMW3VybF07CiAgICAgfQogfQogCkBAIC02OSw3ICs3NCw4IEBA
IFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CiBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIg
PSBmdW5jdGlvbihyZXNvdXJjZVRyZWVNb2RlbCwgbWFuYWdlcikKIHsKICAgICB0aGlzLl9tYW5h
Z2VyID0gbWFuYWdlcjsKLSAgICB0aGlzLl9pbmZsaWdodFJlc291cmNlcyA9IHt9OworICAgIHRo
aXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZCA9IHt9OworICAgIHRoaXMuX2luZmxpZ2h0UmVzb3Vy
Y2VzQnlVUkwgPSB7fTsKICAgICB0aGlzLl9yZXNvdXJjZVRyZWVNb2RlbCA9IHJlc291cmNlVHJl
ZU1vZGVsOwogICAgIHRoaXMuX2xhc3RJZGVudGlmaWVyRm9yQ2FjaGVkUmVzb3VyY2UgPSAwOwog
ICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyKCJOZXR3b3JrIiwg
dGhpcyk7CkBAIC0xMjgsNyArMTM0LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVy
LnByb3RvdHlwZSA9IHsKIAogICAgIHdpbGxTZW5kUmVxdWVzdDogZnVuY3Rpb24oaWRlbnRpZmll
ciwgdGltZSwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSkKICAgICB7Ci0gICAgICAgIHZhciBy
ZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOworICAgICAgICB2
YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CiAg
ICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE1MSw3ICsx
NTcsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogCiAg
ICAgbWFya1Jlc291cmNlQXNDYWNoZWQ6IGZ1bmN0aW9uKGlkZW50aWZpZXIpCiAgICAgewotICAg
ICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc1tpZGVudGlmaWVyXTsK
KyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW2lkZW50
aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCkBA
IC0xNjEsNyArMTY3LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlw
ZSA9IHsKIAogICAgIGRpZFJlY2VpdmVSZXNwb25zZTogZnVuY3Rpb24oaWRlbnRpZmllciwgdGlt
ZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOworICAgICAgICB2YXIgcmVzb3Vy
Y2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CiAgICAgICAgIGlm
ICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE3Niw3ICsxODIsNyBAQCBX
ZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogCiAgICAgZGlkUmVj
ZWl2ZUNvbnRlbnRMZW5ndGg6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRpbWUsIGxlbmd0aFJlY2Vp
dmVkKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJj
ZXNbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVz
b3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKICAgICAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAgICAg
ICAgIHJldHVybjsKIApAQCAtMTg4LDcgKzE5NCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlz
cGF0Y2hlci5wcm90b3R5cGUgPSB7CiAKICAgICBkaWRGaW5pc2hMb2FkaW5nOiBmdW5jdGlvbihp
ZGVudGlmaWVyLCBmaW5pc2hUaW1lKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhp
cy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9
IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKICAgICAgICAgaWYgKCFy
ZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMTk3LDcgKzIwMyw3IEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAKICAgICBkaWRGYWlsTG9h
ZGluZzogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSwgbG9jYWxpemVkRGVzY3JpcHRpb24pCiAg
ICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc1tpZGVu
dGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNC
eUlkW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0
dXJuOwogCkBAIC0yNTYsNyArMjYyLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVy
LnByb3RvdHlwZSA9IHsKIAogICAgIHdpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdDog
ZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSwgcmVxdWVzdCkKICAgICB7Ci0gICAgICAgIHZhciBy
ZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOworICAgICAgICB2
YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CiAg
ICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTI3MCw3ICsy
NzYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogCiAg
ICAgZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOiBmdW5jdGlvbihpZGVudGlm
aWVyLCB0aW1lLCByZXNwb25zZSkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMu
X2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0
aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVz
b3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTI4NSw3ICsyOTEsNyBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogCiAgICAgZGlkQ2xvc2VXZWJT
b2NrZXQ6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRpbWUpCiAgICAgewotICAgICAgICB2YXIgcmVz
b3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc1tpZGVudGlmaWVyXTsKKyAgICAgICAgdmFy
IHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOwogICAg
ICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLl9m
aW5pc2hSZXNvdXJjZShyZXNvdXJjZSwgdGltZSk7CkBAIC0yOTMsMTcgKzI5OSwxMSBAQCBXZWJJ
bnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogCiAgICAgX2FwcGVuZFJl
ZGlyZWN0OiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZWRpcmVjdFVSTCkKICAgICB7Ci0g
ICAgICAgIHZhciBvcmlnaW5hbFJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRl
bnRpZmllcl07CisgICAgICAgIHZhciBvcmlnaW5hbFJlc291cmNlID0gdGhpcy5faW5mbGlnaHRS
ZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOwogICAgICAgICB2YXIgcHJldmlvdXNSZWRpcmVjdHMg
PSBvcmlnaW5hbFJlc291cmNlLnJlZGlyZWN0cyB8fCBbXTsKICAgICAgICAgb3JpZ2luYWxSZXNv
dXJjZS5pZGVudGlmaWVyID0gInJlZGlyZWN0ZWQ6IiArIGlkZW50aWZpZXIgKyAiLiIgKyBwcmV2
aW91c1JlZGlyZWN0cy5sZW5ndGg7CiAgICAgICAgIGRlbGV0ZSBvcmlnaW5hbFJlc291cmNlLnJl
ZGlyZWN0czsKICAgICAgICAgdGhpcy5fZmluaXNoUmVzb3VyY2Uob3JpZ2luYWxSZXNvdXJjZSwg
dGltZSk7Ci0gICAgICAgIC8vIFdlIGJvdW5kIHJlc291cmNlIGVhcmx5LCBidXQgaXQgaGFwcGVu
ZWQgdG8gYmUgYSByZWRpcmVjdCBhbmQgd29uJ3QgbWFrZSBpdCB0aHJvdWdoIHRvCi0gICAgICAg
IC8vIHRoZSByZXNvdXJjZSB0cmVlIC0tIHNvIHVuYmluZCBpdC4KLSAgICAgICAgLy8gRklYTUU6
IHdlIHNob3VsZCBiaW5kIHVwb24gYWRkaW5nIHRvIHRoZSB0cmVlIG9ubHkgKGVuY2Fwc3VsYXRl
ZCBpbnRvIFJlc291cmNlVHJlZU1vZGVsKSwKLSAgICAgICAgLy8gU2NyaXB0IGRlYnVnZ2VyIHNo
b3VsZCBkbyBleHBsaWNpdCBsYXRlIGJpbmRpbmcgb24gaXRzIG93bi4KLSAgICAgICAgdGhpcy5f
cmVzb3VyY2VUcmVlTW9kZWwudW5iaW5kUmVzb3VyY2VVUkwob3JpZ2luYWxSZXNvdXJjZSk7Ci0g
ICAgICAgIAogICAgICAgICB2YXIgbmV3UmVzb3VyY2UgPSB0aGlzLl9jcmVhdGVSZXNvdXJjZShp
ZGVudGlmaWVyLCByZWRpcmVjdFVSTCwgb3JpZ2luYWxSZXNvdXJjZS5sb2FkZXIsIG9yaWdpbmFs
UmVzb3VyY2Uuc3RhY2tUcmFjZSk7CiAgICAgICAgIG5ld1Jlc291cmNlLnJlZGlyZWN0cyA9IHBy
ZXZpb3VzUmVkaXJlY3RzLmNvbmNhdChvcmlnaW5hbFJlc291cmNlKTsKICAgICAgICAgcmV0dXJu
IG5ld1Jlc291cmNlOwpAQCAtMzExLDcgKzMxMSw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlz
cGF0Y2hlci5wcm90b3R5cGUgPSB7CiAKICAgICBfc3RhcnRSZXNvdXJjZTogZnVuY3Rpb24ocmVz
b3VyY2UpCiAgICAgewotICAgICAgICB0aGlzLl9pbmZsaWdodFJlc291cmNlc1tyZXNvdXJjZS5p
ZGVudGlmaWVyXSA9IHJlc291cmNlOworICAgICAgICB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5
SWRbcmVzb3VyY2UuaWRlbnRpZmllcl0gPSByZXNvdXJjZTsKKyAgICAgICAgdGhpcy5faW5mbGln
aHRSZXNvdXJjZXNCeVVSTFtyZXNvdXJjZS51cmxdID0gcmVzb3VyY2U7CiAgICAgICAgIHRoaXMu
X2Rpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZl
bnRUeXBlcy5SZXNvdXJjZVN0YXJ0ZWQsIHJlc291cmNlKTsKICAgICB9LAogCkBAIC0zMjUsNyAr
MzI2LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgcmVzb3VyY2UuZW5kVGltZSA9IGZpbmlzaFRpbWU7CiAgICAgICAgIHJlc291cmNlLmZp
bmlzaGVkID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlRmluaXNoZWQsIHJl
c291cmNlKTsKLSAgICAgICAgZGVsZXRlIHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW3Jlc291cmNl
LmlkZW50aWZpZXJdOworICAgICAgICBkZWxldGUgdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlk
W3Jlc291cmNlLmlkZW50aWZpZXJdOworICAgICAgICBkZWxldGUgdGhpcy5faW5mbGlnaHRSZXNv
dXJjZXNCeVVSTFtyZXNvdXJjZS5pZGVudGlmaWVyXTsKICAgICB9LAogCiAgICAgX2FkZEZyYW1l
c1JlY3Vyc2l2ZWx5OiBmdW5jdGlvbihmcmFtZVBheWxvYWQpCkBAIC0zNjQsMTAgKzM2Niw4IEBA
IFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAg
ICAgICB2YXIgcmVzb3VyY2UgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlKGlkZW50aWZpZXIs
IHVybCk7CiAgICAgICAgIHJlc291cmNlLmxvYWRlciA9IGxvYWRlcjsKLSAgICAgICAgaWYgKGxv
YWRlcikgeworICAgICAgICBpZiAobG9hZGVyKQogICAgICAgICAgICAgcmVzb3VyY2UuZG9jdW1l
bnRVUkwgPSBsb2FkZXIudXJsOwotICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwu
YmluZFJlc291cmNlVVJMKHJlc291cmNlKTsKLSAgICAgICAgfQogICAgICAgICByZXNvdXJjZS5z
dGFja1RyYWNlID0gc3RhY2tUcmFjZTsKICAgICAgICAgcmV0dXJuIHJlc291cmNlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VU
cmVlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
VHJlZU1vZGVsLmpzCmluZGV4IDBhYzYzZjIuLmRhMmQ0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwpAQCAt
ODIsNiArODIsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VzQnlGcmFtZUlkW2ZyYW1lSWRdID0gcmVzb3Vy
Y2VzRm9yRnJhbWU7CiAgICAgICAgIH0KICAgICAgICAgcmVzb3VyY2VzRm9yRnJhbWUucHVzaChy
ZXNvdXJjZSk7CisgICAgICAgIHRoaXMuX2JpbmRSZXNvdXJjZVVSTChyZXNvdXJjZSk7CiAKICAg
ICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuYWRkUmVzb3VyY2VUb0ZyYW1lKGZy
YW1lSWQsIHJlc291cmNlKTsKICAgICB9LApAQCAtMTI5LDcgKzEzMCw3IEBAIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBlbnRyeTsK
ICAgICB9LAogCi0gICAgYmluZFJlc291cmNlVVJMOiBmdW5jdGlvbihyZXNvdXJjZSkKKyAgICBf
YmluZFJlc291cmNlVVJMOiBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB7CiAgICAgICAgIHZhciBy
ZXNvdXJjZUZvclVSTCA9IHRoaXMuX3Jlc291cmNlc0J5VVJMW3Jlc291cmNlLnVybF07CiAgICAg
ICAgIGlmICghcmVzb3VyY2VGb3JVUkwpCkBAIC0xNjksNyArMTcwLDcgQEAgV2ViSW5zcGVjdG9y
LlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBwcmVzZXJ2
ZWRSZXNvdXJjZXNGb3JGcmFtZS5wdXNoKHJlc291cmNlKTsKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRoaXMudW5iaW5kUmVzb3VyY2VVUkwo
cmVzb3VyY2UpOworICAgICAgICAgICAgdGhpcy5fdW5iaW5kUmVzb3VyY2VVUkwocmVzb3VyY2Up
OwogICAgICAgICB9CiAKICAgICAgICAgZGVsZXRlIHRoaXMuX3Jlc291cmNlc0J5RnJhbWVJZFtm
cmFtZUlkXTsKQEAgLTE5NSw3ICsxOTYsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9k
ZWwucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfSwKIAotICAgIHVu
YmluZFJlc291cmNlVVJMOiBmdW5jdGlvbihyZXNvdXJjZSkKKyAgICBfdW5iaW5kUmVzb3VyY2VV
Ukw6IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHsKICAgICAgICAgdmFyIHJlc291cmNlRm9yVVJM
ID0gdGhpcy5fcmVzb3VyY2VzQnlVUkxbcmVzb3VyY2UudXJsXTsKICAgICAgICAgaWYgKCFyZXNv
dXJjZUZvclVSTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Jlc291cmNlc1BhbmVsLmpzCmluZGV4IDY4ZjY1YzMuLjE3NDNlY2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAt
MzM4LDEyICszMzgsMTIgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9
IHsKIAogICAgIGNhblNob3dTb3VyY2VMaW5lOiBmdW5jdGlvbih1cmwsIGxpbmUpCiAgICAgewot
ICAgICAgICByZXR1cm4gISFXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwucmVzb3VyY2VG
b3JVUkwodXJsKTsKKyAgICAgICAgcmV0dXJuICEhV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJM
KHVybCk7CiAgICAgfSwKIAogICAgIHNob3dTb3VyY2VMaW5lOiBmdW5jdGlvbih1cmwsIGxpbmUp
CiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVl
TW9kZWwucmVzb3VyY2VGb3JVUkwodXJsKTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5z
cGVjdG9yLnJlc291cmNlRm9yVVJMKHVybCk7CiAgICAgICAgIGlmIChyZXNvdXJjZS50eXBlID09
PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5YSFIpIHsKICAgICAgICAgICAgIC8vIFNob3cg
WEhScyBpbiB0aGUgbmV0d29yayBwYW5lbCBvbmx5LgogICAgICAgICAgICAgaWYgKFdlYkluc3Bl
Y3Rvci5wYW5lbHMubmV0d29yayAmJiBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuY2FuU2hv
d1NvdXJjZUxpbmUodXJsLCBsaW5lKSkgewpAQCAtMzUyLDcgKzM1Miw3IEBAIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgdGhpcy5zaG93UmVzb3VyY2UoV2ViSW5zcGVj
dG9yLnJlc291cmNlVHJlZU1vZGVsLnJlc291cmNlRm9yVVJMKHVybCksIGxpbmUpOworICAgICAg
ICB0aGlzLnNob3dSZXNvdXJjZShXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwodXJsKSwgbGlu
ZSk7CiAgICAgfSwKIAogICAgIHNob3dSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UsIGxpbmUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQ
YW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVs
LmpzCmluZGV4IDYzYTQwODUuLmZkY2NlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC0yNDIsOSArMjQyLDcgQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBfcGFyc2VkU2NyaXB0
U291cmNlOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHZhciBzb3VyY2VJRCA9IGV2
ZW50LmRhdGE7Ci0gICAgICAgIHZhciBzY3JpcHQgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5zY3JpcHRGb3JTb3VyY2VJRChzb3VyY2VJRCk7Ci0gICAgICAgIHRoaXMuX2FkZFNjcmlwdChz
Y3JpcHQpOworICAgICAgICB0aGlzLl9hZGRTY3JpcHQoZXZlbnQuZGF0YSk7CiAgICAgfSwKIAog
ICAgIF9mYWlsZWRUb1BhcnNlU2NyaXB0U291cmNlOiBmdW5jdGlvbihldmVudCkKQEAgLTI3NSw3
ICsyNzMsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAg
IF9hZGRTY3JpcHQ6IGZ1bmN0aW9uKHNjcmlwdCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJj
ZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZvclVSTChzY3JpcHQuc291cmNlVVJMKTsKKyAgICAg
ICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmluZmxpZ2h0UmVz
b3VyY2VGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCkgfHwgV2ViSW5zcGVjdG9yLnJlc291cmNlRm9y
VVJMKHNjcmlwdC5zb3VyY2VVUkwpOwogICAgICAgICBpZiAocmVzb3VyY2UpIHsKICAgICAgICAg
ICAgIGlmIChyZXNvdXJjZS5maW5pc2hlZCkgewogICAgICAgICAgICAgICAgIC8vIFJlc291cmNl
IGlzIGZpbmlzaGVkLCBiaW5kIHRoZSBzY3JpcHQgcmlnaHQgYXdheS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80049</attachid>
            <date>2011-01-25 04:42:52 -0800</date>
            <delta_ts>2011-01-25 04:47:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53013-20110125154249.patch</filename>
            <type>text/plain</type>
            <size>17462</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci1zY3JpcHRzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci1zY3JpcHRzLWV4cGVjdGVk
LnR4dAppbmRleCBkMmUzMTlkM2I4YWZmNzljMzY3NGQ0NDg4ZGYwZDU1MjlmN2Q2OTIxLi5mMDMx
YjdjNTQ3Yjc2YTdlZGQxYmY2NWFlMmFiMGQ3YzY5ODY3NzdjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItc2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXNjcmlwdHMtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMs
NyBAQCBUZXN0cyB0aGF0IHZhbGlkIHBhcnNlZCBzY3JpcHQgbm90aWZpY2F0aW9ucyBhcmUgcmVj
ZWl2ZWQgYnkgZnJvbnQtZW5kLiBCdWcgNTI3MgogRGVidWdnZXIgd2FzIGVuYWJsZWQuCiBzY3Jp
cHQgMToKICAgICBvZmZzZXQ6IDU6OAotICAgIGxlbmd0aDogMTA5NgorICAgIGxlbmd0aDogMTA1
MAogc2NyaXB0IDI6CiAgICAgb2Zmc2V0OiAzODoyMQogICAgIGxlbmd0aDogNTAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci1zY3JpcHRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItc2NyaXB0cy5odG1sCmluZGV4IGI2OWYyYjJmNDJlYzFi
YzNkMzkzNTViZGJhM2I0YjEwY2FlMzQxM2EuLjFiOGIyMzMxZjk4Zjc4N2I2NDMxNjI3OWQ0M2Ji
MDkxMjY1ZTJlZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci1z
Y3JpcHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXNjcmlwdHMu
aHRtbApAQCAtMTcsNyArMTcsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKIAogICAgIGZ1bmN0
aW9uIHN0ZXAyKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZvclNvdXJjZUlEKGV2ZW50LmRhdGEpOworICAgICAgICB2
YXIgc2NyaXB0ID0gZXZlbnQuZGF0YTsKICAgICAgICAgaWYgKHNjcmlwdC5zb3VyY2VVUkwgIT09
IFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2UudXJsKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBzY3JpcHRzLnB1c2goc2NyaXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NjFlMzIyNjY4YjI1NWE4
YjFmMzY5Y2E1OGIwMDI1NzViYmJlNmQwLi4yNjA2YjA1OTQ5MTBhMTY2MTRiNzFhZGNhM2FkYzQw
ODAwZWE4ZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDggQEAKIDIwMTEtMDEtMjQgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYmluZCByZXNvdXJjZXMg
dG8gVVJMcyB1cG9uIGFkZGluZyB0aGVtIGludG8gdGhlIHRyZWUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzAxMworCisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUuZG9SdW4uZXZhbENhbGxiYWNrLnNlbGVjdG9y
c0NhbGxiYWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuX3N0eWxl
U2hlZXRDaGFuZ2VkLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1v
ZGVsLnByb3RvdHlwZS5fc3R5bGVTaGVldENoYW5nZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1vZGVsLnByb3RvdHlwZS5fcGFyc2VkU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc0NhY2hlZFJlc291cmNlcyk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLmluZmxpZ2h0UmVzb3VyY2VG
b3JVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUud2lsbFNlbmRSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUu
bWFya1Jlc291cmNlQXNDYWNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNw
YXRjaGVyLnByb3RvdHlwZS5kaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5kaWRSZWNlaXZlQ29udGVudExlbmd0aCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmRpZEZp
bmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnBy
b3RvdHlwZS5kaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rp
c3BhdGNoZXIucHJvdG90eXBlLndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmRpZFJlY2Vp
dmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0
d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLmRpZENsb3NlV2ViU29ja2V0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUuX2FwcGVuZFJlZGlyZWN0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUuX3N0YXJ0
UmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3Rv
dHlwZS5fZmluaXNoUmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNw
YXRjaGVyLnByb3RvdHlwZS5fY3JlYXRlUmVzb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLmFkZFJlc291cmNlVG9GcmFtZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLl9iaW5kUmVzb3VyY2VVUkwp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5fY2xl
YXJSZXNvdXJjZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnBy
b3RvdHlwZS5fdW5iaW5kUmVzb3VyY2VVUkwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlLmNhblNob3dTb3VyY2VMaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuc2hvd1NvdXJjZUxpbmUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNj
cmlwdHNQYW5lbC5wcm90b3R5cGUuX3BhcnNlZFNjcmlwdFNvdXJjZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fYWRkU2NyaXB0KToKKworMjAxMS0wMS0y
NCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dHJh
Y3QgZGlzcGF0Y2ggQVBJIGZyb20gbmV0d29yayBtYW5hZ2VyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCmluZGV4IGMyYmJjYmI1N2YwOTE4
NGNiOGU1OTkzZWNkYjg4MjU2MzQ5OThiMjEuLjA5YTFmZDcxNjZkMDM3MTdiZDM5NzFkZWIzNjY4
OTlkZjA4ZDkwNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQXVkaXRSdWxlcy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0UnVsZXMuanMKQEAgLTMyNiw3ICszMjYsNyBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxl
cy5VbnVzZWRDc3NSdWxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCF1
bnVzZWRSdWxlcy5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VU
cmVlTW9kZWwucmVzb3VyY2VGb3JVUkwoc3R5bGVTaGVldC5zb3VyY2VVUkwpOworICAgICAgICAg
ICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoc3R5
bGVTaGVldC5zb3VyY2VVUkwpOwogICAgICAgICAgICAgICAgICAgICB2YXIgaXNJbmxpbmVCbG9j
ayA9IHJlc291cmNlICYmIHJlc291cmNlLnR5cGUgPT0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5
cGUuRG9jdW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAhaXNJbmxpbmVCbG9j
ayA/IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVSZXN1bHQubGlua2lmeURpc3BsYXlOYW1lKHN0eWxl
U2hlZXQuc291cmNlVVJMKSA6IFN0cmluZy5zcHJpbnRmKCJJbmxpbmUgYmxvY2sgIyVkIiwgKytp
bmxpbmVCbG9ja09yZGluYWwpOwogICAgICAgICAgICAgICAgICAgICB2YXIgcGN0VW51c2VkID0g
TWF0aC5yb3VuZCgxMDAgKiB1bnVzZWRTdHlsZXNoZWV0U2l6ZSAvIHN0eWxlc2hlZXRTaXplKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVN
b2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2Rl
bC5qcwppbmRleCA0ZjIwNjYwYTg3NmUyOGZiZDBjNjdhYzQ0YzkxZDU0Y2JlMGRjNzQzLi5kN2I5
NTc2MjU5OWNiZThhZDcyMjdlODEwOTgxYWYzNjcwMTIyOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCkBAIC0xNjIsNyAr
MTYyLDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlID0gewogCiAgICAg
ICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGhyZWYsIGNvbnRlbnQpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5yZXNvdXJj
ZUZvclVSTChocmVmKTsKKyAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5y
ZXNvdXJjZUZvclVSTChocmVmKTsKICAgICAgICAgICAgIGlmIChyZXNvdXJjZSAmJiByZXNvdXJj
ZS50eXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0KQogICAgICAg
ICAgICAgICAgIHJlc291cmNlLnNldENvbnRlbnQoY29udGVudCwgdGhpcy5fb25SZXZlcnQuYmlu
ZCh0aGlzLCBzdHlsZVNoZWV0SWQpKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IDIxMTJmZDE4N2Fm
N2RiNDY5ZjVjNjVjMzBhOGNmYmQ1NTg2N2NiMTQuLjMyZDI4ZTcxMjk0YWM3NGM1NzhiZDQ0OGI2
Nzg4MGE0ZWJlYTk2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGVidWdnZXJNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKQEAgLTI0Nyw3ICsyNDcsNyBAQCBXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgc2NyaXB0ID0g
bmV3IFdlYkluc3BlY3Rvci5TY3JpcHQoc291cmNlSUQsIHNvdXJjZVVSTCwgIiIsIGxpbmVPZmZz
ZXQsIGNvbHVtbk9mZnNldCwgbGVuZ3RoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgc2NyaXB0V29y
bGRUeXBlKTsKICAgICAgICAgdGhpcy5fc2NyaXB0c1tzb3VyY2VJRF0gPSBzY3JpcHQ7Ci0gICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1v
ZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNvdXJjZUlEKTsKKyAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRz
LlBhcnNlZFNjcmlwdFNvdXJjZSwgc2NyaXB0KTsKICAgICB9LAogCiAgICAgX2ZhaWxlZFRvUGFy
c2VTY3JpcHRTb3VyY2U6IGZ1bmN0aW9uKHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUs
IGVycm9yTGluZSwgZXJyb3JNZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMKaW5kZXggNjhmMDNjODNmZTk1ZjhiYzgx
MjcyZWNjNzhjYjNjZDZlYWJmOTFiMi4uZDI0NTJkZjRhOGJhYjkzNWE3OGI1MmMyMmQ5NDQ0YjM0
NWQ2OTMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtNYW5hZ2VyLmpzCkBAIC02MSw2ICs2MSwxMSBAQCBXZWJJbnNwZWN0b3IuTmV0d29y
a01hbmFnZXIucHJvdG90eXBlID0gewogICAgICAgICB2YXIgbWFpblJlc291cmNlID0gdGhpcy5f
ZGlzcGF0Y2hlci5fYWRkRnJhbWVzUmVjdXJzaXZlbHkobWFpbkZyYW1lUGF5bG9hZCk7CiAgICAg
ICAgIFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2UgPSBtYWluUmVzb3VyY2U7CiAgICAgICAgIG1h
aW5SZXNvdXJjZS5pc01haW5SZXNvdXJjZSA9IHRydWU7CisgICAgfSwKKworICAgIGluZmxpZ2h0
UmVzb3VyY2VGb3JVUkw6IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll9kaXNwYXRjaGVyLl9pbmZsaWdodFJlc291cmNlc0J5VVJMW3VybF07CiAgICAgfQogfQogCkBA
IC02OSw3ICs3NCw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CiBXZWJJbnNwZWN0b3IuTmV0
d29ya0Rpc3BhdGNoZXIgPSBmdW5jdGlvbihyZXNvdXJjZVRyZWVNb2RlbCwgbWFuYWdlcikKIHsK
ICAgICB0aGlzLl9tYW5hZ2VyID0gbWFuYWdlcjsKLSAgICB0aGlzLl9pbmZsaWdodFJlc291cmNl
cyA9IHt9OworICAgIHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZCA9IHt9OworICAgIHRoaXMu
X2luZmxpZ2h0UmVzb3VyY2VzQnlVUkwgPSB7fTsKICAgICB0aGlzLl9yZXNvdXJjZVRyZWVNb2Rl
bCA9IHJlc291cmNlVHJlZU1vZGVsOwogICAgIHRoaXMuX2xhc3RJZGVudGlmaWVyRm9yQ2FjaGVk
UmVzb3VyY2UgPSAwOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRj
aGVyKCJOZXR3b3JrIiwgdGhpcyk7CkBAIC0xMjgsNyArMTM0LDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKIAogICAgIHdpbGxTZW5kUmVxdWVzdDogZnVu
Y3Rpb24oaWRlbnRpZmllciwgdGltZSwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSkKICAgICB7
Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZp
ZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRb
aWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47
CiAKQEAgLTE1MSw3ICsxNTcsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJv
dG90eXBlID0gewogCiAgICAgbWFya1Jlc291cmNlQXNDYWNoZWQ6IGZ1bmN0aW9uKGlkZW50aWZp
ZXIpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNl
c1tpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNv
dXJjZXNCeUlkW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xNjEsNyArMTY3LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNw
YXRjaGVyLnByb3RvdHlwZSA9IHsKIAogICAgIGRpZFJlY2VpdmVSZXNwb25zZTogZnVuY3Rpb24o
aWRlbnRpZmllciwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKICAgICB7Ci0gICAgICAg
IHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOworICAg
ICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmll
cl07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE3
Niw3ICsxODIsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0g
ewogCiAgICAgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGg6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRp
bWUsIGxlbmd0aFJlY2VpdmVkKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5f
aW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRo
aXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKICAgICAgICAgaWYgKCFyZXNv
dXJjZSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMTg4LDcgKzE5NCw3IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAKICAgICBkaWRGaW5pc2hMb2Fk
aW5nOiBmdW5jdGlvbihpZGVudGlmaWVyLCBmaW5pc2hUaW1lKQogICAgIHsKLSAgICAgICAgdmFy
IHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CisgICAgICAg
IHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsK
ICAgICAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMTk3LDcg
KzIwMyw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAK
ICAgICBkaWRGYWlsTG9hZGluZzogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSwgbG9jYWxpemVk
RGVzY3JpcHRpb24pCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdo
dFJlc291cmNlc1tpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5m
bGlnaHRSZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQog
ICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0yNTYsNyArMjYyLDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKIAogICAgIHdpbGxTZW5kV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdDogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSwgcmVxdWVzdCkKICAgICB7
Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZp
ZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRb
aWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47
CiAKQEAgLTI3MCw3ICsyNzYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJv
dG90eXBlID0gewogCiAgICAgZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOiBm
dW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZXNwb25zZSkKICAgICB7Ci0gICAgICAgIHZhciBy
ZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOworICAgICAgICB2
YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CiAg
ICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTI4NSw3ICsy
OTEsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogCiAg
ICAgZGlkQ2xvc2VXZWJTb2NrZXQ6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRpbWUpCiAgICAgewot
ICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNlc1tpZGVudGlmaWVy
XTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW2lk
ZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB0aGlzLl9maW5pc2hSZXNvdXJjZShyZXNvdXJjZSwgdGltZSk7CkBAIC0yOTMsMTcg
KzI5OSwxMSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewog
CiAgICAgX2FwcGVuZFJlZGlyZWN0OiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZWRpcmVj
dFVSTCkKICAgICB7Ci0gICAgICAgIHZhciBvcmlnaW5hbFJlc291cmNlID0gdGhpcy5faW5mbGln
aHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CisgICAgICAgIHZhciBvcmlnaW5hbFJlc291cmNlID0g
dGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOwogICAgICAgICB2YXIgcHJl
dmlvdXNSZWRpcmVjdHMgPSBvcmlnaW5hbFJlc291cmNlLnJlZGlyZWN0cyB8fCBbXTsKICAgICAg
ICAgb3JpZ2luYWxSZXNvdXJjZS5pZGVudGlmaWVyID0gInJlZGlyZWN0ZWQ6IiArIGlkZW50aWZp
ZXIgKyAiLiIgKyBwcmV2aW91c1JlZGlyZWN0cy5sZW5ndGg7CiAgICAgICAgIGRlbGV0ZSBvcmln
aW5hbFJlc291cmNlLnJlZGlyZWN0czsKICAgICAgICAgdGhpcy5fZmluaXNoUmVzb3VyY2Uob3Jp
Z2luYWxSZXNvdXJjZSwgdGltZSk7Ci0gICAgICAgIC8vIFdlIGJvdW5kIHJlc291cmNlIGVhcmx5
LCBidXQgaXQgaGFwcGVuZWQgdG8gYmUgYSByZWRpcmVjdCBhbmQgd29uJ3QgbWFrZSBpdCB0aHJv
dWdoIHRvCi0gICAgICAgIC8vIHRoZSByZXNvdXJjZSB0cmVlIC0tIHNvIHVuYmluZCBpdC4KLSAg
ICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiaW5kIHVwb24gYWRkaW5nIHRvIHRoZSB0cmVlIG9u
bHkgKGVuY2Fwc3VsYXRlZCBpbnRvIFJlc291cmNlVHJlZU1vZGVsKSwKLSAgICAgICAgLy8gU2Ny
aXB0IGRlYnVnZ2VyIHNob3VsZCBkbyBleHBsaWNpdCBsYXRlIGJpbmRpbmcgb24gaXRzIG93bi4K
LSAgICAgICAgdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwudW5iaW5kUmVzb3VyY2VVUkwob3JpZ2lu
YWxSZXNvdXJjZSk7Ci0gICAgICAgIAogICAgICAgICB2YXIgbmV3UmVzb3VyY2UgPSB0aGlzLl9j
cmVhdGVSZXNvdXJjZShpZGVudGlmaWVyLCByZWRpcmVjdFVSTCwgb3JpZ2luYWxSZXNvdXJjZS5s
b2FkZXIsIG9yaWdpbmFsUmVzb3VyY2Uuc3RhY2tUcmFjZSk7CiAgICAgICAgIG5ld1Jlc291cmNl
LnJlZGlyZWN0cyA9IHByZXZpb3VzUmVkaXJlY3RzLmNvbmNhdChvcmlnaW5hbFJlc291cmNlKTsK
ICAgICAgICAgcmV0dXJuIG5ld1Jlc291cmNlOwpAQCAtMzExLDcgKzMxMSw4IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAKICAgICBfc3RhcnRSZXNvdXJj
ZTogZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgewotICAgICAgICB0aGlzLl9pbmZsaWdodFJlc291
cmNlc1tyZXNvdXJjZS5pZGVudGlmaWVyXSA9IHJlc291cmNlOworICAgICAgICB0aGlzLl9pbmZs
aWdodFJlc291cmNlc0J5SWRbcmVzb3VyY2UuaWRlbnRpZmllcl0gPSByZXNvdXJjZTsKKyAgICAg
ICAgdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNCeVVSTFtyZXNvdXJjZS51cmxdID0gcmVzb3VyY2U7
CiAgICAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuTmV0
d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZVN0YXJ0ZWQsIHJlc291cmNlKTsKICAgICB9
LAogCkBAIC0zMjUsNyArMzI2LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgcmVzb3VyY2UuZW5kVGltZSA9IGZpbmlzaFRpbWU7CiAgICAg
ICAgIHJlc291cmNlLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291
cmNlRmluaXNoZWQsIHJlc291cmNlKTsKLSAgICAgICAgZGVsZXRlIHRoaXMuX2luZmxpZ2h0UmVz
b3VyY2VzW3Jlc291cmNlLmlkZW50aWZpZXJdOworICAgICAgICBkZWxldGUgdGhpcy5faW5mbGln
aHRSZXNvdXJjZXNCeUlkW3Jlc291cmNlLmlkZW50aWZpZXJdOworICAgICAgICBkZWxldGUgdGhp
cy5faW5mbGlnaHRSZXNvdXJjZXNCeVVSTFtyZXNvdXJjZS51cmxdOwogICAgIH0sCiAKICAgICBf
YWRkRnJhbWVzUmVjdXJzaXZlbHk6IGZ1bmN0aW9uKGZyYW1lUGF5bG9hZCkKQEAgLTM2NCwxMCAr
MzY2LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAg
ICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2UoaWRl
bnRpZmllciwgdXJsKTsKICAgICAgICAgcmVzb3VyY2UubG9hZGVyID0gbG9hZGVyOwotICAgICAg
ICBpZiAobG9hZGVyKSB7CisgICAgICAgIGlmIChsb2FkZXIpCiAgICAgICAgICAgICByZXNvdXJj
ZS5kb2N1bWVudFVSTCA9IGxvYWRlci51cmw7Ci0gICAgICAgICAgICB0aGlzLl9yZXNvdXJjZVRy
ZWVNb2RlbC5iaW5kUmVzb3VyY2VVUkwocmVzb3VyY2UpOwotICAgICAgICB9CiAgICAgICAgIHJl
c291cmNlLnN0YWNrVHJhY2UgPSBzdGFja1RyYWNlOwogICAgICAgICByZXR1cm4gcmVzb3VyY2U7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZVRyZWVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VUcmVlTW9kZWwuanMKaW5kZXggMGFjNjNmMmVkNzFhMzM2YzA3Njg5NTZmYTY0Yjc3
OTY4OWUzZDY5Yi4uZGEyZDQ3YThjMDVhYmE3YzlhNTEyODM5ZTUzMDkzZDBjZDgyOGE2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVN
b2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
VHJlZU1vZGVsLmpzCkBAIC04Miw2ICs4Miw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9yZXNvdXJjZXNCeUZyYW1lSWRb
ZnJhbWVJZF0gPSByZXNvdXJjZXNGb3JGcmFtZTsKICAgICAgICAgfQogICAgICAgICByZXNvdXJj
ZXNGb3JGcmFtZS5wdXNoKHJlc291cmNlKTsKKyAgICAgICAgdGhpcy5fYmluZFJlc291cmNlVVJM
KHJlc291cmNlKTsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5hZGRS
ZXNvdXJjZVRvRnJhbWUoZnJhbWVJZCwgcmVzb3VyY2UpOwogICAgIH0sCkBAIC0xMjksNyArMTMw
LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgcmV0dXJuIGVudHJ5OwogICAgIH0sCiAKLSAgICBiaW5kUmVzb3VyY2VVUkw6IGZ1bmN0aW9u
KHJlc291cmNlKQorICAgIF9iaW5kUmVzb3VyY2VVUkw6IGZ1bmN0aW9uKHJlc291cmNlKQogICAg
IHsKICAgICAgICAgdmFyIHJlc291cmNlRm9yVVJMID0gdGhpcy5fcmVzb3VyY2VzQnlVUkxbcmVz
b3VyY2UudXJsXTsKICAgICAgICAgaWYgKCFyZXNvdXJjZUZvclVSTCkKQEAgLTE2OSw3ICsxNzAs
NyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgICAgIHByZXNlcnZlZFJlc291cmNlc0ZvckZyYW1lLnB1c2gocmVzb3VyY2UpOwogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhpcy51
bmJpbmRSZXNvdXJjZVVSTChyZXNvdXJjZSk7CisgICAgICAgICAgICB0aGlzLl91bmJpbmRSZXNv
dXJjZVVSTChyZXNvdXJjZSk7CiAgICAgICAgIH0KIAogICAgICAgICBkZWxldGUgdGhpcy5fcmVz
b3VyY2VzQnlGcmFtZUlkW2ZyYW1lSWRdOwpAQCAtMTk1LDcgKzE5Niw3IEBAIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9LAogCi0gICAgdW5iaW5kUmVzb3VyY2VVUkw6IGZ1bmN0aW9uKHJlc291cmNlKQorICAg
IF91bmJpbmRSZXNvdXJjZVVSTDogZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgewogICAgICAgICB2
YXIgcmVzb3VyY2VGb3JVUkwgPSB0aGlzLl9yZXNvdXJjZXNCeVVSTFtyZXNvdXJjZS51cmxdOwog
ICAgICAgICBpZiAoIXJlc291cmNlRm9yVVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXggNjhmNjVjMzZjNmFlOGE3
ZmFmOTFjYWVkYmFkYTI4MWRiNDVjZDFhNi4uMTc0M2VjZTk5M2QwMDI3NzEwMWIzYjc0OTljNDUy
NjQzYTZkNjRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZXNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0zMzgsMTIgKzMzOCwxMiBAQCBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgY2FuU2hvd1NvdXJjZUxpbmU6IGZ1
bmN0aW9uKHVybCwgbGluZSkKICAgICB7Ci0gICAgICAgIHJldHVybiAhIVdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgICAgICByZXR1cm4gISFX
ZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwodXJsKTsKICAgICB9LAogCiAgICAgc2hvd1NvdXJj
ZUxpbmU6IGZ1bmN0aW9uKHVybCwgbGluZSkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5yZXNvdXJjZUZvclVSTCh1cmwpOworICAg
ICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwodXJsKTsKICAg
ICAgICAgaWYgKHJlc291cmNlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLlhI
UikgewogICAgICAgICAgICAgLy8gU2hvdyBYSFJzIGluIHRoZSBuZXR3b3JrIHBhbmVsIG9ubHku
CiAgICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrICYmIFdlYkluc3Bl
Y3Rvci5wYW5lbHMubmV0d29yay5jYW5TaG93U291cmNlTGluZSh1cmwsIGxpbmUpKSB7CkBAIC0z
NTIsNyArMzUyLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICB0
aGlzLnNob3dSZXNvdXJjZShXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwucmVzb3VyY2VG
b3JVUkwodXJsKSwgbGluZSk7CisgICAgICAgIHRoaXMuc2hvd1Jlc291cmNlKFdlYkluc3BlY3Rv
ci5yZXNvdXJjZUZvclVSTCh1cmwpLCBsaW5lKTsKICAgICB9LAogCiAgICAgc2hvd1Jlc291cmNl
OiBmdW5jdGlvbihyZXNvdXJjZSwgbGluZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggNjNhNDA4NTlmZDMyMjA5OWU2NzZm
OGIxY2YxMzBlY2Q4NGEyOWRlMS4uZmRjY2UzN2M2Y2QxMGExZDBlMjJjN2Q2ZDQzNTRhM2QxZWVj
ODlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRzUGFuZWwuanMKQEAgLTI0Miw5ICsyNDIsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVs
LnByb3RvdHlwZSA9IHsKIAogICAgIF9wYXJzZWRTY3JpcHRTb3VyY2U6IGZ1bmN0aW9uKGV2ZW50
KQogICAgIHsKLSAgICAgICAgdmFyIHNvdXJjZUlEID0gZXZlbnQuZGF0YTsKLSAgICAgICAgdmFy
IHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZvclNvdXJjZUlEKHNv
dXJjZUlEKTsKLSAgICAgICAgdGhpcy5fYWRkU2NyaXB0KHNjcmlwdCk7CisgICAgICAgIHRoaXMu
X2FkZFNjcmlwdChldmVudC5kYXRhKTsKICAgICB9LAogCiAgICAgX2ZhaWxlZFRvUGFyc2VTY3Jp
cHRTb3VyY2U6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtMjc1LDcgKzI3Myw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgX2FkZFNjcmlwdDogZnVuY3Rpb24o
c2NyaXB0KQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291
cmNlRm9yVVJMKHNjcmlwdC5zb3VyY2VVUkwpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJ
bnNwZWN0b3IubmV0d29ya01hbmFnZXIuaW5mbGlnaHRSZXNvdXJjZUZvclVSTChzY3JpcHQuc291
cmNlVVJMKSB8fCBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCk7
CiAgICAgICAgIGlmIChyZXNvdXJjZSkgewogICAgICAgICAgICAgaWYgKHJlc291cmNlLmZpbmlz
aGVkKSB7CiAgICAgICAgICAgICAgICAgLy8gUmVzb3VyY2UgaXMgZmluaXNoZWQsIGJpbmQgdGhl
IHNjcmlwdCByaWdodCBhd2F5Lgo=
</data>
<flag name="review"
          id="71514"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>