<?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>169977</bug_id>
          
          <creation_ts>2017-03-22 16:22:47 -0700</creation_ts>
          <short_desc>UploadedFile should support a callback for upload progress</short_desc>
          <delta_ts>2017-03-22 16:43:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Perf Dashboard</component>
          <version>Other</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1290254</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-22 16:22:47 -0700</bug_when>
    <thetext>Refactor RemoteAPI to add the support for observing &quot;progress&quot; event during a XHR to upload a file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290256</commentid>
    <comment_count>1</comment_count>
      <attachid>305136</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-22 16:35:33 -0700</bug_when>
    <thetext>Created attachment 305136
Adds the feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290257</commentid>
    <comment_count>2</comment_count>
      <attachid>305136</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-22 16:43:34 -0700</bug_when>
    <thetext>Comment on attachment 305136
Adds the feature

Clearing flags on attachment: 305136

Committed r214285: &lt;http://trac.webkit.org/changeset/214285&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290258</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-03-22 16:43:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305136</attachid>
            <date>2017-03-22 16:35:33 -0700</date>
            <delta_ts>2017-03-22 16:43:34 -0700</delta_ts>
            <desc>Adds the feature</desc>
            <filename>bug-169977-20170322163533.patch</filename>
            <type>text/plain</type>
            <size>15673</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MjgyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCAwOWVkYmZlNzBkZjRjNzM0YTMxY2M2NGE3YmE5NDIwZGY1NmYxZDc4Li5hOGJlZGZmZjQ3
YjI1MWJmOTU4YmEwODRmZGYxZmFhOGViM2E0ZWQxIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwzNCBAQAogMjAxNy0wMy0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAorICAgICAgICBVcGxvYWRlZEZpbGUgc2hvdWxkIHN1cHBvcnQgYSBjYWxs
YmFjayBmb3IgdXBsb2FkIHByb2dyZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk5NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBhIG5ldyBvcHRpb24gZGljdGlvbmFyeSB0byBDb21tb25S
ZW1vdGVBUEkuc2VuZEh0dHBSZXF1ZXN0IHdpdGggdXBsb2FkUHJvZ3Jlc3NDYWxsYmFjaworCisg
ICAgICAgIE1vdmVkIHJlcXVlc3QgaGVhZGVycyBhbmQgcmVzcG9uc2VIYW5kbGVyIGNhbGxiYWNr
IGluIE5vZGVSZW1vdGVBUEkgdG8gdGhpcyBkaWN0aW9uYXJ5LAorICAgICAgICBhbmQgdXBkYXRl
ZCB0aGUgdGVzdHMgd2hpY2ggcmVsaWVkIG9uIHRoaXMgY29kZS4KKworICAgICAgICAqIHB1Ymxp
Yy9zaGFyZWQvY29tbW9uLXJlbW90ZS5qczoKKyAgICAgICAgKENvbW1vblJlbW90ZUFQSS5wcm90
b3R5cGUucG9zdEpTT04pOgorICAgICAgICAoQ29tbW9uUmVtb3RlQVBJLnByb3RvdHlwZS5wb3N0
SlNPTldpdGhTdGF0dXMpOgorICAgICAgICAoQ29tbW9uUmVtb3RlQVBJLnByb3RvdHlwZS5wb3N0
Rm9ybURhdGEpOgorICAgICAgICAoQ29tbW9uUmVtb3RlQVBJLnByb3RvdHlwZS5wb3N0Rm9ybURh
dGFXaXRoU3RhdHVzKToKKyAgICAgICAgKiBwdWJsaWMvdjMvcHJpdmlsZWdlZC1hcGkuanM6Cisg
ICAgICAgIChQcml2aWxlZ2VkQVBJLnByb3RvdHlwZS5zZW5kUmVxdWVzdCk6CisgICAgICAgICog
cHVibGljL3YzL3JlbW90ZS5qczoKKyAgICAgICAgKEJyb3dzZXJSZW1vdGVBUEkucHJvdG90eXBl
LnNlbmRIdHRwUmVxdWVzdCk6CisgICAgICAgIChCcm93c2VyUmVtb3RlQVBJLnByb3RvdHlwZS5z
ZW5kSHR0cFJlcXVlc3RXaXRoRm9ybURhdGEpOgorICAgICAgICAoQnJvd3NlclJlbW90ZUFQSSk6
CisgICAgICAgICogc2VydmVyLXRlc3RzL2FwaS11cGxvYWRlZC1maWxlLmpzOgorICAgICAgICAq
IHRvb2xzL2pzL3JlbW90ZS5qczoKKyAgICAgICAgKE5vZGVSZW1vdGVBUEkucHJvdG90eXBlLnNl
bmRIdHRwUmVxdWVzdCk6CisgICAgICAgIChOb2RlUmVtb3RlQVBJLnByb3RvdHlwZS5zZW5kSHR0
cFJlcXVlc3RXaXRoRm9ybURhdGEpOgorICAgICAgICAoTm9kZVJlbW90ZUFQSSk6CisKKzIwMTct
MDMtMjIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKICAgICAgICAgQ29tcG9u
ZW50QmFzZSBzaG91bGQgZW5xdWV1ZSBpdHNlbGYgdG8gcmVuZGVyIHdoZW4gaXQgYmVjb21lcyBj
b25uZWN0ZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2OTkwNQogCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3No
YXJlZC9jb21tb24tcmVtb3RlLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9z
aGFyZWQvY29tbW9uLXJlbW90ZS5qcwppbmRleCBlN2FhODVlNjcxMWE2ZTQyZmMzNjdiZGUzNTdm
YzIxYWZhNTFiZmY2Li4xOGEzYzM1ZWZhYTRiNjRjODI5ZmM1NTE3ZDk2ZGZjYWZmNzViNTQwIDEw
MDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3NoYXJlZC9jb21tb24t
cmVtb3RlLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvc2hhcmVkL2Nv
bW1vbi1yZW1vdGUuanMKQEAgLTEsMjcgKzEsMjcgQEAKICJ1c2Ugc3RyaWN0IjsKIAogY2xhc3Mg
Q29tbW9uUmVtb3RlQVBJIHsKLSAgICBwb3N0SlNPTihwYXRoLCBkYXRhKQorICAgIHBvc3RKU09O
KHBhdGgsIGRhdGEsIG9wdGlvbnMpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fYXNKU09O
KHRoaXMuc2VuZEh0dHBSZXF1ZXN0KHBhdGgsICdQT1NUJywgJ2FwcGxpY2F0aW9uL2pzb24nLCBK
U09OLnN0cmluZ2lmeShkYXRhIHx8IHt9KSkpOworICAgICAgICByZXR1cm4gdGhpcy5fYXNKU09O
KHRoaXMuc2VuZEh0dHBSZXF1ZXN0KHBhdGgsICdQT1NUJywgJ2FwcGxpY2F0aW9uL2pzb24nLCBK
U09OLnN0cmluZ2lmeShkYXRhIHx8IHt9KSwgb3B0aW9ucykpOwogICAgIH0KIAotICAgIHBvc3RK
U09OV2l0aFN0YXR1cyhwYXRoLCBkYXRhKQorICAgIHBvc3RKU09OV2l0aFN0YXR1cyhwYXRoLCBk
YXRhLCBvcHRpb25zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrU3RhdHVzKHRo
aXMucG9zdEpTT04ocGF0aCwgZGF0YSkpOworICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tTdGF0
dXModGhpcy5wb3N0SlNPTihwYXRoLCBkYXRhLCBvcHRpb25zKSk7CiAgICAgfQogCi0gICAgcG9z
dEZvcm1EYXRhKHBhdGgsIGRhdGEpCisgICAgcG9zdEZvcm1EYXRhKHBhdGgsIGRhdGEsIG9wdGlv
bnMpCiAgICAgewogICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAg
ICAgICBmb3IgKGxldCBrZXkgaW4gZGF0YSkKICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChr
ZXksIGRhdGFba2V5XSk7Ci0gICAgICAgIHJldHVybiB0aGlzLl9hc0pTT04odGhpcy5zZW5kSHR0
cFJlcXVlc3RXaXRoRm9ybURhdGEocGF0aCwgZm9ybURhdGEpKTsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX2FzSlNPTih0aGlzLnNlbmRIdHRwUmVxdWVzdFdpdGhGb3JtRGF0YShwYXRoLCBmb3JtRGF0
YSwgb3B0aW9ucykpOwogICAgIH0KIAotICAgIHBvc3RGb3JtRGF0YVdpdGhTdGF0dXMocGF0aCwg
ZGF0YSkKKyAgICBwb3N0Rm9ybURhdGFXaXRoU3RhdHVzKHBhdGgsIGRhdGEsIG9wdGlvbnMpCiAg
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tTdGF0dXModGhpcy5wb3N0Rm9ybURhdGEo
cGF0aCwgZGF0YSkpOworICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tTdGF0dXModGhpcy5wb3N0
Rm9ybURhdGEocGF0aCwgZGF0YSwgb3B0aW9ucykpOwogICAgIH0KIAogICAgIGdldEpTT04ocGF0
aCkKQEAgLTM0LDEyICszNCwxMiBAQCBjbGFzcyBDb21tb25SZW1vdGVBUEkgewogICAgICAgICBy
ZXR1cm4gdGhpcy5fY2hlY2tTdGF0dXModGhpcy5nZXRKU09OKHBhdGgpKTsKICAgICB9CiAKLSAg
ICBzZW5kSHR0cFJlcXVlc3QocGF0aCwgbWV0aG9kLCBjb250ZW50VHlwZSwgY29udGVudCkKKyAg
ICBzZW5kSHR0cFJlcXVlc3QocGF0aCwgbWV0aG9kLCBjb250ZW50VHlwZSwgY29udGVudCwgb3B0
aW9ucyA9IHt9KQogICAgIHsKICAgICAgICAgdGhyb3cgJ05vdEltcGxlbWVudGVkJzsKICAgICB9
CiAKLSAgICBzZW5kSHR0cFJlcXVlc3RXaXRoRm9ybURhdGEocGF0aCwgZm9ybURhdGEpCisgICAg
c2VuZEh0dHBSZXF1ZXN0V2l0aEZvcm1EYXRhKHBhdGgsIGZvcm1EYXRhLCBvcHRpb25zID0ge30p
CiAgICAgewogICAgICAgICB0aHJvdyAnTm90SW1wbGVtZW50ZWQnOwogICAgIH0KZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3VwbG9hZGVkLWZp
bGUuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy91cGxvYWRl
ZC1maWxlLmpzCmluZGV4IGY0MDEzODQ4ZGNlMmU0MWM3YmRjM2UyMjIzODdkMmJlOWQ1OWNhNzcu
LmZkMWM2OTM0ZGU3OTZhYzNlZTc4Yzc4NzdiNzViMDZhNWQ2ZDhlNGQgMTAwNjQ0Ci0tLSBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3VwbG9hZGVkLWZpbGUuanMK
KysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvdXBsb2FkZWQt
ZmlsZS5qcwpAQCAtMTIsOSArMTIsOSBAQCBjbGFzcyBVcGxvYWRlZEZpbGUgZXh0ZW5kcyBEYXRh
TW9kZWxPYmplY3QgewogICAgICAgICB0aGlzLmVuc3VyZU5hbWVkU3RhdGljTWFwKCdzaGEyNTYn
KVtvYmplY3Quc2hhMjU2XSA9IHRoaXM7CiAgICAgfQogCi0gICAgc3RhdGljIHVwbG9hZEZpbGUo
ZmlsZSkKKyAgICBzdGF0aWMgdXBsb2FkRmlsZShmaWxlLCB1cGxvYWRQcm9ncmVzc0NhbGxiYWNr
ID0gbnVsbCkKICAgICB7Ci0gICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0
KCd1cGxvYWQtZmlsZScsIHsnbmV3RmlsZSc6IGZpbGV9LCB7dXNlRm9ybURhdGE6IHRydWV9KS50
aGVuKChyYXdEYXRhKSA9PiB7CisgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1
ZXN0KCd1cGxvYWQtZmlsZScsIHsnbmV3RmlsZSc6IGZpbGV9LCB7dXNlRm9ybURhdGE6IHRydWUs
IHVwbG9hZFByb2dyZXNzQ2FsbGJhY2t9KS50aGVuKChyYXdEYXRhKSA9PiB7CiAgICAgICAgICAg
ICByZXR1cm4gVXBsb2FkZWRGaWxlLmVuc3VyZVNpbmdsZXRvbihyYXdEYXRhWyd1cGxvYWRlZEZp
bGUnXS5pZCwgcmF3RGF0YVsndXBsb2FkZWRGaWxlJ10pOwogICAgICAgICB9KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3ByaXZpbGVnZWQt
YXBpLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wcml2aWxlZ2VkLWFw
aS5qcwppbmRleCAyNjdmOTRiOTYyOTY3MDc1YTcxMGJiOWZjNDU1ZTRkNmI3NzU3YjczLi4wMTcx
YmFiYTlhMjI0ZWI0M2QwNmI3M2VlZmFhOTgwNzAzM2VmYmI0IDEwMDY0NAotLS0gYS9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3ByaXZpbGVnZWQtYXBpLmpzCisrKyBiL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcHJpdmlsZWdlZC1hcGkuanMKQEAgLTEwLDgg
KzEwLDggQEAgY2xhc3MgUHJpdmlsZWdlZEFQSSB7CiAKICAgICAgICAgY29uc3QgZnVsbFBhdGgg
PSAnL3ByaXZpbGVnZWQtYXBpLycgKyBwYXRoOwogICAgICAgICBjb25zdCBwb3N0ID0gb3B0aW9u
cy51c2VGb3JtRGF0YQotICAgICAgICAgICAgPyAoKSA9PiBSZW1vdGVBUEkucG9zdEZvcm1EYXRh
V2l0aFN0YXR1cyhmdWxsUGF0aCwgY2xvbmVkRGF0YSkKLSAgICAgICAgICAgIDogKCkgPT4gUmVt
b3RlQVBJLnBvc3RKU09OV2l0aFN0YXR1cyhmdWxsUGF0aCwgY2xvbmVkRGF0YSk7CisgICAgICAg
ICAgICA/ICgpID0+IFJlbW90ZUFQSS5wb3N0Rm9ybURhdGFXaXRoU3RhdHVzKGZ1bGxQYXRoLCBj
bG9uZWREYXRhLCBvcHRpb25zKQorICAgICAgICAgICAgOiAoKSA9PiBSZW1vdGVBUEkucG9zdEpT
T05XaXRoU3RhdHVzKGZ1bGxQYXRoLCBjbG9uZWREYXRhLCBvcHRpb25zKTsKIAogICAgICAgICBy
ZXR1cm4gdGhpcy5yZXF1ZXN0Q1NSRlRva2VuKCkudGhlbigodG9rZW4pID0+IHsKICAgICAgICAg
ICAgIGNsb25lZERhdGFbJ3Rva2VuJ10gPSB0b2tlbjsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcmVtb3RlLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy92My9yZW1vdGUuanMKaW5kZXggOGQ5MjAzYjZiYTIzYmIyZTEyNThjYzgyOTBk
NzE0NmUzYTNmNjE4Ny4uNmEwMGYxODJjMmQ3YmU1MTAzYjUyOGNkZWFkNGE1MzVhMDhiY2I3OSAx
MDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9yZW1vdGUuanMK
KysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9yZW1vdGUuanMKQEAgLTIs
NyArMiw3IEBACiAKIGNsYXNzIEJyb3dzZXJSZW1vdGVBUEkgZXh0ZW5kcyBDb21tb25SZW1vdGVB
UEkgewogCi0gICAgc2VuZEh0dHBSZXF1ZXN0KHBhdGgsIG1ldGhvZCwgY29udGVudFR5cGUsIGNv
bnRlbnQpCisgICAgc2VuZEh0dHBSZXF1ZXN0KHBhdGgsIG1ldGhvZCwgY29udGVudFR5cGUsIGNv
bnRlbnQsIG9wdGlvbnMgPSB7fSkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFwYXRo
LnN0YXJ0c1dpdGgoJ2h0dHA6JykgJiYgIXBhdGguc3RhcnRzV2l0aCgnaHR0cHM6JykgJiYgIXBh
dGguc3RhcnRzV2l0aCgnZmlsZTonKSk7CiAKQEAgLTI2LDYgKzI2LDEyIEBAIGNsYXNzIEJyb3dz
ZXJSZW1vdGVBUEkgZXh0ZW5kcyBDb21tb25SZW1vdGVBUEkgewogICAgICAgICAgICAgeGhyLm9u
YWJvcnQgPSBvbmVycm9yOwogICAgICAgICAgICAgeGhyLm9uZXJyb3IgPSBvbmVycm9yOwogCisg
ICAgICAgICAgICBpZiAoY29udGVudCAmJiBvcHRpb25zLnVwbG9hZFByb2dyZXNzQ2FsbGJhY2sp
IHsKKyAgICAgICAgICAgICAgICB4aHIudXBsb2FkLm9ucHJvZ3Jlc3MgPSAoZXZlbnQpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy51cGxvYWRQcm9ncmVzc0NhbGxiYWNrKGV2ZW50
Lmxlbmd0aENvbXB1dGFibGUgPyB7dG90YWw6IGV2ZW50LnRvdGFsLCBsb2FkZWQ6IGV2ZW50Lmxv
YWRlZH0gOiBudWxsKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKICAgICAg
ICAgICAgIHhoci5vcGVuKG1ldGhvZCwgcGF0aCwgdHJ1ZSk7CiAgICAgICAgICAgICBpZiAoY29u
dGVudFR5cGUpCiAgICAgICAgICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQt
VHlwZScsIGNvbnRlbnRUeXBlKTsKQEAgLTM2LDkgKzQyLDkgQEAgY2xhc3MgQnJvd3NlclJlbW90
ZUFQSSBleHRlbmRzIENvbW1vblJlbW90ZUFQSSB7CiAgICAgICAgIH0pOwogICAgIH0KIAotICAg
IHNlbmRIdHRwUmVxdWVzdFdpdGhGb3JtRGF0YShwYXRoLCBmb3JtRGF0YSkKKyAgICBzZW5kSHR0
cFJlcXVlc3RXaXRoRm9ybURhdGEocGF0aCwgZm9ybURhdGEsIG9wdGlvbnMpCiAgICAgewotICAg
ICAgICByZXR1cm4gdGhpcy5zZW5kSHR0cFJlcXVlc3QocGF0aCwgJ1BPU1QnLCBudWxsLCBmb3Jt
RGF0YSk7IC8vIENvbnRlbnQtdHlwZSBpcyBzZXQgYnkgdGhlIGJyb3dzZXIuCisgICAgICAgIHJl
dHVybiB0aGlzLnNlbmRIdHRwUmVxdWVzdChwYXRoLCAnUE9TVCcsIG51bGwsIGZvcm1EYXRhLCBv
cHRpb25zKTsgLy8gQ29udGVudC10eXBlIGlzIHNldCBieSB0aGUgYnJvd3Nlci4KICAgICB9CiAK
IH0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBp
LXVwbG9hZGVkLWZpbGUuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3Rz
L2FwaS11cGxvYWRlZC1maWxlLmpzCmluZGV4IDVlYTFlOWQzZTZkYTc5ZWFjYjJlZTVlMGMyYWVj
OTcyMWVkMzM1ZGUuLjQxNTE3N2U0MmMyZTNmNjA0NTgxYTQ4MDYyNDg1MzQ3MDkzZWExYmEgMTAw
NjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXVwbG9h
ZGVkLWZpbGUuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9h
cGktdXBsb2FkZWQtZmlsZS5qcwpAQCAtMTM4LDcgKzEzOCw3IEBAIGRlc2NyaWJlKCcvYXBpL3Vw
bG9hZGVkLWZpbGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICByZXR1cm4gUHJpdmlsZWdl
ZEFQSS5zZW5kUmVxdWVzdCgndXBsb2FkLWZpbGUnLCB7bmV3RmlsZTogc3RyZWFtfSwge3VzZUZv
cm1EYXRhOiB0cnVlfSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAg
ICAgICBjb25zdCBpZCA9IHJlc3BvbnNlWyd1cGxvYWRlZEZpbGUnXVsnaWQnXTsKLSAgICAgICAg
ICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnNlbmRIdHRwUmVxdWVzdChgL2FwaS91
cGxvYWRlZC1maWxlLyR7aWR9YCwgJ0dFVCcsIG51bGwsIG51bGwsIHsnUmFuZ2UnOiAnYnl0ZXM9
NS0nfSk7CisgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5zZW5kSHR0
cFJlcXVlc3QoYC9hcGkvdXBsb2FkZWQtZmlsZS8ke2lkfWAsICdHRVQnLCBudWxsLCBudWxsLCB7
aGVhZGVyczogeydSYW5nZSc6ICdieXRlcz01LSd9fSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3Bv
bnNlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsK
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZS5zdGF0dXNDb2RlLCAyMDYpOwpAQCAt
MTUyLDcgKzE1Miw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZGVkLWZpbGUnLCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgndXBsb2Fk
LWZpbGUnLCB7bmV3RmlsZTogc3RyZWFtfSwge3VzZUZvcm1EYXRhOiB0cnVlfSk7CiAgICAgICAg
IH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBpZCA9IHJlc3BvbnNl
Wyd1cGxvYWRlZEZpbGUnXVsnaWQnXTsKLSAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLnNlbmRIdHRwUmVxdWVzdChgL2FwaS91cGxvYWRlZC1maWxlLyR7aWR9YCwgJ0dF
VCcsIG51bGwsIG51bGwsIHsnUmFuZ2UnOiAnYnl0ZXM9NC05J30pOworICAgICAgICAgICAgcmV0
dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBSZXF1ZXN0KGAvYXBpL3VwbG9hZGVk
LWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwge2hlYWRlcnM6IHsnUmFuZ2UnOiAnYnl0
ZXM9NC05J319KTsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAg
IGNvbnN0IGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzOwogICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHJlc3BvbnNlLnN0YXR1c0NvZGUsIDIwNik7CkBAIC0xNjYsNyArMTY2LDcgQEAgZGVzY3Jp
YmUoJy9hcGkvdXBsb2FkZWQtZmlsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIHJldHVy
biBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1ZXN0KCd1cGxvYWQtZmlsZScsIHtuZXdGaWxlOiBzdHJl
YW19LCB7dXNlRm9ybURhdGE6IHRydWV9KTsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+
IHsKICAgICAgICAgICAgIGNvbnN0IGlkID0gcmVzcG9uc2VbJ3VwbG9hZGVkRmlsZSddWydpZCdd
OwotICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBSZXF1
ZXN0KGAvYXBpL3VwbG9hZGVkLWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwgeydSYW5n
ZSc6ICdieXRlcz0tNCd9KTsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQ
SSgpLnNlbmRIdHRwUmVxdWVzdChgL2FwaS91cGxvYWRlZC1maWxlLyR7aWR9YCwgJ0dFVCcsIG51
bGwsIG51bGwsIHtoZWFkZXJzOiB7J1JhbmdlJzogJ2J5dGVzPS00J319KTsKICAgICAgICAgfSku
dGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSByZXNwb25z
ZS5oZWFkZXJzOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlLnN0YXR1c0NvZGUs
IDIwNik7CkBAIC0xODAsNyArMTgwLDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBsb2FkZWQtZmlsZScs
IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIHJldHVybiBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1
ZXN0KCd1cGxvYWQtZmlsZScsIHtuZXdGaWxlOiBzdHJlYW19LCB7dXNlRm9ybURhdGE6IHRydWV9
KTsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGlk
ID0gcmVzcG9uc2VbJ3VwbG9hZGVkRmlsZSddWydpZCddOwotICAgICAgICAgICAgcmV0dXJuIFRl
c3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBSZXF1ZXN0KGAvYXBpL3VwbG9hZGVkLWZpbGUv
JHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwgeydSYW5nZSc6ICdieXRlcz0tMTAwJ30pOworICAg
ICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBSZXF1ZXN0KGAv
YXBpL3VwbG9hZGVkLWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwge2hlYWRlcnM6IHsn
UmFuZ2UnOiAnYnl0ZXM9LTEwMCd9fSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7
CiAgICAgICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsKICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXNwb25zZS5zdGF0dXNDb2RlLCAyMDYpOwpAQCAtMTk0LDcgKzE5
NCw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZGVkLWZpbGUnLCBmdW5jdGlvbiAoKSB7CiAgICAg
ICAgICAgICByZXR1cm4gUHJpdmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgndXBsb2FkLWZpbGUnLCB7
bmV3RmlsZTogc3RyZWFtfSwge3VzZUZvcm1EYXRhOiB0cnVlfSk7CiAgICAgICAgIH0pLnRoZW4o
KHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBpZCA9IHJlc3BvbnNlWyd1cGxvYWRl
ZEZpbGUnXVsnaWQnXTsKLSAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgp
LnNlbmRIdHRwUmVxdWVzdChgL2FwaS91cGxvYWRlZC1maWxlLyR7aWR9YCwgJ0dFVCcsIG51bGws
IG51bGwsIHsnUmFuZ2UnOiAnYnl0ZXM9MTItJ30pCisgICAgICAgICAgICByZXR1cm4gVGVzdFNl
cnZlci5yZW1vdGVBUEkoKS5zZW5kSHR0cFJlcXVlc3QoYC9hcGkvdXBsb2FkZWQtZmlsZS8ke2lk
fWAsICdHRVQnLCBudWxsLCBudWxsLCB7aGVhZGVyczogeydSYW5nZSc6ICdieXRlcz0xMi0nfX0p
CiAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gYXNzZXJ0KGZhbHNlLCAnc2hvdWxkIG5ldmVy
IGJlIHJlYWNoZWQnKSwgKGVycm9yKSA9PiBhc3NlcnQuZXF1YWwoZXJyb3IsIDQxNikpOwogICAg
ICAgICB9KTsKICAgICB9KTsKQEAgLTIwNCw3ICsyMDQsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxv
YWRlZC1maWxlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgcmV0dXJuIFByaXZpbGVnZWRB
UEkuc2VuZFJlcXVlc3QoJ3VwbG9hZC1maWxlJywge25ld0ZpbGU6IHN0cmVhbX0sIHt1c2VGb3Jt
RGF0YTogdHJ1ZX0pOwogICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewogICAgICAgICAg
ICAgY29uc3QgaWQgPSByZXNwb25zZVsndXBsb2FkZWRGaWxlJ11bJ2lkJ107Ci0gICAgICAgICAg
ICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5zZW5kSHR0cFJlcXVlc3QoYC9hcGkvdXBs
b2FkZWQtZmlsZS8ke2lkfWAsICdHRVQnLCBudWxsLCBudWxsLCB7J1JhbmdlJzogJ2J5dGVzPTIt
MSd9KQorICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBS
ZXF1ZXN0KGAvYXBpL3VwbG9hZGVkLWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwge2hl
YWRlcnM6IHsnUmFuZ2UnOiAnYnl0ZXM9Mi0xJ319KQogICAgICAgICAgICAgICAgIC50aGVuKCgp
ID0+IGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyksIChlcnJvcikgPT4g
YXNzZXJ0LmVxdWFsKGVycm9yLCA0MTYpKTsKICAgICAgICAgfSk7CiAgICAgfSk7CkBAIC0yMjAs
NyArMjIwLDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBsb2FkZWQtZmlsZScsIGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZS5zdGF0dXNDb2RlLCAyMDApOwogICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlLnJlc3BvbnNlVGV4dCwgJ3NvbWUgY29udGVu
dCcpOwogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBS
ZXF1ZXN0KGAvYXBpL3VwbG9hZGVkLWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwKLSAg
ICAgICAgICAgICAgICB7J1JhbmdlJzogJ2J5dGVzID0gOS0xMCcsICdJZi1SYW5nZSc6IHJlc3Bv
bnNlLmhlYWRlcnNbJ2xhc3QtbW9kaWZpZWQnXX0pOworICAgICAgICAgICAgICAgIHtoZWFkZXJz
OiB7J1JhbmdlJzogJ2J5dGVzID0gOS0xMCcsICdJZi1SYW5nZSc6IHJlc3BvbnNlLmhlYWRlcnNb
J2xhc3QtbW9kaWZpZWQnXX19KTsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKICAg
ICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzOwogICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlc3BvbnNlLnN0YXR1c0NvZGUsIDIwNik7CkBAIC0yNDAsNyArMjQwLDcg
QEAgZGVzY3JpYmUoJy9hcGkvdXBsb2FkZWQtZmlsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXNwb25zZS5zdGF0dXNDb2RlLCAyMDApOwogICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlc3BvbnNlLnJlc3BvbnNlVGV4dCwgJ3NvbWUgY29udGVudCcpOwogICAg
ICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBSZXF1ZXN0KGAv
YXBpL3VwbG9hZGVkLWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwKLSAgICAgICAgICAg
ICAgICB7J1JhbmdlJzogJ2J5dGVzID0gOS0xMCcsICdJZi1SYW5nZSc6IHJlc3BvbnNlLmhlYWRl
cnNbJ2V0YWcnXX0pOworICAgICAgICAgICAgICAgIHtoZWFkZXJzOiB7J1JhbmdlJzogJ2J5dGVz
ID0gOS0xMCcsICdJZi1SYW5nZSc6IHJlc3BvbnNlLmhlYWRlcnNbJ2V0YWcnXX19KTsKICAgICAg
ICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBy
ZXNwb25zZS5oZWFkZXJzOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlLnN0YXR1
c0NvZGUsIDIwNik7CkBAIC0yOTcsNyArMjk3LDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBsb2FkZWQt
ZmlsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKICAg
ICAgICAgICAgIGlkID0gcmVzcG9uc2VbJ3VwbG9hZGVkRmlsZSddWydpZCddOwogICAgICAgICAg
ICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuc2VuZEh0dHBSZXF1ZXN0KGAvYXBpL3Vw
bG9hZGVkLWZpbGUvJHtpZH1gLCAnR0VUJywgbnVsbCwgbnVsbCwKLSAgICAgICAgICAgICAgICB7
J1JhbmdlJzogYGJ5dGVzID0gJHtzdGFydEJ5dGV9LSR7ZW5kQnl0ZX1gfSwgcmVzcG9uc2VIYW5k
bGVyKTsKKyAgICAgICAgICAgICAgICB7aGVhZGVyczogeydSYW5nZSc6IGBieXRlcyA9ICR7c3Rh
cnRCeXRlfS0ke2VuZEJ5dGV9YH0sIHJlc3BvbnNlSGFuZGxlcn0pOwogICAgICAgICB9KS50aGVu
KChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IHJlc3BvbnNlLmhl
YWRlcnM7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2Uuc3RhdHVzQ29kZSwgMjA2
KTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9yZW1vdGUu
anMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvcmVtb3RlLmpzCmluZGV4IDlk
OWZiOTk4OTE5NTljNWQwYWU1MGEwNzg4ZDZiODk4MGU1YTkwYzMuLjlkMjAyNThkNjg4NTRjN2Iw
NGQxODcxZjBlYThiZWQ0YTkzMzg5NzAgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy90b29scy9qcy9yZW1vdGUuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rv
b2xzL2pzL3JlbW90ZS5qcwpAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBOb2RlUmVtb3RlQVBJIGV4
dGVuZHMgQ29tbW9uUmVtb3RlQVBJIHsKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgc2VuZEh0
dHBSZXF1ZXN0KHBhdGgsIG1ldGhvZCwgY29udGVudFR5cGUsIGNvbnRlbnQsIGhlYWRlcnMgPSB7
fSwgcmVzcG9uc2VIYW5kbGVyID0gbnVsbCkKKyAgICBzZW5kSHR0cFJlcXVlc3QocGF0aCwgbWV0
aG9kLCBjb250ZW50VHlwZSwgY29udGVudCwgcmVxdWVzdE9wdGlvbnMgPSB7fSkKICAgICB7CiAg
ICAgICAgIGxldCBzZXJ2ZXIgPSB0aGlzLl9zZXJ2ZXI7CiAgICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CkBAIC03OCw4ICs3OCw4IEBAIGNsYXNzIE5vZGVS
ZW1vdGVBUEkgZXh0ZW5kcyBDb21tb25SZW1vdGVBUEkgewogCiAgICAgICAgICAgICBsZXQgcmVx
dWVzdCA9IChzZXJ2ZXIuc2NoZW1lID09ICdodHRwJyA/IGh0dHAgOiBodHRwcykucmVxdWVzdChv
cHRpb25zLCAocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VUZXh0
ID0gJyc7Ci0gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlSGFuZGxlcikKLSAgICAgICAgICAg
ICAgICAgICAgcmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlKTsKKyAgICAgICAgICAgICAgICBpZiAo
cmVxdWVzdE9wdGlvbnMucmVzcG9uc2VIYW5kbGVyKQorICAgICAgICAgICAgICAgICAgICByZXF1
ZXN0T3B0aW9ucy5yZXNwb25zZUhhbmRsZXIocmVzcG9uc2UpOwogICAgICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRFbmNvZGluZygndXRmOCcpOwog
ICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5vbignZGF0YScsIChjaHVuaykgPT4geyByZXNw
b25zZVRleHQgKz0gY2h1bms7IH0pOwpAQCAtMTA2LDggKzEwNiwxMSBAQCBjbGFzcyBOb2RlUmVt
b3RlQVBJIGV4dGVuZHMgQ29tbW9uUmVtb3RlQVBJIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9j
b29raWVzLnNpemUpCiAgICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRIZWFkZXIoJ0Nvb2tpZScs
IEFycmF5LmZyb20odGhpcy5fY29va2llcy5rZXlzKCkpLm1hcCgoa2V5KSA9PiBgJHtrZXl9PSR7
dGhpcy5fY29va2llcy5nZXQoa2V5KX1gKS5qb2luKCc7ICcpKTsKIAotICAgICAgICAgICAgZm9y
IChsZXQgaGVhZGVyTmFtZSBpbiBoZWFkZXJzKQotICAgICAgICAgICAgICAgIHJlcXVlc3Quc2V0
SGVhZGVyKGhlYWRlck5hbWUsIGhlYWRlcnNbaGVhZGVyTmFtZV0pOworICAgICAgICAgICAgaWYg
KHJlcXVlc3RPcHRpb25zLmhlYWRlcnMpIHsKKyAgICAgICAgICAgICAgICBjb25zdCByZXF1ZXN0
SGVhZGVycyA9IHJlcXVlc3RPcHRpb25zLmhlYWRlcnM7CisgICAgICAgICAgICAgICAgZm9yIChs
ZXQgaGVhZGVyTmFtZSBpbiByZXF1ZXN0SGVhZGVycykKKyAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdC5zZXRIZWFkZXIoaGVhZGVyTmFtZSwgcmVxdWVzdEhlYWRlcnNbaGVhZGVyTmFtZV0pOwor
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIEZ1bmN0
aW9uKQogICAgICAgICAgICAgICAgIGNvbnRlbnQocmVxdWVzdCk7CkBAIC0xMTksMTEgKzEyMiwx
MSBAQCBjbGFzcyBOb2RlUmVtb3RlQVBJIGV4dGVuZHMgQ29tbW9uUmVtb3RlQVBJIHsKICAgICAg
ICAgfSk7CiAgICAgfQogCi0gICAgc2VuZEh0dHBSZXF1ZXN0V2l0aEZvcm1EYXRhKHBhdGgsIGZv
cm1EYXRhKQorICAgIHNlbmRIdHRwUmVxdWVzdFdpdGhGb3JtRGF0YShwYXRoLCBmb3JtRGF0YSwg
b3B0aW9ucykKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLnNlbmRIdHRwUmVxdWVzdChwYXRo
LCAnUE9TVCcsIGBtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0ke2Zvcm1EYXRhLmdldEJv
dW5kYXJ5KCl9YCwgKHJlcXVlc3QpID0+IHsKICAgICAgICAgICAgIGZvcm1EYXRhLnBpcGUocmVx
dWVzdCk7Ci0gICAgICAgIH0pOworICAgICAgICB9LCBvcHRpb25zKTsKICAgICB9CiAKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>