<?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>150887</bug_id>
          
          <creation_ts>2015-11-04 02:06:28 -0800</creation_ts>
          <short_desc>[Streams API] Shield streams against user replacing the Promise constructor</short_desc>
          <delta_ts>2015-11-04 03:16:48 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1139298</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-04 02:06:28 -0800</bug_when>
    <thetext>[Streams API] Shield streams against user replacing the Promise constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139299</commentid>
    <comment_count>1</comment_count>
      <attachid>264782</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-04 02:08:34 -0800</bug_when>
    <thetext>Created attachment 264782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139301</commentid>
    <comment_count>2</comment_count>
      <attachid>264783</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-04 02:23:08 -0800</bug_when>
    <thetext>Created attachment 264783
Patch

Added test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139311</commentid>
    <comment_count>3</comment_count>
      <attachid>264783</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-04 03:16:44 -0800</bug_when>
    <thetext>Comment on attachment 264783
Patch

Clearing flags on attachment: 264783

Committed r192021: &lt;http://trac.webkit.org/changeset/192021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139312</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-04 03:16:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264782</attachid>
            <date>2015-11-04 02:08:34 -0800</date>
            <delta_ts>2015-11-04 02:23:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150887-20151104110736.patch</filename>
            <type>text/plain</type>
            <size>15333</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg1YjE4MDQ3MmNkMTk3
NzAxMTViZTAyZWE5NzZkZTllMzBhMGIwZi4uYTNiNGU4MDk1OGU4ZDQwZDBlN2I0ZmZlOWYyN2Jj
MDAwYzEwYmU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTExLTA0ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0
cmVhbXMgQVBJXSBTaGllbGQgc3RyZWFtcyBhZ2FpbnN0IHVzZXIgcmVwbGFjaW5nIHRoZSBQcm9t
aXNlIGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTA4ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaXRoIHRoaXMgcmV3b3JrLCB3ZSBzaGllbGQgdGhlIFN0cmVhbXMgaW1wbGVtZW50
YXRpb24gYWdhaW5zdCB0aGUgdXNlciBkb2luZyBzb21ldGhpbmcgbGlrZSAiUHJvbWlzZSA9Cisg
ICAgICAgIGZ1bmN0aW9uKCkgeyAvKiBkbyBnYXJiYWdlICovIH07Ii4KKworICAgICAgICBSZXdv
cmssIGN1cnJlbnQgdGVzdHMgc3VmZmljZS4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZVN0cmVhbS5qczoKKyAgICAgICAgKGluaXRpYWxpemVSZWFkYWJsZVN0cmVhbSk6Cisg
ICAgICAgIChjYW5jZWwpOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1S
ZWFkZXIpOgorICAgICAgICAoY2FuY2VsUmVhZGFibGVTdHJlYW0pOgorICAgICAgICAocmVhZEZy
b21SZWFkYWJsZVN0cmVhbVJlYWRlcik6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtUmVhZGVyLmpzOgorICAgICAgICAoY2FuY2VsKToKKyAgICAgICAgKHJlYWQpOgor
ICAgICAgICAoY2xvc2VkKToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJu
YWxzLmpzOgorICAgICAgICAocHJvbWlzZUludm9rZU9yTm9vcCk6CisgICAgICAgIChwcm9taXNl
SW52b2tlT3JGYWxsYmFja09yTm9vcCk6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dyaXRh
YmxlU3RyZWFtLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKToKKyAgICAg
ICAgKGFib3J0KToKKyAgICAgICAgKGNsb3NlKToKKyAgICAgICAgKHdyaXRlKToKKyAgICAgICAg
KGNsb3NlZCk6CisgICAgICAgIChyZWFkeSk6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dy
aXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAoc3luY1dyaXRhYmxlU3RyZWFtU3Rh
dGVXaXRoUXVldWUpOgorCiAyMDE1LTExLTA0ICBGcmVkZXJpYyBXYW5nICA8ZnJlZC53YW5nQGZy
ZWUuZnI+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRoZSBVU0VfVFlQT19NRVRSSUNTIGZs
YWcgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW0uanMKaW5kZXggYTM2YTY4YmUyODFjMWJmNzM1ZGJhYjcxNzQyZjcxMTYxOTY2MmIyNS4u
Nzg1YTU1ZDFlZGM3ZjkyNzFlYmM1MzU3Yjg4NGQxN2MzNTRiMTdhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtNTYsNyArNTYs
NyBAQCBmdW5jdGlvbiBpbml0aWFsaXplUmVhZGFibGVTdHJlYW0odW5kZXJseWluZ1NvdXJjZSwg
c3RyYXRlZ3kpCiAKICAgICB2YXIgcmVzdWx0ID0gQGludm9rZU9yTm9vcCh1bmRlcmx5aW5nU291
cmNlLCAic3RhcnQiLCBbdGhpcy5AY29udHJvbGxlcl0pOwogICAgIHZhciBfdGhpcyA9IHRoaXM7
Ci0gICAgUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihmdW5jdGlvbigpIHsKKyAgICBAUHJv
bWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgX3RoaXMuQHN0
YXJ0ZWQgPSB0cnVlOwogICAgICAgICBAcmVxdWVzdFJlYWRhYmxlU3RyZWFtUHVsbChfdGhpcyk7
CiAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKQEAgLTcyLDEwICs3MiwxMCBAQCBmdW5jdGlvbiBj
YW5jZWwocmVhc29uKQogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVhZGFibGVT
dHJlYW0odGhpcykpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJv
cigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBhIFJlYWRhYmxlU3RyZWFtIikpOworICAg
ICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91
bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW0iKSk7CiAKICAgICBpZiAoQGlzUmVhZGFi
bGVTdHJlYW1Mb2NrZWQodGhpcykpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcg
QFR5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0gaXMgbG9ja2VkIikpOworICAgICAgICByZXR1cm4g
QFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbSBpcyBsb2NrZWQi
KSk7CiAKICAgICByZXR1cm4gQGNhbmNlbFJlYWRhYmxlU3RyZWFtKHRoaXMsIHJlYXNvbik7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHMuanMKaW5kZXggYzEzMDlhOWUxYTRmZWI0MDVkNzkzZGI2NzM5Y2YxZTQw
ZDQzZjE3Mi4uZjBmNzM4YjllZTQ1NWFlZGQ0NzI3NTQ0NjUzZTQ5OGY1NGYzYTRmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUludGVybmFscy5qcwpAQCAtNDIsMTkgKzQyLDE5IEBAIGZ1bmN0aW9uIHByaXZhdGVJbml0aWFs
aXplUmVhZGFibGVTdHJlYW1SZWFkZXIoc3RyZWFtKQogICAgICAgICB0aGlzLkBvd25lclJlYWRh
YmxlU3RyZWFtID0gc3RyZWFtOwogICAgICAgICB0aGlzLkBzdG9yZWRFcnJvciA9IHVuZGVmaW5l
ZDsKICAgICAgICAgc3RyZWFtLkByZWFkZXIgPSB0aGlzOwotICAgICAgICB0aGlzLkBjbG9zZWRQ
cm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShQcm9taXNlKTsKKyAgICAg
ICAgdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHko
QFByb21pc2UpOwogICAgICAgICByZXR1cm4gdGhpczsKICAgICB9CiAgICAgaWYgKHN0cmVhbS5A
c3RhdGUgPT09IEBzdHJlYW1DbG9zZWQpIHsKICAgICAgICAgdGhpcy5Ab3duZXJSZWFkYWJsZVN0
cmVhbSA9IG51bGw7CiAgICAgICAgIHRoaXMuQHN0b3JlZEVycm9yID0gdW5kZWZpbmVkOwotICAg
ICAgICB0aGlzLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IHsgQHByb21pc2U6IFByb21pc2Uu
cmVzb2x2ZSh1bmRlZmluZWQpIH07CisgICAgICAgIHRoaXMuQGNsb3NlZFByb21pc2VDYXBhYmls
aXR5ID0geyBAcHJvbWlzZTogQFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpIH07CiAgICAgICAg
IHJldHVybiB0aGlzOwogICAgIH0KICAgICAvLyBGSVhNRTogQVNTRVJUKHN0cmVhbS5Ac3RhdGUg
PT09IEBzdHJlYW1FcnJvcmVkKTsKICAgICB0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtID0gbnVs
bDsKICAgICB0aGlzLkBzdG9yZWRFcnJvciA9IHN0cmVhbS5Ac3RvcmVkRXJyb3I7Ci0gICAgdGhp
cy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkgPSB7IEBwcm9taXNlOiBQcm9taXNlLnJlamVjdChz
dHJlYW0uQHN0b3JlZEVycm9yKSB9OworICAgIHRoaXMuQGNsb3NlZFByb21pc2VDYXBhYmlsaXR5
ID0geyBAcHJvbWlzZTogQFByb21pc2UucmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3IpIH07CiAK
ICAgICByZXR1cm4gdGhpczsKIH0KQEAgLTI3NSw5ICsyNzUsOSBAQCBmdW5jdGlvbiBjYW5jZWxS
ZWFkYWJsZVN0cmVhbShzdHJlYW0sIHJlYXNvbikKICAgICAidXNlIHN0cmljdCI7CiAKICAgICBp
ZiAoc3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCkKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZSgpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVzb2x2ZSgpOwogICAgIGlm
IChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtRXJyb3JlZCkKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3IpOworICAgICAgICByZXR1cm4gQFByb21pc2Uu
cmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3IpOwogICAgIHN0cmVhbS5AcXVldWUgPSBAbmV3UXVl
dWUoKTsKICAgICBAZmluaXNoQ2xvc2luZ1JlYWRhYmxlU3RyZWFtKHN0cmVhbSk7CiAgICAgcmV0
dXJuIEBwcm9taXNlSW52b2tlT3JOb29wKHN0cmVhbS5AdW5kZXJseWluZ1NvdXJjZSwgImNhbmNl
bCIsIFtyZWFzb25dKS50aGVuKGZ1bmN0aW9uKCkgeyB9KTsKQEAgLTM1NCw5ICszNTQsOSBAQCBm
dW5jdGlvbiByZWFkRnJvbVJlYWRhYmxlU3RyZWFtUmVhZGVyKHJlYWRlcikKICAgICAidXNlIHN0
cmljdCI7CiAKICAgICBpZiAocmVhZGVyLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCkKLSAgICAg
ICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7dmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZX0p
OworICAgICAgICByZXR1cm4gQFByb21pc2UucmVzb2x2ZSh7dmFsdWU6IHVuZGVmaW5lZCwgZG9u
ZTogdHJ1ZX0pOwogICAgIGlmIChyZWFkZXIuQHN0YXRlID09PSBAc3RyZWFtRXJyb3JlZCkKLSAg
ICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlYWRlci5Ac3RvcmVkRXJyb3IpOworICAgICAg
ICByZXR1cm4gQFByb21pc2UucmVqZWN0KHJlYWRlci5Ac3RvcmVkRXJyb3IpOwogICAgIC8vIEZJ
WE1FOiBBU1NFUlQoISFyZWFkZXIuQG93bmVyUmVhZGFibGVTdHJlYW0pOwogICAgIC8vIEZJWE1F
OiBBU1NFUlQocmVhZGVyLkBvd25lclJlYWRhYmxlU3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbVJl
YWRhYmxlKTsKICAgICB2YXIgc3RyZWFtID0gcmVhZGVyLkBvd25lclJlYWRhYmxlU3RyZWFtOwpA
QCAtMzY2LDkgKzM2Niw5IEBAIGZ1bmN0aW9uIHJlYWRGcm9tUmVhZGFibGVTdHJlYW1SZWFkZXIo
cmVhZGVyKQogICAgICAgICAgICAgQHJlcXVlc3RSZWFkYWJsZVN0cmVhbVB1bGwoc3RyZWFtKTsK
ICAgICAgICAgZWxzZSBpZiAoIXN0cmVhbS5AcXVldWUuY29udGVudC5sZW5ndGgpCiAgICAgICAg
ICAgICBAZmluaXNoQ2xvc2luZ1JlYWRhYmxlU3RyZWFtKHN0cmVhbSk7Ci0gICAgICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUoe3ZhbHVlOiBjaHVuaywgZG9uZTogZmFsc2V9KTsKKyAgICAgICAg
cmV0dXJuIEBQcm9taXNlLnJlc29sdmUoe3ZhbHVlOiBjaHVuaywgZG9uZTogZmFsc2V9KTsKICAg
ICB9Ci0gICAgdmFyIHJlYWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0
eShQcm9taXNlKTsKKyAgICB2YXIgcmVhZFByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VD
YXBhYmlsaXR5KEBQcm9taXNlKTsKICAgICByZWFkZXIuQHJlYWRSZXF1ZXN0cy5wdXNoKHJlYWRQ
cm9taXNlQ2FwYWJpbGl0eSk7CiAgICAgQHJlcXVlc3RSZWFkYWJsZVN0cmVhbVB1bGwoc3RyZWFt
KTsKICAgICByZXR1cm4gcmVhZFByb21pc2VDYXBhYmlsaXR5LkBwcm9taXNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpz
CmluZGV4IDgxNWEyMjY3ZTM3Y2ZkMTdkNDk4YjI0NDBiNGMyNzhmYTI4NDI0N2UuLmM3NWFkYjJh
YTM4MTBlZWQ1ZGEwOTI0NGZlMTJiMGFjNzg1YmI0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1SZWFkZXIuanMKQEAgLTMwLDEz
ICszMCwxMyBAQCBmdW5jdGlvbiBjYW5jZWwocmVhc29uKQogICAgICJ1c2Ugc3RyaWN0IjsKIAog
ICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcykpCi0gICAgICAgIHJldHVybiBQ
cm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBv
biBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIikpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVq
ZWN0KG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFi
bGVTdHJlYW1SZWFkZXIiKSk7CiAKICAgICBpZiAodGhpcy5Ac3RhdGUgPT09IEBzdHJlYW1DbG9z
ZWQpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLnJlc29sdmUoKTsKIAogICAgIGlmICh0aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbUVycm9y
ZWQpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh0aGlzLkBzdG9yZWRFcnJvcik7Cisg
ICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QodGhpcy5Ac3RvcmVkRXJyb3IpOwogCiAgICAg
Ly8gRklYTUU6IEFTU0VSVChAaXNSZWFkYWJsZVN0cmVhbSh0aGlzLkBvd25lclJlYWRhYmxlU3Ry
ZWFtKSk7CiAgICAgLy8gRklYTUU6IEFTU0VSVCh0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtLkBz
dGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxlKTsKQEAgLTQ4LDcgKzQ4LDcgQEAgZnVuY3Rpb24gcmVh
ZCgpCiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVhbVJlYWRl
cih0aGlzKSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJG
dW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW1SZWFkZXIiKSk7Cisg
ICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QobmV3IEBUeXBlRXJyb3IoIkZ1bmN0aW9uIHNo
b3VsZCBiZSBjYWxsZWQgb24gYSBSZWFkYWJsZVN0cmVhbVJlYWRlciIpKTsKIAogICAgIHJldHVy
biBAcmVhZEZyb21SZWFkYWJsZVN0cmVhbVJlYWRlcih0aGlzKTsKIH0KQEAgLTc0LDcgKzc0LDcg
QEAgZnVuY3Rpb24gY2xvc2VkKCkKICAgICAidXNlIHN0cmljdCI7CiAKICAgICBpZiAoIUBpc1Jl
YWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3Qo
bmV3IEBUeXBlRXJyb3IoIkNhbGxlZSBvZiBjbG9zZWQgaXMgbm90IGEgUmVhZGFibGVTdHJlYW1S
ZWFkZXIiKSk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QobmV3IEBUeXBlRXJyb3Io
IkNhbGxlZSBvZiBjbG9zZWQgaXMgbm90IGEgUmVhZGFibGVTdHJlYW1SZWFkZXIiKSk7CiAKICAg
ICByZXR1cm4gdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJuYWxzLmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcwppbmRl
eCAwYmJmZjRlZmEzOGU0NmQ4MWJhOWEzMmVkOTMzOTk3ZWVhMzFlNzkzLi4wNDc1YzUxMGU3ZjBk
ZDJlOTUwODhmYjQ1YzY1N2FiOGI1YTA2ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQ0LDEyICs0NCwxMiBAQCBmdW5j
dGlvbiBwcm9taXNlSW52b2tlT3JOb29wKG9iamVjdCwga2V5LCBhcmdzKQogICAgIHRyeSB7CiAg
ICAgICAgIHZhciBtZXRob2QgPSBvYmplY3Rba2V5XTsKICAgICAgICAgaWYgKHR5cGVvZiBtZXRo
b2QgPT09ICJ1bmRlZmluZWQiKQotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
OworICAgICAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlc29sdmUoKTsKICAgICAgICAgdmFyIHJl
c3VsdCA9IG1ldGhvZC5AYXBwbHkob2JqZWN0LCBhcmdzKTsKLSAgICAgICAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZShyZXN1bHQpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVzb2x2ZShyZXN1
bHQpOwogICAgIH0KICAgICBjYXRjaChlcnJvcikgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5y
ZWplY3QoZXJyb3IpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KGVycm9yKTsKICAg
ICB9CiAKIH0KQEAgLTYzLDEwICs2MywxMCBAQCBmdW5jdGlvbiBwcm9taXNlSW52b2tlT3JGYWxs
YmFja09yTm9vcChvYmplY3QsIGtleTEsIGFyZ3MxLCBrZXkyLCBhcmdzMikKICAgICAgICAgaWYg
KHR5cGVvZiBtZXRob2QgPT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgcmV0dXJuIEBwcm9t
aXNlSW52b2tlT3JOb29wKG9iamVjdCwga2V5MiwgYXJnczIpOwogICAgICAgICBjb25zdCByZXN1
bHQgPSBtZXRob2QuQGFwcGx5KG9iamVjdCwgYXJnczEpOwotICAgICAgICByZXR1cm4gUHJvbWlz
ZS5yZXNvbHZlKHJlc3VsdCk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZXNvbHZlKHJlc3Vs
dCk7CiAgICAgfQogICAgIGNhdGNoKGVycm9yKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLnJl
amVjdChlcnJvcik7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QoZXJyb3IpOwogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRh
YmxlU3RyZWFtLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3Ry
ZWFtLmpzCmluZGV4IDlhZTU4ZDdjYTJjMWZiOTcxZDM4OTllYjFhODIwZDExNDUwZThkZjAuLjQ3
NjdhOWQzODEzMTlhNmFhZWM0OGZjZGY1NDNlN2FmNGQzMDI0ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKQEAgLTQyLDggKzQyLDgg
QEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKHVuZGVybHlpbmdTaW5rLCBzdHJh
dGVneSkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIldyaXRhYmxlU3RyZWFtIGNvbnN0
cnVjdG9yIHRha2VzIGFuIG9iamVjdCBhcyBzZWNvbmQgYXJndW1lbnQsIGlmIGFueSIpOwogCiAg
ICAgdGhpcy5AdW5kZXJseWluZ1NpbmsgPSB1bmRlcmx5aW5nU2luazsKLSAgICB0aGlzLkBjbG9z
ZWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShQcm9taXNlKTsKLSAg
ICB0aGlzLkByZWFkeVByb21pc2VDYXBhYmlsaXR5ID0geyBAcHJvbWlzZTogUHJvbWlzZS5yZXNv
bHZlKHVuZGVmaW5lZCkgfTsKKyAgICB0aGlzLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBu
ZXdQcm9taXNlQ2FwYWJpbGl0eShAUHJvbWlzZSk7CisgICAgdGhpcy5AcmVhZHlQcm9taXNlQ2Fw
YWJpbGl0eSA9IHsgQHByb21pc2U6IEBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKSB9OwogICAg
IHRoaXMuQHF1ZXVlID0gQG5ld1F1ZXVlKCk7CiAgICAgdGhpcy5Ac3RhdGUgPSBAc3RyZWFtV3Jp
dGFibGU7CiAgICAgdGhpcy5Ac3RhcnRlZCA9IGZhbHNlOwpAQCAtNTUsNyArNTUsNyBAQCBmdW5j
dGlvbiBpbml0aWFsaXplV3JpdGFibGVTdHJlYW0odW5kZXJseWluZ1NpbmssIHN0cmF0ZWd5KQog
CiAgICAgdmFyIGVycm9yID0gQGVycm9yV3JpdGFibGVTdHJlYW0uYmluZCh0aGlzKTsKICAgICB2
YXIgc3RhcnRSZXN1bHQgPSBAaW52b2tlT3JOb29wKHVuZGVybHlpbmdTaW5rLCAic3RhcnQiLCBb
ZXJyb3JdKTsKLSAgICB0aGlzLkBzdGFydGVkUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShzdGFy
dFJlc3VsdCk7CisgICAgdGhpcy5Ac3RhcnRlZFByb21pc2UgPSBAUHJvbWlzZS5yZXNvbHZlKHN0
YXJ0UmVzdWx0KTsKICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgIHRoaXMuQHN0YXJ0ZWRQcm9t
aXNlLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIF90aGlzLkBzdGFydGVkID0gdHJ1ZTsKQEAg
LTcwLDEzICs3MCwxMyBAQCBmdW5jdGlvbiBhYm9ydChyZWFzb24pCiAgICAgInVzZSBzdHJpY3Qi
OwogCiAgICAgaWYgKCFAaXNXcml0YWJsZVN0cmVhbSh0aGlzKSkKLSAgICAgICAgcmV0dXJuIFBy
b21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUgV3JpdGFibGVTdHJlYW0uYWJvcnQgbWV0
aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFdyaXRhYmxlU3RyZWFtIikpOwor
ICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUgV3JpdGFi
bGVTdHJlYW0uYWJvcnQgbWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFdy
aXRhYmxlU3RyZWFtIikpOwogCiAgICAgaWYgKHRoaXMuQHN0YXRlID09PSBAc3RyZWFtQ2xvc2Vk
KQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7CisgICAgICAgIHJl
dHVybiBAUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7CiAKICAgICBpZiAodGhpcy5Ac3RhdGUg
PT09IEBzdHJlYW1FcnJvcmVkKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QodGhpcy5A
c3RvcmVkRXJyb3IpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KHRoaXMuQHN0b3Jl
ZEVycm9yKTsKIAogICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBhcHBseSh0aGlzLCBbcmVhc29u
XSk7CiAKQEAgLTkwLDEzICs5MCwxMyBAQCBmdW5jdGlvbiBjbG9zZSgpCiAgICAgInVzZSBzdHJp
Y3QiOwogCiAgICAgaWYgKCFAaXNXcml0YWJsZVN0cmVhbSh0aGlzKSkKLSAgICAgICAgcmV0dXJu
IFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUgV3JpdGFibGVTdHJlYW0uY2xvc2Ug
bWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFdyaXRhYmxlU3RyZWFtIikp
OworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUgV3Jp
dGFibGVTdHJlYW0uY2xvc2UgbWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9m
IFdyaXRhYmxlU3RyZWFtIikpOwogCiAgICAgaWYgKHRoaXMuQHN0YXRlID09PSBAc3RyZWFtQ2xv
c2VkIHx8IHRoaXMuQHN0YXRlID09PSBAc3RyZWFtQ2xvc2luZykKLSAgICAgICAgcmV0dXJuIFBy
b21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJDYW5ub3QgY2xvc2UgYSBXcml0YWJsZVN0cmlu
ZyB0aGF0IGlzIGNsb3NlZCBvciBjbG9zaW5nIikpOworICAgICAgICByZXR1cm4gQFByb21pc2Uu
cmVqZWN0KG5ldyBAVHlwZUVycm9yKCJDYW5ub3QgY2xvc2UgYSBXcml0YWJsZVN0cmluZyB0aGF0
IGlzIGNsb3NlZCBvciBjbG9zaW5nIikpOwogCiAgICAgaWYgKHRoaXMuQHN0YXRlID09PSBAc3Ry
ZWFtRXJyb3JlZCkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHRoaXMuQHN0b3JlZEVy
cm9yKTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdCh0aGlzLkBzdG9yZWRFcnJvcik7
CiAKICAgICBpZiAodGhpcy5Ac3RhdGUgPT09IEBzdHJlYW1XYWl0aW5nKQogICAgICAgICB0aGlz
LkByZWFkeVByb21pc2VDYXBhYmlsaXR5LkByZXNvbHZlLkBjYWxsKHVuZGVmaW5lZCwgdW5kZWZp
bmVkKTsKQEAgLTExMywxMyArMTEzLDEzIEBAIGZ1bmN0aW9uIHdyaXRlKGNodW5rKQogICAgICJ1
c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzV3JpdGFibGVTdHJlYW0odGhpcykpCi0gICAgICAg
IHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxlU3RyZWFt
LmNsb3NlIG1ldGhvZCBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0
cmVhbSIpKTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigi
VGhlIFdyaXRhYmxlU3RyZWFtLmNsb3NlIG1ldGhvZCBjYW4gb25seSBiZSB1c2VkIG9uIGluc3Rh
bmNlcyBvZiBXcml0YWJsZVN0cmVhbSIpKTsKIAogICAgIGlmICh0aGlzLkBzdGF0ZSA9PT0gQHN0
cmVhbUNsb3NlZCB8fCB0aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NpbmcpCi0gICAgICAgIHJl
dHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIG9uIGEgV3Jp
dGFibGVTdHJpbmcgdGhhdCBpcyBjbG9zZWQgb3IgY2xvc2luZyIpKTsKKyAgICAgICAgcmV0dXJu
IEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIG9uIGEgV3JpdGFi
bGVTdHJpbmcgdGhhdCBpcyBjbG9zZWQgb3IgY2xvc2luZyIpKTsKIAogICAgIGlmICh0aGlzLkBz
dGF0ZSA9PT0gQHN0cmVhbUVycm9yZWQpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh0
aGlzLkBzdG9yZWRFcnJvcik7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QodGhpcy5A
c3RvcmVkRXJyb3IpOwogCiAgICAgLy8gRklYTUUKICAgICAvLyBhc3NlcnQodGhpcy5Ac3RhdGUg
PT09IEBzdHJlYW1Xcml0YWJsZSB8fCB0aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbVdhaXRpbmcpOwpA
QCAtMTMwLDE2ICsxMzAsMTYgQEAgZnVuY3Rpb24gd3JpdGUoY2h1bmspCiAgICAgICAgICAgICBj
aHVua1NpemUgPSB0aGlzLkBzdHJhdGVneS5zaXplLkBjYWxsKHVuZGVmaW5lZCwgY2h1bmspOwog
ICAgICAgICB9IGNhdGNoKGUpIHsKICAgICAgICAgICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBj
YWxsKHRoaXMsIGUpOwotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGUpOworICAg
ICAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdChlKTsKICAgICAgICAgfQogICAgIH0KIAot
ICAgIGNvbnN0IHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KFByb21p
c2UpOworICAgIGNvbnN0IHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5
KEBQcm9taXNlKTsKICAgICB0cnkgewogICAgICAgICBAZW5xdWV1ZVZhbHVlV2l0aFNpemUodGhp
cy5AcXVldWUsIHsgcHJvbWlzZUNhcGFiaWxpdHk6IHByb21pc2VDYXBhYmlsaXR5LCBjaHVuazog
Y2h1bmsgfSwgY2h1bmtTaXplKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIEBlcnJvcldy
aXRhYmxlU3RyZWFtLkBjYWxsKHRoaXMsIGUpOwotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QoZSk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QoZSk7CiAgICAgfQogCiAgICAg
QHN5bmNXcml0YWJsZVN0cmVhbVN0YXRlV2l0aFF1ZXVlKHRoaXMpOwpAQCAtMTUzLDcgKzE1Myw3
IEBAIGZ1bmN0aW9uIGNsb3NlZCgpCiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgaWYgKCFAaXNX
cml0YWJsZVN0cmVhbSh0aGlzKSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBA
VHlwZUVycm9yKCJUaGUgV3JpdGFibGVTdHJlYW0uY2xvc2VkIGdldHRlciBjYW4gb25seSBiZSB1
c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbSIpKTsKKyAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxlU3RyZWFtLmNsb3NlZCBn
ZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgV3JpdGFibGVTdHJlYW0iKSk7
CiAKICAgICByZXR1cm4gdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9
CkBAIC0xNjMsNyArMTYzLDcgQEAgZnVuY3Rpb24gcmVhZHkoKQogICAgICJ1c2Ugc3RyaWN0IjsK
IAogICAgIGlmICghQGlzV3JpdGFibGVTdHJlYW0odGhpcykpCi0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxlU3RyZWFtLnJlYWR5IGdldHRl
ciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbSIpKTsKKyAg
ICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxl
U3RyZWFtLnJlYWR5IGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0
YWJsZVN0cmVhbSIpKTsKIAogICAgIHJldHVybiB0aGlzLkByZWFkeVByb21pc2VDYXBhYmlsaXR5
LkBwcm9taXNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IDViODhkNzU1NzJhY2UzYTdlMDJm
OTdmYTQ3MTVkOTRjZjU1NGFmNDYuLjNjZGY5MmI2Nzk2MTYxNzI1Y2RmNGQ1MGM0YTc0NDM5YWUx
NmFkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJs
ZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
V3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24gc3lu
Y1dyaXRhYmxlU3RyZWFtU3RhdGVXaXRoUXVldWUoc3RyZWFtKQogICAgIGNvbnN0IHNob3VsZEFw
cGx5QmFja3ByZXNzdXJlID0gc3RyZWFtLkBxdWV1ZS5zaXplID4gc3RyZWFtLkBzdHJhdGVneS5o
aWdoV2F0ZXJNYXJrOwogICAgIGlmIChzaG91bGRBcHBseUJhY2twcmVzc3VyZSAmJiBzdHJlYW0u
QHN0YXRlID09PSBAc3RyZWFtV3JpdGFibGUpIHsKICAgICAgICAgc3RyZWFtLkBzdGF0ZSA9IEBz
dHJlYW1XYWl0aW5nOwotICAgICAgICBzdHJlYW0uQHJlYWR5UHJvbWlzZUNhcGFiaWxpdHkgPSBA
bmV3UHJvbWlzZUNhcGFiaWxpdHkoUHJvbWlzZSk7CisgICAgICAgIHN0cmVhbS5AcmVhZHlQcm9t
aXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShAUHJvbWlzZSk7CiAgICAgfQog
ICAgIGlmICghc2hvdWxkQXBwbHlCYWNrcHJlc3N1cmUgJiYgc3RyZWFtLkBzdGF0ZSA9PT0gQHN0
cmVhbVdhaXRpbmcpIHsKICAgICAgICAgc3RyZWFtLkBzdGF0ZSA9IEBzdHJlYW1Xcml0YWJsZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264783</attachid>
            <date>2015-11-04 02:23:08 -0800</date>
            <delta_ts>2015-11-04 03:16:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150887-20151104112210.patch</filename>
            <type>text/plain</type>
            <size>17173</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg1YjE4MDQ3MmNkMTk3
NzAxMTViZTAyZWE5NzZkZTllMzBhMGIwZi4uOGI2Y2NlOTM0ZGU1YTFmNmMwMzg5NzI1MDhhNjMw
ZGQ5NjkwNzY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTExLTA0ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0
cmVhbXMgQVBJXSBTaGllbGQgc3RyZWFtcyBhZ2FpbnN0IHVzZXIgcmVwbGFjaW5nIHRoZSBQcm9t
aXNlIGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTA4ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaXRoIHRoaXMgcmV3b3JrLCB3ZSBzaGllbGQgdGhlIFN0cmVhbXMgaW1wbGVtZW50
YXRpb24gYWdhaW5zdCB0aGUgdXNlciBkb2luZyBzb21ldGhpbmcgbGlrZSAiUHJvbWlzZSA9Cisg
ICAgICAgIGZ1bmN0aW9uKCkgeyAvKiBkbyBnYXJiYWdlICovIH07Ii4KKworICAgICAgICBUZXN0
OiBzdHJlYW1zL3N0cmVhbXMtcHJvbWlzZXMuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbS5qczoKKyAgICAgICAgKGluaXRpYWxpemVSZWFkYWJsZVN0cmVh
bSk6CisgICAgICAgIChjYW5jZWwpOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVT
dHJlYW1SZWFkZXIpOgorICAgICAgICAoY2FuY2VsUmVhZGFibGVTdHJlYW0pOgorICAgICAgICAo
cmVhZEZyb21SZWFkYWJsZVN0cmVhbVJlYWRlcik6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzOgorICAgICAgICAoY2FuY2VsKToKKyAgICAgICAgKHJl
YWQpOgorICAgICAgICAoY2xvc2VkKToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvU3RyZWFt
SW50ZXJuYWxzLmpzOgorICAgICAgICAocHJvbWlzZUludm9rZU9yTm9vcCk6CisgICAgICAgIChw
cm9taXNlSW52b2tlT3JGYWxsYmFja09yTm9vcCk6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1z
L1dyaXRhYmxlU3RyZWFtLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKToK
KyAgICAgICAgKGFib3J0KToKKyAgICAgICAgKGNsb3NlKToKKyAgICAgICAgKHdyaXRlKToKKyAg
ICAgICAgKGNsb3NlZCk6CisgICAgICAgIChyZWFkeSk6CisgICAgICAgICogTW9kdWxlcy9zdHJl
YW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAoc3luY1dyaXRhYmxlU3Ry
ZWFtU3RhdGVXaXRoUXVldWUpOgorCiAyMDE1LTExLTA0ICBGcmVkZXJpYyBXYW5nICA8ZnJlZC53
YW5nQGZyZWUuZnI+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRoZSBVU0VfVFlQT19NRVRS
SUNTIGZsYWcgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uanMKaW5kZXggYTM2YTY4YmUyODFjMWJmNzM1ZGJhYjcxNzQyZjcxMTYxOTY2
MmIyNS4uNzg1YTU1ZDFlZGM3ZjkyNzFlYmM1MzU3Yjg4NGQxN2MzNTRiMTdhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtNTYs
NyArNTYsNyBAQCBmdW5jdGlvbiBpbml0aWFsaXplUmVhZGFibGVTdHJlYW0odW5kZXJseWluZ1Nv
dXJjZSwgc3RyYXRlZ3kpCiAKICAgICB2YXIgcmVzdWx0ID0gQGludm9rZU9yTm9vcCh1bmRlcmx5
aW5nU291cmNlLCAic3RhcnQiLCBbdGhpcy5AY29udHJvbGxlcl0pOwogICAgIHZhciBfdGhpcyA9
IHRoaXM7Ci0gICAgUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihmdW5jdGlvbigpIHsKKyAg
ICBAUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgX3Ro
aXMuQHN0YXJ0ZWQgPSB0cnVlOwogICAgICAgICBAcmVxdWVzdFJlYWRhYmxlU3RyZWFtUHVsbChf
dGhpcyk7CiAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKQEAgLTcyLDEwICs3MiwxMCBAQCBmdW5j
dGlvbiBjYW5jZWwocmVhc29uKQogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVh
ZGFibGVTdHJlYW0odGhpcykpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5
cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBhIFJlYWRhYmxlU3RyZWFtIikp
OworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJGdW5jdGlv
biBzaG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW0iKSk7CiAKICAgICBpZiAoQGlz
UmVhZGFibGVTdHJlYW1Mb2NrZWQodGhpcykpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVj
dChuZXcgQFR5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0gaXMgbG9ja2VkIikpOworICAgICAgICBy
ZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbSBpcyBs
b2NrZWQiKSk7CiAKICAgICByZXR1cm4gQGNhbmNlbFJlYWRhYmxlU3RyZWFtKHRoaXMsIHJlYXNv
bik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggYzEzMDlhOWUxYTRmZWI0MDVkNzkzZGI2NzM5
Y2YxZTQwZDQzZjE3Mi4uZjBmNzM4YjllZTQ1NWFlZGQ0NzI3NTQ0NjUzZTQ5OGY1NGYzYTRmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbUludGVybmFscy5qcwpAQCAtNDIsMTkgKzQyLDE5IEBAIGZ1bmN0aW9uIHByaXZhdGVJ
bml0aWFsaXplUmVhZGFibGVTdHJlYW1SZWFkZXIoc3RyZWFtKQogICAgICAgICB0aGlzLkBvd25l
clJlYWRhYmxlU3RyZWFtID0gc3RyZWFtOwogICAgICAgICB0aGlzLkBzdG9yZWRFcnJvciA9IHVu
ZGVmaW5lZDsKICAgICAgICAgc3RyZWFtLkByZWFkZXIgPSB0aGlzOwotICAgICAgICB0aGlzLkBj
bG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShQcm9taXNlKTsK
KyAgICAgICAgdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFi
aWxpdHkoQFByb21pc2UpOwogICAgICAgICByZXR1cm4gdGhpczsKICAgICB9CiAgICAgaWYgKHN0
cmVhbS5Ac3RhdGUgPT09IEBzdHJlYW1DbG9zZWQpIHsKICAgICAgICAgdGhpcy5Ab3duZXJSZWFk
YWJsZVN0cmVhbSA9IG51bGw7CiAgICAgICAgIHRoaXMuQHN0b3JlZEVycm9yID0gdW5kZWZpbmVk
OwotICAgICAgICB0aGlzLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IHsgQHByb21pc2U6IFBy
b21pc2UucmVzb2x2ZSh1bmRlZmluZWQpIH07CisgICAgICAgIHRoaXMuQGNsb3NlZFByb21pc2VD
YXBhYmlsaXR5ID0geyBAcHJvbWlzZTogQFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpIH07CiAg
ICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KICAgICAvLyBGSVhNRTogQVNTRVJUKHN0cmVhbS5A
c3RhdGUgPT09IEBzdHJlYW1FcnJvcmVkKTsKICAgICB0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFt
ID0gbnVsbDsKICAgICB0aGlzLkBzdG9yZWRFcnJvciA9IHN0cmVhbS5Ac3RvcmVkRXJyb3I7Ci0g
ICAgdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkgPSB7IEBwcm9taXNlOiBQcm9taXNlLnJl
amVjdChzdHJlYW0uQHN0b3JlZEVycm9yKSB9OworICAgIHRoaXMuQGNsb3NlZFByb21pc2VDYXBh
YmlsaXR5ID0geyBAcHJvbWlzZTogQFByb21pc2UucmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3Ip
IH07CiAKICAgICByZXR1cm4gdGhpczsKIH0KQEAgLTI3NSw5ICsyNzUsOSBAQCBmdW5jdGlvbiBj
YW5jZWxSZWFkYWJsZVN0cmVhbShzdHJlYW0sIHJlYXNvbikKICAgICAidXNlIHN0cmljdCI7CiAK
ICAgICBpZiAoc3RyZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCkKLSAgICAgICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVzb2x2ZSgpOwog
ICAgIGlmIChzdHJlYW0uQHN0YXRlID09PSBAc3RyZWFtRXJyb3JlZCkKLSAgICAgICAgcmV0dXJu
IFByb21pc2UucmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3IpOworICAgICAgICByZXR1cm4gQFBy
b21pc2UucmVqZWN0KHN0cmVhbS5Ac3RvcmVkRXJyb3IpOwogICAgIHN0cmVhbS5AcXVldWUgPSBA
bmV3UXVldWUoKTsKICAgICBAZmluaXNoQ2xvc2luZ1JlYWRhYmxlU3RyZWFtKHN0cmVhbSk7CiAg
ICAgcmV0dXJuIEBwcm9taXNlSW52b2tlT3JOb29wKHN0cmVhbS5AdW5kZXJseWluZ1NvdXJjZSwg
ImNhbmNlbCIsIFtyZWFzb25dKS50aGVuKGZ1bmN0aW9uKCkgeyB9KTsKQEAgLTM1NCw5ICszNTQs
OSBAQCBmdW5jdGlvbiByZWFkRnJvbVJlYWRhYmxlU3RyZWFtUmVhZGVyKHJlYWRlcikKICAgICAi
dXNlIHN0cmljdCI7CiAKICAgICBpZiAocmVhZGVyLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NlZCkK
LSAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7dmFsdWU6IHVuZGVmaW5lZCwgZG9uZTog
dHJ1ZX0pOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVzb2x2ZSh7dmFsdWU6IHVuZGVmaW5l
ZCwgZG9uZTogdHJ1ZX0pOwogICAgIGlmIChyZWFkZXIuQHN0YXRlID09PSBAc3RyZWFtRXJyb3Jl
ZCkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlYWRlci5Ac3RvcmVkRXJyb3IpOwor
ICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KHJlYWRlci5Ac3RvcmVkRXJyb3IpOwogICAg
IC8vIEZJWE1FOiBBU1NFUlQoISFyZWFkZXIuQG93bmVyUmVhZGFibGVTdHJlYW0pOwogICAgIC8v
IEZJWE1FOiBBU1NFUlQocmVhZGVyLkBvd25lclJlYWRhYmxlU3RyZWFtLkBzdGF0ZSA9PT0gQHN0
cmVhbVJlYWRhYmxlKTsKICAgICB2YXIgc3RyZWFtID0gcmVhZGVyLkBvd25lclJlYWRhYmxlU3Ry
ZWFtOwpAQCAtMzY2LDkgKzM2Niw5IEBAIGZ1bmN0aW9uIHJlYWRGcm9tUmVhZGFibGVTdHJlYW1S
ZWFkZXIocmVhZGVyKQogICAgICAgICAgICAgQHJlcXVlc3RSZWFkYWJsZVN0cmVhbVB1bGwoc3Ry
ZWFtKTsKICAgICAgICAgZWxzZSBpZiAoIXN0cmVhbS5AcXVldWUuY29udGVudC5sZW5ndGgpCiAg
ICAgICAgICAgICBAZmluaXNoQ2xvc2luZ1JlYWRhYmxlU3RyZWFtKHN0cmVhbSk7Ci0gICAgICAg
IHJldHVybiBQcm9taXNlLnJlc29sdmUoe3ZhbHVlOiBjaHVuaywgZG9uZTogZmFsc2V9KTsKKyAg
ICAgICAgcmV0dXJuIEBQcm9taXNlLnJlc29sdmUoe3ZhbHVlOiBjaHVuaywgZG9uZTogZmFsc2V9
KTsKICAgICB9Ci0gICAgdmFyIHJlYWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2Fw
YWJpbGl0eShQcm9taXNlKTsKKyAgICB2YXIgcmVhZFByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1By
b21pc2VDYXBhYmlsaXR5KEBQcm9taXNlKTsKICAgICByZWFkZXIuQHJlYWRSZXF1ZXN0cy5wdXNo
KHJlYWRQcm9taXNlQ2FwYWJpbGl0eSk7CiAgICAgQHJlcXVlc3RSZWFkYWJsZVN0cmVhbVB1bGwo
c3RyZWFtKTsKICAgICByZXR1cm4gcmVhZFByb21pc2VDYXBhYmlsaXR5LkBwcm9taXNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVh
ZGVyLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVh
ZGVyLmpzCmluZGV4IDgxNWEyMjY3ZTM3Y2ZkMTdkNDk4YjI0NDBiNGMyNzhmYTI4NDI0N2UuLmM3
NWFkYjJhYTM4MTBlZWQ1ZGEwOTI0NGZlMTJiMGFjNzg1YmI0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1SZWFkZXIuanMKQEAg
LTMwLDEzICszMCwxMyBAQCBmdW5jdGlvbiBjYW5jZWwocmVhc29uKQogICAgICJ1c2Ugc3RyaWN0
IjsKIAogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcykpCi0gICAgICAgIHJl
dHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNh
bGxlZCBvbiBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIikpOworICAgICAgICByZXR1cm4gQFByb21p
c2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEg
UmVhZGFibGVTdHJlYW1SZWFkZXIiKSk7CiAKICAgICBpZiAodGhpcy5Ac3RhdGUgPT09IEBzdHJl
YW1DbG9zZWQpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgcmV0
dXJuIEBQcm9taXNlLnJlc29sdmUoKTsKIAogICAgIGlmICh0aGlzLkBzdGF0ZSA9PT0gQHN0cmVh
bUVycm9yZWQpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh0aGlzLkBzdG9yZWRFcnJv
cik7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QodGhpcy5Ac3RvcmVkRXJyb3IpOwog
CiAgICAgLy8gRklYTUU6IEFTU0VSVChAaXNSZWFkYWJsZVN0cmVhbSh0aGlzLkBvd25lclJlYWRh
YmxlU3RyZWFtKSk7CiAgICAgLy8gRklYTUU6IEFTU0VSVCh0aGlzLkBvd25lclJlYWRhYmxlU3Ry
ZWFtLkBzdGF0ZSA9PT0gQHN0cmVhbVJlYWRhYmxlKTsKQEAgLTQ4LDcgKzQ4LDcgQEAgZnVuY3Rp
b24gcmVhZCgpCiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVh
bVJlYWRlcih0aGlzKSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVy
cm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW1SZWFkZXIi
KSk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QobmV3IEBUeXBlRXJyb3IoIkZ1bmN0
aW9uIHNob3VsZCBiZSBjYWxsZWQgb24gYSBSZWFkYWJsZVN0cmVhbVJlYWRlciIpKTsKIAogICAg
IHJldHVybiBAcmVhZEZyb21SZWFkYWJsZVN0cmVhbVJlYWRlcih0aGlzKTsKIH0KQEAgLTc0LDcg
Kzc0LDcgQEAgZnVuY3Rpb24gY2xvc2VkKCkKICAgICAidXNlIHN0cmljdCI7CiAKICAgICBpZiAo
IUBpc1JlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5y
ZWplY3QobmV3IEBUeXBlRXJyb3IoIkNhbGxlZSBvZiBjbG9zZWQgaXMgbm90IGEgUmVhZGFibGVT
dHJlYW1SZWFkZXIiKSk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QobmV3IEBUeXBl
RXJyb3IoIkNhbGxlZSBvZiBjbG9zZWQgaXMgbm90IGEgUmVhZGFibGVTdHJlYW1SZWFkZXIiKSk7
CiAKICAgICByZXR1cm4gdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJu
YWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5q
cwppbmRleCAwYmJmZjRlZmEzOGU0NmQ4MWJhOWEzMmVkOTMzOTk3ZWVhMzFlNzkzLi4wNDc1YzUx
MGU3ZjBkZDJlOTUwODhmYjQ1YzY1N2FiOGI1YTA2ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQ0LDEyICs0NCwxMiBA
QCBmdW5jdGlvbiBwcm9taXNlSW52b2tlT3JOb29wKG9iamVjdCwga2V5LCBhcmdzKQogICAgIHRy
eSB7CiAgICAgICAgIHZhciBtZXRob2QgPSBvYmplY3Rba2V5XTsKICAgICAgICAgaWYgKHR5cGVv
ZiBtZXRob2QgPT09ICJ1bmRlZmluZWQiKQotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlc29sdmUoKTsKICAgICAgICAg
dmFyIHJlc3VsdCA9IG1ldGhvZC5AYXBwbHkob2JqZWN0LCBhcmdzKTsKLSAgICAgICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZShyZXN1bHQpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVzb2x2
ZShyZXN1bHQpOwogICAgIH0KICAgICBjYXRjaChlcnJvcikgewotICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZWplY3QoZXJyb3IpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KGVycm9y
KTsKICAgICB9CiAKIH0KQEAgLTYzLDEwICs2MywxMCBAQCBmdW5jdGlvbiBwcm9taXNlSW52b2tl
T3JGYWxsYmFja09yTm9vcChvYmplY3QsIGtleTEsIGFyZ3MxLCBrZXkyLCBhcmdzMikKICAgICAg
ICAgaWYgKHR5cGVvZiBtZXRob2QgPT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgcmV0dXJu
IEBwcm9taXNlSW52b2tlT3JOb29wKG9iamVjdCwga2V5MiwgYXJnczIpOwogICAgICAgICBjb25z
dCByZXN1bHQgPSBtZXRob2QuQGFwcGx5KG9iamVjdCwgYXJnczEpOwotICAgICAgICByZXR1cm4g
UHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZXNvbHZl
KHJlc3VsdCk7CiAgICAgfQogICAgIGNhdGNoKGVycm9yKSB7Ci0gICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdChlcnJvcik7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QoZXJyb3Ip
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1dyaXRhYmxlU3RyZWFtLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRh
YmxlU3RyZWFtLmpzCmluZGV4IDlhZTU4ZDdjYTJjMWZiOTcxZDM4OTllYjFhODIwZDExNDUwZThk
ZjAuLjQ3NjdhOWQzODEzMTlhNmFhZWM0OGZjZGY1NDNlN2FmNGQzMDI0ZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKQEAgLTQyLDgg
KzQyLDggQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKHVuZGVybHlpbmdTaW5r
LCBzdHJhdGVneSkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIldyaXRhYmxlU3RyZWFt
IGNvbnN0cnVjdG9yIHRha2VzIGFuIG9iamVjdCBhcyBzZWNvbmQgYXJndW1lbnQsIGlmIGFueSIp
OwogCiAgICAgdGhpcy5AdW5kZXJseWluZ1NpbmsgPSB1bmRlcmx5aW5nU2luazsKLSAgICB0aGlz
LkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShQcm9taXNl
KTsKLSAgICB0aGlzLkByZWFkeVByb21pc2VDYXBhYmlsaXR5ID0geyBAcHJvbWlzZTogUHJvbWlz
ZS5yZXNvbHZlKHVuZGVmaW5lZCkgfTsKKyAgICB0aGlzLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0
eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShAUHJvbWlzZSk7CisgICAgdGhpcy5AcmVhZHlQcm9t
aXNlQ2FwYWJpbGl0eSA9IHsgQHByb21pc2U6IEBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKSB9
OwogICAgIHRoaXMuQHF1ZXVlID0gQG5ld1F1ZXVlKCk7CiAgICAgdGhpcy5Ac3RhdGUgPSBAc3Ry
ZWFtV3JpdGFibGU7CiAgICAgdGhpcy5Ac3RhcnRlZCA9IGZhbHNlOwpAQCAtNTUsNyArNTUsNyBA
QCBmdW5jdGlvbiBpbml0aWFsaXplV3JpdGFibGVTdHJlYW0odW5kZXJseWluZ1NpbmssIHN0cmF0
ZWd5KQogCiAgICAgdmFyIGVycm9yID0gQGVycm9yV3JpdGFibGVTdHJlYW0uYmluZCh0aGlzKTsK
ICAgICB2YXIgc3RhcnRSZXN1bHQgPSBAaW52b2tlT3JOb29wKHVuZGVybHlpbmdTaW5rLCAic3Rh
cnQiLCBbZXJyb3JdKTsKLSAgICB0aGlzLkBzdGFydGVkUHJvbWlzZSA9IFByb21pc2UucmVzb2x2
ZShzdGFydFJlc3VsdCk7CisgICAgdGhpcy5Ac3RhcnRlZFByb21pc2UgPSBAUHJvbWlzZS5yZXNv
bHZlKHN0YXJ0UmVzdWx0KTsKICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgIHRoaXMuQHN0YXJ0
ZWRQcm9taXNlLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgIF90aGlzLkBzdGFydGVkID0gdHJ1
ZTsKQEAgLTcwLDEzICs3MCwxMyBAQCBmdW5jdGlvbiBhYm9ydChyZWFzb24pCiAgICAgInVzZSBz
dHJpY3QiOwogCiAgICAgaWYgKCFAaXNXcml0YWJsZVN0cmVhbSh0aGlzKSkKLSAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUgV3JpdGFibGVTdHJlYW0uYWJv
cnQgbWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFdyaXRhYmxlU3RyZWFt
IikpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUg
V3JpdGFibGVTdHJlYW0uYWJvcnQgbWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2Vz
IG9mIFdyaXRhYmxlU3RyZWFtIikpOwogCiAgICAgaWYgKHRoaXMuQHN0YXRlID09PSBAc3RyZWFt
Q2xvc2VkKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7CisgICAg
ICAgIHJldHVybiBAUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7CiAKICAgICBpZiAodGhpcy5A
c3RhdGUgPT09IEBzdHJlYW1FcnJvcmVkKQotICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3Qo
dGhpcy5Ac3RvcmVkRXJyb3IpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KHRoaXMu
QHN0b3JlZEVycm9yKTsKIAogICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBhcHBseSh0aGlzLCBb
cmVhc29uXSk7CiAKQEAgLTkwLDEzICs5MCwxMyBAQCBmdW5jdGlvbiBjbG9zZSgpCiAgICAgInVz
ZSBzdHJpY3QiOwogCiAgICAgaWYgKCFAaXNXcml0YWJsZVN0cmVhbSh0aGlzKSkKLSAgICAgICAg
cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJUaGUgV3JpdGFibGVTdHJlYW0u
Y2xvc2UgbWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFdyaXRhYmxlU3Ry
ZWFtIikpOworICAgICAgICByZXR1cm4gQFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJU
aGUgV3JpdGFibGVTdHJlYW0uY2xvc2UgbWV0aG9kIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFu
Y2VzIG9mIFdyaXRhYmxlU3RyZWFtIikpOwogCiAgICAgaWYgKHRoaXMuQHN0YXRlID09PSBAc3Ry
ZWFtQ2xvc2VkIHx8IHRoaXMuQHN0YXRlID09PSBAc3RyZWFtQ2xvc2luZykKLSAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJDYW5ub3QgY2xvc2UgYSBXcml0YWJs
ZVN0cmluZyB0aGF0IGlzIGNsb3NlZCBvciBjbG9zaW5nIikpOworICAgICAgICByZXR1cm4gQFBy
b21pc2UucmVqZWN0KG5ldyBAVHlwZUVycm9yKCJDYW5ub3QgY2xvc2UgYSBXcml0YWJsZVN0cmlu
ZyB0aGF0IGlzIGNsb3NlZCBvciBjbG9zaW5nIikpOwogCiAgICAgaWYgKHRoaXMuQHN0YXRlID09
PSBAc3RyZWFtRXJyb3JlZCkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHRoaXMuQHN0
b3JlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdCh0aGlzLkBzdG9yZWRF
cnJvcik7CiAKICAgICBpZiAodGhpcy5Ac3RhdGUgPT09IEBzdHJlYW1XYWl0aW5nKQogICAgICAg
ICB0aGlzLkByZWFkeVByb21pc2VDYXBhYmlsaXR5LkByZXNvbHZlLkBjYWxsKHVuZGVmaW5lZCwg
dW5kZWZpbmVkKTsKQEAgLTExMywxMyArMTEzLDEzIEBAIGZ1bmN0aW9uIHdyaXRlKGNodW5rKQog
ICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzV3JpdGFibGVTdHJlYW0odGhpcykpCi0g
ICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxl
U3RyZWFtLmNsb3NlIG1ldGhvZCBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0
YWJsZVN0cmVhbSIpKTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVF
cnJvcigiVGhlIFdyaXRhYmxlU3RyZWFtLmNsb3NlIG1ldGhvZCBjYW4gb25seSBiZSB1c2VkIG9u
IGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbSIpKTsKIAogICAgIGlmICh0aGlzLkBzdGF0ZSA9
PT0gQHN0cmVhbUNsb3NlZCB8fCB0aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbUNsb3NpbmcpCi0gICAg
ICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIG9u
IGEgV3JpdGFibGVTdHJpbmcgdGhhdCBpcyBjbG9zZWQgb3IgY2xvc2luZyIpKTsKKyAgICAgICAg
cmV0dXJuIEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIG9uIGEg
V3JpdGFibGVTdHJpbmcgdGhhdCBpcyBjbG9zZWQgb3IgY2xvc2luZyIpKTsKIAogICAgIGlmICh0
aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbUVycm9yZWQpCi0gICAgICAgIHJldHVybiBQcm9taXNlLnJl
amVjdCh0aGlzLkBzdG9yZWRFcnJvcik7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3Qo
dGhpcy5Ac3RvcmVkRXJyb3IpOwogCiAgICAgLy8gRklYTUUKICAgICAvLyBhc3NlcnQodGhpcy5A
c3RhdGUgPT09IEBzdHJlYW1Xcml0YWJsZSB8fCB0aGlzLkBzdGF0ZSA9PT0gQHN0cmVhbVdhaXRp
bmcpOwpAQCAtMTMwLDE2ICsxMzAsMTYgQEAgZnVuY3Rpb24gd3JpdGUoY2h1bmspCiAgICAgICAg
ICAgICBjaHVua1NpemUgPSB0aGlzLkBzdHJhdGVneS5zaXplLkBjYWxsKHVuZGVmaW5lZCwgY2h1
bmspOwogICAgICAgICB9IGNhdGNoKGUpIHsKICAgICAgICAgICAgIEBlcnJvcldyaXRhYmxlU3Ry
ZWFtLkBjYWxsKHRoaXMsIGUpOwotICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGUp
OworICAgICAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdChlKTsKICAgICAgICAgfQogICAg
IH0KIAotICAgIGNvbnN0IHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5
KFByb21pc2UpOworICAgIGNvbnN0IHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBh
YmlsaXR5KEBQcm9taXNlKTsKICAgICB0cnkgewogICAgICAgICBAZW5xdWV1ZVZhbHVlV2l0aFNp
emUodGhpcy5AcXVldWUsIHsgcHJvbWlzZUNhcGFiaWxpdHk6IHByb21pc2VDYXBhYmlsaXR5LCBj
aHVuazogY2h1bmsgfSwgY2h1bmtTaXplKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIEBl
cnJvcldyaXRhYmxlU3RyZWFtLkBjYWxsKHRoaXMsIGUpOwotICAgICAgICByZXR1cm4gUHJvbWlz
ZS5yZWplY3QoZSk7CisgICAgICAgIHJldHVybiBAUHJvbWlzZS5yZWplY3QoZSk7CiAgICAgfQog
CiAgICAgQHN5bmNXcml0YWJsZVN0cmVhbVN0YXRlV2l0aFF1ZXVlKHRoaXMpOwpAQCAtMTUzLDcg
KzE1Myw3IEBAIGZ1bmN0aW9uIGNsb3NlZCgpCiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgaWYg
KCFAaXNXcml0YWJsZVN0cmVhbSh0aGlzKSkKLSAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0
KG5ldyBAVHlwZUVycm9yKCJUaGUgV3JpdGFibGVTdHJlYW0uY2xvc2VkIGdldHRlciBjYW4gb25s
eSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbSIpKTsKKyAgICAgICAgcmV0
dXJuIEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxlU3RyZWFtLmNs
b3NlZCBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgV3JpdGFibGVTdHJl
YW0iKSk7CiAKICAgICByZXR1cm4gdGhpcy5AY2xvc2VkUHJvbWlzZUNhcGFiaWxpdHkuQHByb21p
c2U7CiB9CkBAIC0xNjMsNyArMTYzLDcgQEAgZnVuY3Rpb24gcmVhZHkoKQogICAgICJ1c2Ugc3Ry
aWN0IjsKIAogICAgIGlmICghQGlzV3JpdGFibGVTdHJlYW0odGhpcykpCi0gICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdyaXRhYmxlU3RyZWFtLnJlYWR5
IGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbSIp
KTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLnJlamVjdChuZXcgQFR5cGVFcnJvcigiVGhlIFdy
aXRhYmxlU3RyZWFtLnJlYWR5IGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBv
ZiBXcml0YWJsZVN0cmVhbSIpKTsKIAogICAgIHJldHVybiB0aGlzLkByZWFkeVByb21pc2VDYXBh
YmlsaXR5LkBwcm9taXNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IDViODhkNzU1NzJhY2Uz
YTdlMDJmOTdmYTQ3MTVkOTRjZjU1NGFmNDYuLjNjZGY5MmI2Nzk2MTYxNzI1Y2RmNGQ1MGM0YTc0
NDM5YWUxNmFkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9X
cml0YWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rp
b24gc3luY1dyaXRhYmxlU3RyZWFtU3RhdGVXaXRoUXVldWUoc3RyZWFtKQogICAgIGNvbnN0IHNo
b3VsZEFwcGx5QmFja3ByZXNzdXJlID0gc3RyZWFtLkBxdWV1ZS5zaXplID4gc3RyZWFtLkBzdHJh
dGVneS5oaWdoV2F0ZXJNYXJrOwogICAgIGlmIChzaG91bGRBcHBseUJhY2twcmVzc3VyZSAmJiBz
dHJlYW0uQHN0YXRlID09PSBAc3RyZWFtV3JpdGFibGUpIHsKICAgICAgICAgc3RyZWFtLkBzdGF0
ZSA9IEBzdHJlYW1XYWl0aW5nOwotICAgICAgICBzdHJlYW0uQHJlYWR5UHJvbWlzZUNhcGFiaWxp
dHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoUHJvbWlzZSk7CisgICAgICAgIHN0cmVhbS5AcmVh
ZHlQcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShAUHJvbWlzZSk7CiAg
ICAgfQogICAgIGlmICghc2hvdWxkQXBwbHlCYWNrcHJlc3N1cmUgJiYgc3RyZWFtLkBzdGF0ZSA9
PT0gQHN0cmVhbVdhaXRpbmcpIHsKICAgICAgICAgc3RyZWFtLkBzdGF0ZSA9IEBzdHJlYW1Xcml0
YWJsZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAwMWQ3OTUwNTYzZWIyYWYxZTQyZmU5M2UxNzhmNDZmMGVjYjFjYWE1Li40
ZWZiNWI2MTFjNTMxYWUzNmU5ZjI2MmM1NDBkN2IwMDg4ZmZlYmVmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTUgQEAKIDIwMTUtMTEtMDQgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdh
bGlhLmNvbT4KIAorICAgICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBzdHJlYW1zIGFnYWluc3Qg
dXNlciByZXBsYWNpbmcgdGhlIFByb21pc2UgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDg4NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZWFtcy9zdHJlYW1zLXByb21pc2Vz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RyZWFtcy9zdHJlYW1zLXByb21pc2Vz
Lmh0bWw6IEFkZGVkLgorCisyMDE1LTExLTA0ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNh
bHZhcmlzQGlnYWxpYS5jb20+CisKICAgICAgICAgVW5yZXZpZXdlZC4KIAogICAgICAgICAqIHBs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBNYXJrZWQgMTUwODY3IGFzIGR1cGxpY2F0ZSBv
ZiAxNDc5MzMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtcHJvbWlz
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWRjNGI5ZGJlMTcwZWQ3ODMwNzBiY2JiMjQwM2ZiNmIy
YmU5NmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXBy
b21pc2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTdHJlYW1zIGNhbiBi
ZSBidWlsdCBldmVuIGlmIFByb21pc2UgY29uc3RydWN0b3IgaXMgcmVwbGFjZWQgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy5odG1sIGIvTGF5b3V0
VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM5NGM5YmU1
MTdkMzk0ZTc4MmU0ZTM1Mjc4ZmE3ZDU2MTIyYmUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwh
RE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Jz48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIFByb21pc2UgPSBm
dW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJuYXN0eSB0aGluZ3MiKTsgfTsKKworICAgIGNv
bnN0IHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7IC8vIERvZXMgbm90IHRocm93LgorICAgIGNv
bnN0IHdzID0gbmV3IFdyaXRhYmxlU3RyZWFtKCk7IC8vIERvZXMgbm90IHRocm93LgorfSwgJ1N0
cmVhbXMgY2FuIGJlIGJ1aWx0IGV2ZW4gaWYgUHJvbWlzZSBjb25zdHJ1Y3RvciBpcyByZXBsYWNl
ZCcpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>